#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<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);
}
}
}
#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
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
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