Menambah Data Structure di Akhir
Sama seperti array, data di structure juga bisa ditambah. Berikut adalah penambahan data di akhir structure.
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
void samadengan();
struct struk
{
char namabarang[50];
int jumlahbeli;
int hargasatuan;
int jumlahharga;
}belanja[1];
int main()
{
int index,jumlahbarang,jumlahtambah,jumlahbaru;
printf("Selamat datang di toko APRILMART\n");
samadengan();
printf("Berapa jumlah barang yang anda beli: ");
scanf("%d",&jumlahbarang);
printf("\nSilahkan masukan barang apa saja yang anda beli");
/*input dan pencetakan struktur*/
for(index=0;index<jumlahbarang;index++)
{
printf("\nNama barang : ");
cin.getline(belanja[index].namabarang,50);
printf("Jumlah beli : ");
scanf("%d",&belanja[index].jumlahbeli);
printf("Harga satuan: ");
scanf("%d",&belanja[index].hargasatuan);
}
clrscr();
printf("Barang yang anda beli adalah: \n");
samadengan();
for(index=0;index<jumlahbarang;++index)
{
printf("\n\nBarang ke-%d",index+1);
printf("\nNama barang : ");printf("%s",belanja[index].namabarang);
printf("\nJumlah beli : ");printf("%d",belanja[index].jumlahbeli);
printf("\nHarga satuan : ");printf("%d",belanja[index].hargasatuan);
printf("\nJumlah harga : ");printf("%d",belanja[index].jumlahbeli*belanja[index].hargasatuan);
}
/*bagian penambahan struktur*/
printf("\nBerapa jumlah barang yang ingin ditambahkan? ");
scanf("%i",&jumlahtambah);
jumlahbaru=jumlahbarang+jumlahtambah;
printf("Jumlahtambah: %d\n",jumlahtambah);
printf("\nMasukan barang tambahan:");
for(index=0;index<jumlahtambah;++index)
{
printf("\nNama barang: ");
cin.getline(belanja[jumlahbarang+index].namabarang,50);
printf("Jumlah beli: ");
scanf("%i",&belanja[jumlahbarang+index].jumlahbeli);
printf("Harga satuan: ");
scanf("%i",&belanja[jumlahbarang+index].hargasatuan);
}
/*akhir dari penambahan*/
/*pencetakan hasil akhir*/
printf("\nBarang anda sekarang adalah: %d",jumlahbaru);
for(index=0;index<jumlahbaru;index++)
{
printf("\n\nBarang ke-%d",index+1);
printf("\nNama barang : ");printf("%s",belanja[index].namabarang);
printf("\nJumlah beli : ");printf("%d",belanja[index].jumlahbeli);
printf("\nHarga satuan : ");printf("%d",belanja[index].hargasatuan);
printf("\nJumlah harga : ");printf("%d",belanja[index].jumlahbeli*belanja[index].hargasatuan);
}
getch();
}
void samadengan()
{
int x;
for(x=0;x<80;x++)
{
printf("=");
}
}
Sourcecode dan program eksekusi ada di:
tambah_akhir_structure