Penggunaan structure nama_structur.nama_variabel
Deklarasi Structure dalam Borland C++ :
struct
{
elemen structure ;
….
….
} nama_tipe_structure ;
Contoh Soal:
1.Buat dua struct dengan ketentuan :
struct Film : judul, genre, jenis dan lama.
struct Penyewa : tanggal, nama dan jumlah sewa.
2. Harga Sewa ditentukan berdasarkan Jenis.
New Release = 5000
Recent Release = 3000
Katalog = 2000
3. Subtotal = Harga Sewa x Lama Sewa.
4. Total Bayar = Total dari Subtotal.
5. Potongan ditentukan berdasarkan jumlah DVD yang disewa.
6. Jika Jumlah DVD yang disewa lebih dari 5 maka akan mendapat potongan 10% dari Total Bayar, selain itu tidak mendapat potongan.
7. Jumlah Bayar = Total Bayar – Potongan.
Tampilan Input yang dikehendaki:
SE7EN Season DVD Rental
------------------------------------------------------------------------
Tanggal Sewa : >>input
Nama Penyewa : >>input
Masukkan Jumlah Sewa : >>input
------------------------------------------------------------------------
Data DVD Ke – n
Judul Film : >>input
Genre : >>input
Jenis
[1] New Release
[2] Recent Release
[3] Katalog
Pilih Jenis Film : >>input
Lama Sewa : >>input
Tampilan Output Yang dikehendaki :
SE7EN Season DVD Rental
--------------------------------------------
Tanggal Sewa :
//Nama file: tugasstruct1.cpp
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <iomanip.h>
#include <string.h>
#define GARIS "-------------------------------------------------------------------------\n"
struct {
char judul[10][30],jenis[10][20],genre[10][20];
int kdfilm[10],lama[10],harga[10];}film;
struct{
char nama[30];
int dd,mm,yy,jlhsewa;}penyewa;
main()
{long subtotal[10],total=0,disc,netbayar;
int i;
cout<<"\t\t\tSE7VEN SEASONS DVD RENTAL\n";
cout<<GARIS;
cout<<"Tanggal sewa\n";
errtgl:
cout<<"Masukkan Tanggal [1-31] : ";cin>>penyewa.dd;
if (penyewa.dd<1||penyewa.dd>31)
{cout<<"Tanggal salah, input 1-31\n";
goto errtgl;}
cout<<"Masukkan Bulan [1-12] : ";cin>>penyewa.mm;
if (penyewa.mm<1||penyewa.mm>12)
{cout<<"Bulan salah, input 1-12\n";
goto errtgl;}
cout<<"Masukkan Tahun [yyyy] : ";cin>>penyewa.yy;
cout<<endl;
cout<<"Nama Penyewa : ";gets(penyewa.nama);
cout<<"Jumlah Sewa : ";cin>>penyewa.jlhsewa;
cout<<GARIS;
for (i=1;i<=penyewa.jlhsewa;i++)
{cout<<"\nData DVD ke-"<<i<<endl;
cout<<"Judul Film : ";gets(film.judul[i]);
cout<<"Genre : ";gets(film.genre[i]);
ulang:
cout<<"Jenis :\n";
cout<<"[1] New Release\n";
cout<<"[2] Recent Katalog\n";
cout<<"[3] Katalog\n";
cout<<"Pilih Jenis Film : ";cin>>film.kdfilm[i];
if (film.kdfilm[i]==1)
{strcpy(film.jenis[i],"New Release");
film.harga[i]=5000;}
else if (film.kdfilm[i]==2)
{strcpy(film.jenis[i],"Recent Katalog");
film.harga[i]=3000;}
else if (film.kdfilm[i]==3)
{strcpy(film.jenis[i],"Katalog");
film.harga[i]=2000;}
else
{cout<<"Kode yang anda masukkan Salah, Silahkan Ulangi\n";
goto ulang;}
cout<<"Lama Sewa [hari] : ";cin>>film.lama[i];
subtotal[i]=film.harga[i]*film.lama[i];
total += subtotal[i];
}
if (penyewa.jlhsewa>5)
disc=0.1*total;
else
disc=0;
netbayar =total-disc;
//output
clrscr();
cout<<"\nSE7VEN SEASONS DVD RENTAL\n";
cout<<"--------------------------\n";
cout<<"Tanggal Sewa : "<<penyewa.dd<<'/'<<penyewa.mm<<'/'<<penyewa.yy<<endl;
cout<<"Nama Penyewa : "<<penyewa.nama<<endl;
cout<<GARIS;
cout<<"No Judul Film Genre Jenis Harga Lama Subtotal\n" ;
cout<<GARIS;
for (i=1;i<=penyewa.jlhsewa;i++)
{cout<<setiosflags(ios::left)<<setw(4)<<i;
cout<<setiosflags(ios::left)<<setw(20)<<film.judul[i];
cout<<setiosflags(ios::left)<<setw(10)<<film.genre[i];
cout<<setiosflags(ios::left)<<setw(15)<<film.jenis[i];
cout<<setiosflags(ios::left)<<setw(12)<<film.harga[i];
cout<<setiosflags(ios::left)<<setw(4)<<film.lama[i];
cout<<setiosflags(ios::left)<<setw(15)<<subtotal[i]<<endl;}
cout<<GARIS;
cout<<"Total Bayar : "<<"Rp. "<<total<<endl;
cout<<"Potongan : "<<"Rp. "<<disc<<endl;
cout<<"Jumlah Bayar : "<<"Rp. "<<netbayar<<endl;
getch();
}
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <iomanip.h>
#include <string.h>
#define GARIS "-------------------------------------------------------------------------\n"
struct {
char judul[10][30],jenis[10][20],genre[10][20];
int kdfilm[10],lama[10],harga[10];}film;
struct{
char nama[30];
int dd,mm,yy,jlhsewa;}penyewa;
main()
{long subtotal[10],total=0,disc,netbayar;
int i;
cout<<"\t\t\tSE7VEN SEASONS DVD RENTAL\n";
cout<<GARIS;
cout<<"Tanggal sewa\n";
errtgl:
cout<<"Masukkan Tanggal [1-31] : ";cin>>penyewa.dd;
if (penyewa.dd<1||penyewa.dd>31)
{cout<<"Tanggal salah, input 1-31\n";
goto errtgl;}
cout<<"Masukkan Bulan [1-12] : ";cin>>penyewa.mm;
if (penyewa.mm<1||penyewa.mm>12)
{cout<<"Bulan salah, input 1-12\n";
goto errtgl;}
cout<<"Masukkan Tahun [yyyy] : ";cin>>penyewa.yy;
cout<<endl;
cout<<"Nama Penyewa : ";gets(penyewa.nama);
cout<<"Jumlah Sewa : ";cin>>penyewa.jlhsewa;
cout<<GARIS;
for (i=1;i<=penyewa.jlhsewa;i++)
{cout<<"\nData DVD ke-"<<i<<endl;
cout<<"Judul Film : ";gets(film.judul[i]);
cout<<"Genre : ";gets(film.genre[i]);
ulang:
cout<<"Jenis :\n";
cout<<"[1] New Release\n";
cout<<"[2] Recent Katalog\n";
cout<<"[3] Katalog\n";
cout<<"Pilih Jenis Film : ";cin>>film.kdfilm[i];
if (film.kdfilm[i]==1)
{strcpy(film.jenis[i],"New Release");
film.harga[i]=5000;}
else if (film.kdfilm[i]==2)
{strcpy(film.jenis[i],"Recent Katalog");
film.harga[i]=3000;}
else if (film.kdfilm[i]==3)
{strcpy(film.jenis[i],"Katalog");
film.harga[i]=2000;}
else
{cout<<"Kode yang anda masukkan Salah, Silahkan Ulangi\n";
goto ulang;}
cout<<"Lama Sewa [hari] : ";cin>>film.lama[i];
subtotal[i]=film.harga[i]*film.lama[i];
total += subtotal[i];
}
if (penyewa.jlhsewa>5)
disc=0.1*total;
else
disc=0;
netbayar =total-disc;
//output
clrscr();
cout<<"\nSE7VEN SEASONS DVD RENTAL\n";
cout<<"--------------------------\n";
cout<<"Tanggal Sewa : "<<penyewa.dd<<'/'<<penyewa.mm<<'/'<<penyewa.yy<<endl;
cout<<"Nama Penyewa : "<<penyewa.nama<<endl;
cout<<GARIS;
cout<<"No Judul Film Genre Jenis Harga Lama Subtotal\n" ;
cout<<GARIS;
for (i=1;i<=penyewa.jlhsewa;i++)
{cout<<setiosflags(ios::left)<<setw(4)<<i;
cout<<setiosflags(ios::left)<<setw(20)<<film.judul[i];
cout<<setiosflags(ios::left)<<setw(10)<<film.genre[i];
cout<<setiosflags(ios::left)<<setw(15)<<film.jenis[i];
cout<<setiosflags(ios::left)<<setw(12)<<film.harga[i];
cout<<setiosflags(ios::left)<<setw(4)<<film.lama[i];
cout<<setiosflags(ios::left)<<setw(15)<<subtotal[i]<<endl;}
cout<<GARIS;
cout<<"Total Bayar : "<<"Rp. "<<total<<endl;
cout<<"Potongan : "<<"Rp. "<<disc<<endl;
cout<<"Jumlah Bayar : "<<"Rp. "<<netbayar<<endl;
getch();
}
Cukup sekian dulu sobat dantocom untuk trik hari ini. Semoga bermanfaat.