Minggu, 29 April 2012

Structures

structure adalah suatu himpunan dari berberapa type data yang berbeda
dikelompokan menjadi satu deklarasi yang unik. Bentuknya adalah sebagai berikut: 

typedef struct model_name {
  type1 element1;
  type2 element2;
  type3 element3;
  .
  .
} object_name;

dimana model_name adalah nama untuk model structure type dan object_name bersifat
optional sebagai variabel dengan structure object tersebut. Diantara curly brackets { }
adalah type dan sub-identifiers yang bersesuaian dengan elemen-elemen yang
membentuk structure tersebut. 
Contoh :



#include<iostream.h>
#include<conio.h>
#include<stdio.h>
typedef struct { char nama[20];
            char kota[20];
         int gaji;
         char status;
         int tunjangan;
         int total;
         }data;

data asdos;
data dosen;
data ob;
main()
{
//input data asdos
cout<<"Masukkan Nama Asdos         :"; gets(asdos.nama);
cout<<"Masukkan asal kota Asdos    :"; gets(asdos.kota);
cout<<"Masukkan gaji pokok Asdos   :"; cin>>asdos.gaji;

//input data dosen
cout<<"\nMasukkan Nama Dosen         :"; gets(dosen.nama);
cout<<"Masukkan asal kota Dosen    :"; gets(dosen.kota);
cout<<"Masukkan gaji pokok Dosen   :"; cin>>dosen. gaji;
cout<<"Masukkan status(menikah(m)/lajang(l)) :"; cin>>dosen.status;

//input data OB
cout<<"\nMasukkan Nama OB            :"; gets(ob.nama);
cout<<"Masukkan asal kota OB       :"; gets(ob.kota);
cout<<"Masukkan gaji pokok OB      :"; cin>>ob.gaji;
cout<<"Masukkan status(menikah(m)/lajang(l)) :"; cin>>ob.status;

asdos.tunjangan=0;
//proses perhitungan gaji tunjangan dosen
if (dosen.status=='M'||dosen.status=='m')
{
    dosen.tunjangan=0.2*dosen.gaji;
}
else if(dosen.status=='L'||dosen.status=='l')
{
    dosen.tunjangan=0;
}

//proses perhitungan gaji tunjangan OB
if (ob.status=='M'||ob.status=='m')
{
    ob.tunjangan=0.05*ob.gaji;
}
else if(ob.status=='L'||ob.status=='l')
{
    ob.tunjangan=0;
}

//perhitungan gaji total asdos
asdos.total=asdos.tunjangan+asdos.gaji;

//perhitungan gaji total dosen
dosen.total=dosen.tunjangan+dosen.gaji;

//perhitungan gaji total ob
ob.total=ob.tunjangan+ob.gaji;


//output data mahasiswa
cout<<"Nama Asdos       : "<<asdos.nama<<endl;
cout<<"Asal Asdos       : "<<asdos.kota<<endl;
cout<<"Gaji Pokok Asdos : "<<asdos.gaji<<endl;
cout<<"Tunjangan Gaji   : "<<asdos.tunjangan<<endl;
cout<<"Gaji Total       : "<<asdos.total<<endl;

//output data dosen
cout<<"\nNama Dosen       : "<<dosen.nama<<endl;
cout<<"Asal Dosen       : "<<dosen.kota<<endl;
cout<<"Gaji Pokok Dosen : "<<dosen.gaji<<endl;
cout<<"Tunjangan Gaji   : "<<dosen.tunjangan<<endl;
cout<<"Gaji Total       : "<<dosen.total<<endl;

//output data OB
cout<<"\nNama OB          : "<<ob.nama<<endl;
cout<<"Asal OB          : "<<ob.kota<<endl;
cout<<"Gaji Pokok OB    : "<<ob.gaji<<endl;
cout<<"Tunjangan Gaji   : "<<ob.tunjangan<<endl;
cout<<"Gaji Total       : "<<ob.total<<endl;

getch();
}

Hasilnya:



0 komentar:

Posting Komentar