Sebelumnya ane mohon maaf bagi teman2. Cz udah janji mo langsung upload tetapi bru di upload sekarang... jadi langsung aja y gan... ke TKP (codingan ane)
#include#include #include #include typedef struct tdata *pdata; struct barang{ char Namabarang[50]; int JumlahBarang; int harga; } typedef struct tdata { struct barang b; pdata next; } pdata awal,akhir; void tambah_awal(pdata *awal, pdata *akhir, struct barang databaru) { pdata baru; baru=(pdata)malloc(sizeof(tdata)); if (baru!=NULL) { baru->b=databaru; baru->next=NULL; if(*awal==NULL) { *awal=baru; *akhir=baru; } else { baru->next=*awal; *awal=baru; } } else printf("Memori Penuh. Tidak Bisa Tambah Elemen.\n"); } void tambah_akhir(pdata *awal, pdata *akhir, struct barang databaru) { pdata baru; baru=(pdata)malloc(sizeof(tdata)); if (baru!=NULL) { baru->b=databaru; baru->next=NULL; if(*awal==NULL) { *awal=baru; *akhir=baru; } else { (*akhir)->next=baru; *akhir=baru; } } else printf("Memori Penuh. Tidak Bisa Tambah Elemen.\n"); } void view(pdata awal) { int total = 0; int kali = 0; pdata p; if (awal!=NULL) { p=awal; while(p!=NULL) { printf("\n\nNama : %s\n",p->b.Namabarang); printf("Jumlah :%i\n",p->b.JumlahBarang); printf("harga :%i\n",p->b.harga); kali = p->b.harga * p->b.JumlahBarang; total = total + kali; p=p->next; } printf("\n\nTotal biaya : %i",total); printf("\n"); } else printf("Data Kosong. Tidak ada data dalam linked list.\n"); } void main() { int i,n; barang b[50]; printf("Berapa Jenis barang yang dibeli ? "); scanf("%d",&n); for (i=1;i<=n;i++) { fflush(stdin); printf("\n\nInput data ke-%d : ",i); printf("\nNama barang : "); gets(b[i].Namabarang); printf("Jumlah barang : "); scanf("%d",&b[i].JumlahBarang); printf("Harga barang : "); scanf("%d",&b[i].harga); } for (i=1;i<=n;i++){ if ((b[i].harga>=1000) && (b[i].JumlahBarang>=5)) { tambah_awal(&awal,&akhir,b[i]); } else{ tambah_akhir(&awal,&akhir,b[i]); } } view(awal); }
ingat harus tes, n terus belajar
Enjoy it