Minggu, 09 Februari 2014

Coding Program Daftar Peminjam Buku



Nah, kali ini author akan share program tentang pendataan orang yang meminjam buku di perpustakaan, berikut programmnya, maaf kalau terlalu panjang :D :

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int j=0,k=0,axc=0,xc=0,g=0,f=1,ch,gargaran,h=0,z=0;
char ulang,hapus;
int main (void)
{
    int pilih;
    struct data_peminjam
    {
        char nomor[50];
        char tanggal[50];
        char nama[50];
        char buku[50];
        char waktu[50];
    };
    struct data_buku
    {
        char nomor[50];
        char judul[100];
        char peminjam[50];
        char kembali[50];
    };
    struct data_peminjam data_orang[50];
    struct data_buku data_book[50];
    char a='y';
    while(a=='y'||a=='Y')
    {
    a='x';
    axc:
    printf ("\n\n\t===========<MENU UTAMA>===========\n");
    printf ("\t||                ||\n");
    printf ("\t|| 1. Masukkan Data Peminjam     ||\n");
    printf ("\t|| 2. Masukkan Data Buku    ||\n");
    printf ("\t|| 3. Cetak Data Peminjam    ||\n");
    printf ("\t|| 4. Cetak Data Buku        ||\n");
    printf ("\t|| 5. Hapus Semua Data        ||\n");
    printf ("\t||                ||\n");
    printf ("\t=== Input Karakter Tanpa Spasi ===\n");
    printf ("\t==== Created By : Duan & Tewe ====\n\n");
    printf ("\tPilihan Anda :\t");scanf("%d",&pilih);
    int data;
    menu:
    switch (pilih)
    {
    case 1:
        axc=1;
        do
        {
        printf ("Berapa banyak data:\t");scanf("%d",&data);
        for (int i=1;i<=data;i++)
        {
            j=j+1;
            printf("======<       >======\nMasukkan Data Peminjam:\n");
            printf("Nomor \t:\t\t");
            scanf("%s",&data_orang[j].nomor);
            printf("Tanggal :\t\t");
            scanf("%s",&data_orang[j].tanggal);
            printf("Nama \t:\t\t");
            scanf("%s",&data_orang[j].nama);
            printf("Buku\t:\t\t");
            scanf("%s",&data_orang[j].buku);
            printf("Waktu\t:\t\t");
            scanf("%s",&data_orang[j].waktu);
            printf("======<       >======\n");
        }
        printf ("Apakah mau diulang? (Y/N)");scanf("%s",&ulang);
        if(ulang=='n'||ulang=='N'){a='y';}
        }while (ulang=='y'||ulang=='Y');
        break;
    case 2:
        xc=1;
        do
        {
        printf ("Berapa banyak data:\t");scanf("%d",&data);
        for (int i=1;i<=data;i++)
        {
            k=k+1;
            printf("======<       >======\nMasukkan Data Buku:\n");
            printf("Nomor \t:\t\t");
            scanf("%s",&data_book[k].nomor);
            printf("Judul \t:\t\t");
            scanf("%s",&data_book[k].judul);
            printf("Peminjam:\t\t");
            scanf("%s",&data_book[k].peminjam);
            printf("Kembali\t:\t\t");
            scanf("%s",&data_book[k].kembali);
            printf("======<       >======\n");
        }
        printf ("Apakah mau diulang? (Y/N)");scanf("%s",&ulang);
        if(ulang=='n'||ulang=='N'){a='y';}
        }while (ulang=='y'||ulang=='Y');
        break;
    case 3:
        if(axc==0||j==0)
        {
            printf("\n======< Data Peminjam Belum Dimasukkan >=======\nMasukkan Data Peminjam?(y/n)");
            scanf ("%s",&a);
            if(a=='y'||a=='Y'){pilih=1;goto menu;}
        }
        for (int i=1;i<=j;i++)
        {
            printf("======<    %d    >======\nNomor\t:\t\t%s\n",i,data_orang[i].nomor);
            printf("Tanggal\t:\t\t%s\n",data_orang[i].tanggal);
            printf("Nama\t:\t\t%s\n",data_orang[i].nama);
            printf("Buku\t:\t\t%s\n",data_orang[i].buku);
            printf("Waktu\t:\t\t%s\n======<         >======\n",data_orang[i].waktu,i);
        }
        printf ("Kembali ke menu utama ?(y/n)");scanf("%s",&a);
        break;
    case 4:
        if(xc==0||k==0)
        {
            printf("\n======< Data Buku Belum Dimasukkan >=======\nMasukkan Data Buku?(y/n)");
            scanf ("%s",&a);
            if(a=='y'||a=='Y'){pilih=2;goto menu;}
        }
        for (int i=1;i<=k;i++)
        {
            printf("======<    %d    >======\nNomor\t:\t\t%s\n",i,data_book[i].nomor);
            printf("Judul\t:\t\t%s\n",data_book[i].judul);
            printf("Peminjam:\t\t%s\n",data_book[i].peminjam);
            printf("Kembali\t:\t\t%s\n======<         >======\n",data_book[i].kembali,i);
        }
        printf ("Kembali ke menu utama ?(y/n)");scanf("%s",&a);
        break;
    case 5:
        printf ("Pilih data:\n1. Data Peminjam\n2. Data Buku\n\nPilihan Anda:\t");scanf("%d",&ch);
        if(ch==1)
        {
            if(axc==0||j==0)
            {
                printf("\n======< Data Peminjam Belum Dimasukkan >=======\nKembali ke menu utama?(y/n)\t");
                scanf ("%s",&a);
                if(a=='y'||a=='Y')
                {
                    goto axc;
                }
            }
            printf ("Anda ingin menghapus data peminjam?(y/n)");scanf("%s",&hapus);
            if(hapus=='y'||hapus=='Y')
            {
                j=0;
                printf("\n===< Data Peminjam Sudah Dihapus >===\n\nKembali ke menu utama ?(y/n)");
                scanf("%s",&a);
                if(a=='y'||a=='Y')
                {
                    goto axc;
                }
                if(a=='n'||a=='N')
                {
                    goto axc;
                }
            }
        }
        if(ch==2)
        {
            if(xc==0||k==0)
            {
                printf("\n======< Data Buku Belum Dimasukkan >======\nKembali ke menu utama?(y/n)\t");
                scanf("%s",&a);
                if(a=='y'||a=='Y')
                {
                    goto axc;
                }
            }
            printf ("Anda ingin menghapus data buku?(y/n)");scanf("%s",&hapus);
            if(hapus=='y'||hapus=='Y')
            {
                k=0;
                printf("\n===< Data Buku Sudah Dihapus >===\n\nKembali ke menu utama ?(y/n)");
                scanf("%s",&a);
                if(a=='y'||a=='Y')
                {
                    goto axc;
                }
                else
                {
                    goto axc;
                }
            }
        }
        break;
    default:
        goto axc;
        break;
    }
    }
    getch();
    return 0;
}

1 komentar: