Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <conio.h>
- #include <string.h>
- #include <stdlib.h>
- #define MAKS 20
- struct brg {
- char nama[30];
- float jum, hrg, jumhrg;
- };
- void input(struct brg *in, int *);
- void cetak(struct brg *brgs, int);
- void bigjum(struct brg [], float *, int);
- void highrupiah(struct brg [], float *, int);
- main() {
- struct brg data_brg[MAKS];
- int n = 0, pil, i;
- float bj, hr;
- puts("=============== PERCOBAAN 1 PRAKTIKUM STRUCT 3 ===============\n");
- do {
- puts("Pilihan Menu !!\n");
- printf("1. Masukkan barang\n");
- printf("2. Tampilkan data barang\n");
- printf("3. Tampilkan jumlah terbesar\n");
- printf("4. Tampilkan nilai rupiah tertinggi\n");
- printf("0. Keluar\n");
- puts("--------------------------------------------------------------");
- printf("Masukkan pilihan Anda : ");
- fflush(stdin);
- scanf("%d", &pil);
- puts("--------------------------------------------------------------");
- switch(pil) {
- case 1 : input(data_brg, &n); break;
- case 2 : cetak(data_brg, n); break;
- case 3 : bigjum(data_brg, &bj, n);
- for(i=0;i<n;i++) {
- if(bj == data_brg[i].jum)
- printf("%d. %s\t\t %g\n", i+1, data_brg[i].nama, data_brg[i].jum);
- }
- break;
- case 4 : highrupiah(data_brg, &hr, n);
- for(i=0;i<n;i++) {
- if(hr == data_brg[i].hrg)
- printf("%d. %s\t\t %g\n", i+1, data_brg[i].nama, data_brg[i].hrg);
- }
- break;
- }
- puts("--------------------------------------------------------------");
- } while(pil);
- getch();
- return 0;
- }
- void input(struct brg *in, int *k) {
- int i, n, q = 0;
- printf("Masukkan jumlah barang : "); scanf("%d", &n);
- puts("--------------------------------------------------------------");
- for(i=0;i<n;i++) {
- fflush(stdin);
- if(*k == 0) {
- printf("%d. Nama barang\t\t: ", i+1); gets(in[i].nama);
- printf(" Jumlah\t\t: "); scanf("%f", &in[i].jum);
- printf(" Harga satuan\t\t: "); scanf("%f", &in[i].hrg);
- in[i].jumhrg = in[i].jum * in[i].hrg;
- } else {
- q = *k;
- printf("%d. Nama barang\t\t: ", i+1); gets(in[q].nama);
- printf(" Jumlah\t\t: "); scanf("%f", &in[q].jum);
- printf(" Harga satuan\t\t: "); scanf("%f", &in[q].hrg);
- in[q].jumhrg = in[q].jum * in[q].hrg;
- }
- *k += 1;
- }
- }
- void cetak(struct brg *brgs, int m) {
- int i;
- if(m == 0)
- printf(" Data belum ada! \n");
- else {
- puts("======================== Data Barang =========================");
- puts("No. Nama\t\t Jumlah \t Harga Satuan");
- puts("--------------------------------------------------------------");
- for(i=0;i<m;i++) {
- printf("%d. %s\t\t %g\t\t Rp. %g\n", i+1, brgs[i].nama, brgs[i].jum, brgs[i].hrg);
- }
- }
- }
- void bigjum(struct brg y[], float *b, int n) {
- int i;
- if(n == 0)
- printf(" Data belum ada! \n");
- else {
- for(i=0;i<n;i++) {
- if(y[i].jum >= *b)
- *b = y[i].jum;
- }
- puts("Barang yang memiliki jumlah terbesar adalah :");
- puts("======================== Data Barang ========================");
- puts("No. Nama\t\t Jumlah");
- puts("--------------------------------------------------------------");
- }
- }
- void highrupiah(struct brg z[], float *c, int o) {
- int i;
- if(o == 0)
- printf(" Data belum ada! \n");
- else {
- for(i=0;i<o;i++) {
- if(z[i].hrg >= *c)
- *c = z[i].hrg;
- }
- puts("Barang yang memiliki nilai rupiah tertinggi adalah :");
- puts("======================== Data Barang ========================");
- puts("No. Nama\t\t Harga");
- puts("--------------------------------------------------------------");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement