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 ... 
Next Post Previous Post
No Comment
Add Comment
comment url