Rabu, 14 November 2012

contoh script struct


#include<stdio.h>
#include<conio.h>
#include<iostream.h>

main()
{
struct
{
char nim[5];
char nama[15];
float nilai;
} mahasiswa;

clrscr();
cout<<"masukan NIM = ";
cin>>mahasiswa.nim;
cout<<"masukan Nama = ";
cin>>mahasiswa.nama;
cout<<"masukan Nilai Akhir = ";
cin>>mahasiswa.nilai;

clrscr();

cout<<"NIM = "<<mahasiswa.nim<<endl;
cout<<"Nama = "<<mahasiswa.nama<<endl;
cout<<"Nilai Akhir = "<<mahasiswa.nilai<<endl;

getch();
}


#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>

#define max 30 //menentukan nilai max nya 30

struct vcd {
char nama[20];
char genre[30]; //deklarasi stuct
char tipe[20];
int jml;
char harga[30];
} vcd[max];


void init(void) {
register int i;

for(i = 0; i < max; i++)
vcd[i].nama[0] = '\0';
}


int menu(void) {
int pilih;

cout<<"\n++++[ MENU DATA VCD ]++++\n";
cout<<"1. Input \n";
cout<<"2. Hapus \n";
cout<<"3. Baca \n";
cout<<"4. Keluar\n";

do {
cout<<" Pilih : ";
cin >> pilih;
} while(pilih < 0 || pilih > 4);
cout<<"\n";
return pilih;
}

int array_kosong(void) {
register int i;

for(i = 0; vcd[i].nama[0] && i < max; ++i);
if(i == max)
return -1;
return i;
}

void input(void) {
int t;

// melakukan pencarian terhadap index array yang tidak digunakan
t= array_kosong();
//jika penuh
if(t == -1) {
cout<<"\nDaftar Penuh";
return;
}

cout<<"***** Input Data VCD *****\n";
cout<<" Nama VCD\t : ";
gets(vcd[t].nama);
cout<<" Tipe VCD\t : ";
gets(vcd[t].tipe);
cout<<" Genre VCD\t : ";
gets(vcd[t].genre);
cout<<" Jumlah VCD\t : ";
cin >> vcd[t].jml;
cout<<" Harga VCD\t :Rp ";
gets(vcd[t].harga);
}

void hapus(void) {
register int t;

cout<<"Data yang ingin dihapus data ke: ";
cin >>t;
if(t >= 0 && t < max)
vcd[t].nama[0] = '\0';
}

void list(void) {
register int i;

cout<<"***** Daftar VCD *****\n";
for(i = 0; i < max; ++i) {
if(vcd[i].nama[0]) {

cout<<"\n Data VCD ke-"<< i;
cout<<"\n Nama VCD\t: "<<vcd[i].nama;
cout<<"\n Tipe VCD\t: "<< vcd[i].tipe;
cout<<"\n Genre VCD\t: "<< vcd[i].genre;
cout<<"\n Jumlah VCD\t: "<< vcd[i].jml;
cout<<"\n Harga VCD\t: Rp "<<vcd[i].harga;
cout<<"\n--------------------------\n";
}
}
cout<<"\n";
}

int main(void) {
int pilih;

init();
for( ; ; ) { /*for dikosongkan karena perubahan indeks perulangan ada
dibadan loop, dan looping dihentikan dengan break */
pilih = menu();
switch(pilih) {
case 1:
input();
break;
case 2:
hapus();
break;
case 3:
list();
break;
case 4:
exit(0);
}
}
}

Program tersebut terdiri dari beberapa fungsi, berikut ini masing-masing penjelasan dari fungsinya

# fungsi init()
fungsi ini menyiapkan array struct dengan memberikan karakter null pada byte pertama
di field nama pada setiap struct dalam array. Program berasumsi bahwa elemen array
dianggap tidak terpakai bila field nama kosong.

# fungsi menu ()
Fungsi ini akan menampilkan pilihan menu dan mengembalikan nilai yang dipilih oleh
user.

# fungsi array_kosong()
fungsi ini akan mengembalikan nilai -1 bila semua elemen array
digunakan. Nilai -1 adalah angka aman di mana tidak mungkin terdapat index -1 untuk
elemen array.

# fungsi input ()
fungsi yang digunakan untuk melakukan input dari keyboard untuk memasukkan data yang akan dimasukan dalam array struct, pada fungsi ini juga ada pemanggilan fungsi array_kosong untuk mencari array struct yang tidak tergunakan, jika array penuh maka akan menampilkan ==> Daftar penuh

# fungsi hapus ()
fungsi ini akan meminta user untuk memasukan index array yang akan dihapus, sebenarnya metode penghapusan ini adalah dengan memberikan karakter null pada index array tersebut

# fungsi list ()
fungsi ini digunakan untuk menampilkan apa yang telah diinputkan pada saat proses pemanggilan fungsi input di fungsi main

# fungsi main ()
merupakan fungsi utama dari program ini yang memanggil beberapa fungsi diatas untuk menjalankan satu kesatuan program

Contoh :
#include <iostream.h>
void main()
{
   struct keluarga
   {
       char suami[15];
       char istri[15];
       int jumlah_anak;
   };

  keluarga Andi = {“Andi”,”Nina”,3};
  keluarga Budi = {“Budi”,”Ana”,5};
  cout<<”Jumlah anak Bapak Andi “<<Andi.jumlah_anak<<endl;
  cout<<”Istri Bapak Budi ialah “<<Budi.istri<<endl;
}
Keluarannya :
Jumlah anak Bapak Andi 3
Istri Bapak Budi ialah Ana

Array dari Struktur
      Array dari struktur dapat dideklarasikan seperti halnya pendeklarasian array biasa.

Bentuk : nama_array[index]. anggota_struktur;

Contoh :
#include <iostream.h>
void main()
{
   struct mahasiswa
   {
       long nim;
       int nilai;
   };
  
   mahasiswa teknik[3];
   teknik[0].nim = 19500376;
   teknik[0].nilai = 78;
   teknik[1].nim = 19500378;
   teknik[1].nilai = 71;
   teknik[2].nim = 19500276;
   teknik[2].nilai = 76;

   cout<<”NIM                                    NILAI \n”;
   for(int n=0;n<3;n++)
   {
    cout<<teknik[n].nim<<”\t\t”<<teknik[n].nilai<<endl;
   }
 }

Keluarannya :
NIM                             NILAI
19500376                  78
19500378                  71
19500276                  76

Tidak ada komentar:

Posting Komentar