Advertisement
lpuarmy

Struct 3

Jan 2nd, 2013
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.56 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5. #define MAKS 20
  6.  
  7. struct brg {
  8.     char nama[30];
  9.     float jum, hrg, jumhrg;
  10. };
  11.  
  12. void input(struct brg *in, int *);
  13. void cetak(struct brg *brgs, int);
  14. void bigjum(struct brg [], float *, int);
  15. void highrupiah(struct brg [], float *, int);
  16.  
  17. main() {
  18.     struct brg data_brg[MAKS];
  19.     int n = 0, pil, i;
  20.     float bj, hr;
  21.  
  22.     puts("=============== PERCOBAAN 1 PRAKTIKUM STRUCT 3 ===============\n");
  23.  
  24.     do {
  25.         puts("Pilihan Menu !!\n");
  26.         printf("1. Masukkan barang\n");
  27.         printf("2. Tampilkan data barang\n");
  28.         printf("3. Tampilkan jumlah terbesar\n");
  29.         printf("4. Tampilkan nilai rupiah tertinggi\n");
  30.         printf("0. Keluar\n");
  31.         puts("--------------------------------------------------------------");
  32.         printf("Masukkan pilihan Anda : ");
  33.         fflush(stdin);
  34.         scanf("%d", &pil);
  35.         puts("--------------------------------------------------------------");
  36.        
  37.         switch(pil) {
  38.             case 1  : input(data_brg, &n); break;
  39.             case 2  : cetak(data_brg, n); break;
  40.             case 3  : bigjum(data_brg, &bj, n);
  41.                   for(i=0;i<n;i++) {
  42.                     if(bj == data_brg[i].jum)
  43.                         printf("%d.   %s\t\t   %g\n", i+1, data_brg[i].nama, data_brg[i].jum);
  44.                   }
  45.                   break;
  46.             case 4  : highrupiah(data_brg, &hr, n);
  47.                   for(i=0;i<n;i++) {
  48.                     if(hr == data_brg[i].hrg)
  49.                     printf("%d.   %s\t\t   %g\n", i+1, data_brg[i].nama, data_brg[i].hrg);
  50.                   }
  51.                   break;
  52.         }
  53.         puts("--------------------------------------------------------------");
  54.  
  55.     } while(pil);
  56.  
  57.     getch();
  58.     return 0;
  59. }
  60. void input(struct brg *in, int *k) {
  61.     int i, n, q = 0;
  62.  
  63.     printf("Masukkan jumlah barang : "); scanf("%d", &n);
  64.     puts("--------------------------------------------------------------");
  65.     for(i=0;i<n;i++) {
  66.         fflush(stdin);
  67.         if(*k == 0) {
  68.             printf("%d. Nama barang\t\t: ", i+1); gets(in[i].nama);
  69.             printf("   Jumlah\t\t: "); scanf("%f", &in[i].jum);
  70.             printf("   Harga satuan\t\t: "); scanf("%f", &in[i].hrg);
  71.             in[i].jumhrg = in[i].jum * in[i].hrg;
  72.         } else {
  73.             q = *k;
  74.             printf("%d. Nama barang\t\t: ", i+1); gets(in[q].nama);
  75.             printf("   Jumlah\t\t: "); scanf("%f", &in[q].jum);
  76.             printf("   Harga satuan\t\t: "); scanf("%f", &in[q].hrg);
  77.             in[q].jumhrg = in[q].jum * in[q].hrg;
  78.         }
  79.  
  80.         *k += 1;
  81.     }
  82. }
  83. void cetak(struct brg *brgs, int m) {
  84.     int i;
  85.  
  86.     if(m == 0)
  87.         printf(" Data belum ada! \n");
  88.     else {
  89.         puts("======================== Data Barang =========================");
  90.         puts("No.  Nama\t\t   Jumlah \t  Harga Satuan");
  91.         puts("--------------------------------------------------------------");
  92.        
  93.         for(i=0;i<m;i++) {
  94.             printf("%d.   %s\t\t   %g\t\t  Rp. %g\n", i+1, brgs[i].nama, brgs[i].jum, brgs[i].hrg);
  95.         }
  96.     }
  97. }
  98. void bigjum(struct brg y[], float *b, int n) {
  99.     int i;
  100.  
  101.     if(n == 0)
  102.         printf(" Data belum ada! \n");
  103.     else {
  104.         for(i=0;i<n;i++) {
  105.             if(y[i].jum >= *b)
  106.                 *b = y[i].jum;
  107.         }
  108.         puts("Barang yang memiliki jumlah terbesar adalah :");
  109.         puts("======================== Data Barang ========================");
  110.         puts("No.  Nama\t\t   Jumlah");
  111.         puts("--------------------------------------------------------------");
  112.     }
  113. }
  114. void highrupiah(struct brg z[], float *c, int o) {
  115.     int i;
  116.  
  117.     if(o == 0)
  118.         printf(" Data belum ada! \n");
  119.     else {
  120.         for(i=0;i<o;i++) {
  121.             if(z[i].hrg >= *c)
  122.                 *c = z[i].hrg;
  123.         }
  124.         puts("Barang yang memiliki nilai rupiah tertinggi adalah :");
  125.         puts("======================== Data Barang ========================");
  126.         puts("No.  Nama\t\t   Harga");
  127.         puts("--------------------------------------------------------------");
  128.     }
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement