Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Dasproc C - 2019
- William Handi Wijaya
- 0087
- Program untuk memasukan, mencari, dan melihat
- isi dari suatu database perpustakaan.
- */
- #include <stdio.h>
- #include <string.h>
- typedef struct
- {
- char J[101];
- char P[101];
- int E;
- int T;
- } data;
- data perpus[100];
- int x = 0;
- void insert();
- void search();
- void show_all();
- int main(void)
- {
- int n1;
- while(1)
- {
- scanf("%d", &n1);
- switch(n1)
- {
- case 1:
- insert();
- printf("Buku berhasil ditambahkan.\n");
- break;
- case 2:
- search();
- break;
- case 3:
- show_all();
- break;
- case 0:
- return 0;
- default:
- break;
- }
- }
- return 0;
- }
- void insert()
- {
- getchar();
- gets(perpus[x].J);
- gets(perpus[x].P);
- scanf("%d", &perpus[x].E);
- scanf("%d", &perpus[x].T);
- x++;
- return;
- }
- void search()
- {
- int n2;
- scanf("%d", &n2);
- int year;
- char tmp[101];
- int a = 0;
- switch(n2)
- {
- case 1:
- getchar();
- gets(tmp);
- for (int i = 0; i < x; i++)
- {
- if (strcmp(perpus[i].J, tmp) == 0)
- {
- printf("%s. '%s' edisi %d. %d\n", perpus[i].P,
- perpus[i].J, perpus[i].E, perpus[i].T);
- a++;
- }
- }
- printf("%d buku dengan judul '%s' ditemukan.\n", a, tmp);
- break;
- case 2:
- getchar();
- gets(tmp);
- for (int i = 0; i < x; i++)
- {
- if (strcmp(perpus[i].P, tmp) == 0)
- {
- printf("%s. '%s' edisi %d. %d\n", perpus[i].P,
- perpus[i].J, perpus[i].E, perpus[i].T);
- a++;
- }
- }
- printf("%d buku dengan penulis '%s' ditemukan.\n", a, tmp);
- break;
- case 3:
- scanf("%d", &year);
- for (int i = 0; i < x; i++)
- {
- if (perpus[i].T == year)
- {
- printf("%s. '%s' edisi %d. %d\n", perpus[i].P,
- perpus[i].J, perpus[i].E, perpus[i].T);
- a++;
- }
- }
- printf("%d buku dengan tahun '%d' ditemukan.\n", a, year);
- break;
- default:
- break;
- }
- }
- void show_all()
- {
- printf("Book List\n");
- for (int i = 0; i < x; i++)
- {
- printf("%s. '%s' edisi %d. %d\n", perpus[i].P,
- perpus[i].J, perpus[i].E, perpus[i].T);
- }
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment