frain8

Untitled

Nov 16th, 2019
384
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.07 KB | None | 0 0
  1. /* Dasproc C - 2019
  2. William Handi Wijaya
  3. 0087
  4.        
  5. Program untuk memasukan, mencari, dan melihat
  6. isi dari suatu database perpustakaan.
  7. */
  8.  
  9. #include <stdio.h>
  10. #include <string.h>
  11.  
  12. typedef struct
  13. {
  14.     char J[101];
  15.     char P[101];
  16.     int E;
  17.     int T;
  18. } data;
  19.  
  20. data perpus[100];
  21. int x = 0;
  22.  
  23. void insert();
  24. void search();
  25. void show_all();
  26.  
  27. int main(void)
  28. {
  29.     int n1;
  30.     while(1)
  31.     {
  32.         scanf("%d", &n1);
  33.         switch(n1)
  34.         {
  35.             case 1:
  36.                 insert();
  37.                 printf("Buku berhasil ditambahkan.\n");
  38.                 break;
  39.             case 2:
  40.                 search();
  41.                 break;
  42.             case 3:
  43.                 show_all();
  44.                 break;
  45.             case 0:
  46.                 return 0;
  47.             default:
  48.                 break;
  49.         }
  50.     }
  51.     return 0;
  52. }
  53.  
  54. void insert()
  55. {
  56.     getchar();
  57.     gets(perpus[x].J);
  58.     gets(perpus[x].P);
  59.    
  60.     scanf("%d", &perpus[x].E);
  61.     scanf("%d", &perpus[x].T);
  62.     x++;
  63.     return;
  64. }
  65.  
  66. void search()
  67. {
  68.     int n2;
  69.     scanf("%d", &n2);
  70.  
  71.     int year;
  72.     char tmp[101];
  73.     int a = 0;
  74.     switch(n2)
  75.     {
  76.         case 1:
  77.             getchar();
  78.             gets(tmp);
  79.             for (int i = 0; i < x; i++)
  80.             {
  81.                 if (strcmp(perpus[i].J, tmp) == 0)
  82.                 {
  83.                     printf("%s. '%s' edisi %d. %d\n", perpus[i].P,
  84.                     perpus[i].J, perpus[i].E, perpus[i].T);
  85.                     a++;
  86.                 }
  87.             }
  88.             printf("%d buku dengan judul '%s' ditemukan.\n", a, tmp);
  89.             break;
  90.         case 2:
  91.             getchar();
  92.             gets(tmp);
  93.             for (int i = 0; i < x; i++)
  94.             {
  95.                 if (strcmp(perpus[i].P, tmp) == 0)
  96.                 {
  97.                     printf("%s. '%s' edisi %d. %d\n", perpus[i].P,
  98.                     perpus[i].J, perpus[i].E, perpus[i].T);
  99.                     a++;
  100.                 }
  101.             }
  102.             printf("%d buku dengan penulis '%s' ditemukan.\n", a, tmp);
  103.             break;
  104.         case 3:
  105.             scanf("%d", &year);
  106.             for (int i = 0; i < x; i++)
  107.             {
  108.                 if (perpus[i].T == year)
  109.                 {
  110.                     printf("%s. '%s' edisi %d. %d\n", perpus[i].P,
  111.                     perpus[i].J, perpus[i].E, perpus[i].T);
  112.                     a++;
  113.                 }
  114.             }
  115.             printf("%d buku dengan tahun '%d' ditemukan.\n", a, year);
  116.             break;
  117.         default:
  118.             break;
  119.     }
  120. }
  121.  
  122. void show_all()
  123. {
  124.     printf("Book List\n");
  125.     for (int i = 0; i < x; i++)
  126.     {
  127.         printf("%s. '%s' edisi %d. %d\n", perpus[i].P,
  128.         perpus[i].J, perpus[i].E, perpus[i].T);
  129.     }
  130.     return;
  131. }
Advertisement
Add Comment
Please, Sign In to add comment