Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<iomanip>
- #include<string>
- using namespace std;
- //Seperti halnya array, struct adalah suatu ADT yang mempunyai data anggota dan operasi, metode atau fungsi anggota.
- //Elemen, member atau field struct diakses menggunakan operator dot atau pointer ->.
- //Bentuk umumnya adalah sebagai berikut:
- //<structure_variabel>.<field_name>
- //<structure_pointer> ® <field_name>
- //Operasi utama di struct adalah store(e) dan retrieve().
- //Operassi store(e) untuk menyimpan elemen e di field i struct s adalah s.i = e
- //sedangkan operasi retrieve() untuk mengambil suatu elemen dari struct s di field i dan disimpan di elemen e adalah e = s.i.
- //a. Diketahui struktur dtMhs dengan tiga data anggota : nim, nama dan IPK serta fungsi anggota store() dan retrieve().
- //Desain class dtMhs berdasarkan uraian di atas dengan ketentuan level akses data anggota adalah private dan level akses fungsi anggota adalah public.
- //Selain itu jangan lupa untuk menambahkan constructor dan destructor pada class tersebut.
- //Dalam desain ini, semua fungsi anggota kecuali constructor dan destructor, harus berbentuk prototype.
- class dtMhs{
- private ://level akses data anggota private
- struct data{
- int nim;//data anggota
- string nama;//data anggota
- double IPK;//data anggota
- }s;
- public:
- dtMhs(){
- s.nim=0;
- s.nama=" ";
- s.IPK=0;
- cout<<"Data Berhasil dibuat"<<endl;
- }//constructor
- ~dtMhs(){
- cout<<"Data Sudah Dihapus";
- cin.get();
- }//destructor
- void store(double IPK,string nama,int nim);//Prototype(SETTER,IMPLEMENTOR)
- void retrieve();//Prototype(ACCESOR,GETTER)
- };
- //b. Selanjutnya definisikan semua fungsi anggota di luar class Struct Ingat jangan lupa untuk menggunakan scope resolution operator ::
- void dtMhs::store(double IPK,string nama,int nim){
- s.IPK=IPK;
- s.nama=nama;
- s.nim=nim;
- }
- void dtMhs::retrieve(){
- cout<<"Nama : "<<s.nama<<endl<<"NIM : "<<s.nim<<endl<<"IPK : "<<setprecision(3)<<s.IPK;
- }
- //c. Terakhir, tulis fungsi main() sebagai driver untuk menguji desain kamu.
- int main(){
- dtMhs s;
- string nama;
- int nim;
- double ipk;
- cout<<"Masukan Nama : ";
- getline(cin,nama);cin.sync();cin.clear();
- cout<<"Masukan NIM : ";
- cin>>nim ;cin.sync();cin.clear();
- cout<<"Masukan IPK : ";
- cin>>ipk ;cin.sync();cin.clear();
- s.store(ipk,nama,nim);
- s.retrieve();
- cin.get();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement