Struct Inventarisasi Buku
Nah looh, dari judulnya aja udah ketauan kalo ini tuh latian yang kedua...
sedikit intermezo. Struct adalah Bentuk struktur data
yang dapa tmenyimpan variabel-variabel dalam 1 nama, namun memiliki tipe data yang
berbeda ataupun sama. Variable-variabel tersebut memiliki kaitan satu sama yang lain. Analoginya gini yaa... ada sebuah tas dan ranjang tas. Isi dari tas bisa kita sebut sebagai elemen-elemen struct yang mempunyai tipe data yang bermacam-macam dan tas itu adalah structnya. Sedangkan ranjang tasnya, bisa kita sebut sebagai array yang bisa menampung tas/struct itu sendiri. Mudeng ga ?? Aku juga ga mudeng soalnya ...:D hhahaha yaudalah langsung sajjah biar tambah mumet :p
ini adalah versi data buku, jadi tinggal edit aja nanti dan jangan lupa tipe data musti disesuaikan...!!!
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
struct
{
int kode_buku;
char nama_buku[20];
int tahun_terbit;
char pengarang[20];
int harga;
}
buku[10];
int main ()
{
int x,a,hapus,z=0,c=0,kode,ketemu,n;
char y;
char t='y';
menu_utama:
system ("cls");
printf ("Perpustakaan Universitas Negeri Semarang\n");
printf ("Menu Utama : \n");
printf ("1. ADD\n");
printf ("2. EDIT\n");
printf ("3. DELETE\n");
printf ("4. VIEW\n");
printf ("Ketik menu yang anda pilih : ");
scanf ("%d",&x);
switch (x)
{
case 1:
while (t=='y')
{
printf ("isikan data buku !\n");
printf ("Kode Buku : ");
scanf ("%d",&buku[c].kode_buku);
fflush(stdin);
printf ("Nama Buku : ");
gets (buku[c].nama_buku);
printf ("Tahun Terbit : ");
scanf ("%d",&buku[c].tahun_terbit);
fflush(stdin);
printf ("Pengarang : ");
gets (buku[c].pengarang);
printf ("Harga : Rp.");
scanf ("%d",&buku[c].harga);
fflush(stdin);
printf ("Ingin menambah data buku?(y/t)");
scanf ("%s",&t);
c++;
z=c;
if (t=='t')
goto menu_utama;
}
break;
case 2:
{
for (a=0;a<z;a++)
{
printf ("Kode Buku : %d\n",buku[a].kode_buku);
printf ("Nama Buku : %s\n",buku[a].nama_buku);
printf ("Tahun Terbit : %d\n",buku[a].tahun_terbit);
printf ("Pengarang : %s\n",buku[a].pengarang);
printf ("Harga : Rp.%d\n",buku[a].harga);
}
printf("ketik kode buku untuk buku yang akan diedit :");
scanf ("%d",&kode);
for (a=0;a<z;a++)
{
if (kode==buku[a].kode_buku)
{
fflush(stdin);
printf ("Nama Buku : ");
gets(buku[a].nama_buku);
printf ("Tahun Terbit : ");
scanf ("%d",&buku[a].tahun_terbit);
fflush(stdin);
printf ("Pengarang : ");
gets (buku[a].pengarang);
printf ("Harga : Rp.");
scanf ("%d",&buku[a].harga);
printf ("Data setelah diedit :\n");
for (a=0;a<z;a++)
{
printf ("Kode Buku : %d\n",buku[a].kode_buku);
printf ("Nama Buku : %s\n",buku[a].nama_buku);
printf ("Tahun Terbit : %d\n",buku[a].tahun_terbit);
printf ("Pengarang : %s\n",buku[a].pengarang);
printf ("Harga : Rp.%d\n",buku[a].harga);
}
ketemu=1;
}
}
if (ketemu!=1)
printf ("Data tidak ada!\n");
}
printf ("Ingin kembali ke menu utama?(y/t)");
scanf ("%s",&t);
if (t=='y')
goto menu_utama;
else exit(0);
break;
case 3:
for (a=0;a<z;a++)
{
printf ("Kode Buku : %d\n",buku[a].kode_buku);
printf ("Nama Buku : %s\n",buku[a].nama_buku);
printf ("Tahun Terbit : %d\n",buku[a].tahun_terbit);
printf ("Pengarang : %s\n",buku[a].pengarang);
printf ("Harga : Rp.%d\n",buku[a].harga);
}
printf ("ketik kode buku untuk buku yang akan dihapus: ");
scanf ("%d",&hapus);
for (a=0;a<z;a++)
{
if (hapus==buku[a].kode_buku)
{
for (n=a-1;n<z-1;n++)
{
buku[a]=buku[n+1];
}
z--;
printf ("Data yang baru :\n");
for (a=1;a<z;a++);
{
printf ("Kode Buku : %d\n",buku[a].kode_buku);
printf ("Nama Buku : %s\n",buku[a].nama_buku);
printf ("Tahun Terbit : %d\n",buku[a].tahun_terbit);
printf ("Pengarang : %s\n",buku[a].pengarang);
printf ("Harga : Rp.%d\n",buku[a].harga);
}
}
ketemu=1;
}
if (ketemu!=1)
printf ("Data tidak ada!\n");
printf ("Ingin kembali ke menu utama?(y/t)");
scanf ("%s",&t);
if (t=='y')
goto menu_utama;
else exit(0);
break;
case 4:
for (a=0;a<z;a++)
{
printf ("Kode Buku : %d\n",buku[a].kode_buku);
printf ("Nama Buku : %s\n",buku[a].nama_buku);
printf ("Tahun Terbit : %d\n",buku[a].tahun_terbit);
printf ("Pengarang : %s\n",buku[a].pengarang);
printf ("Harga : Rp.%d\n",buku[a].harga);
}
printf ("Ingin kembali ke menu utama?(y/t)");
scanf ("%s",&t);
if (t=='y')
goto menu_utama;
else exit(0);
break;
}
return 0;
}
Seperti biasa, jika ada pertanyaan silahkan poskan komentar yaa ...