Bentuk struktur data yang dapat menyimpan
variabel-variabel dalam 1 nama, namun memiliki tipe data yang berbeda ataupun
sama. Variable-variabel tersebut memiliki kaitan satu sama yang lain.
Bentuk umum :
typedef struct nama_struct{
tipe_data<nama_var>;
tipe_data <nama_var>;
....
}
CONTOH LISTING PROGRAM DI C++ PADA CODEBLOCKS
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
void tambah();
void edit();
void hapus();
void lihat();
void isi();
void akhir();
int update=0;
int ketemu;
typedef struct data
{
int kode_barang;
int diskon;
int harga;
char nama_barang[20],jenis_barang[20];
}tas;
tas tasku[10];
int main()
{
char menu, kembali='y';
while(kembali=='y'||kembali=='Y')
{ menu:
system("cls");
printf("\n");
printf("\t\t\t\tMENU UTAMA\n");
printf("\t\t\t\tTOKO TAS ABC\n");
printf("\t\t\t\tUNTARI-5302410064\n");
printf("\t\t========================================\n\n\n");
printf("\tPilihan Anda :\n\n");
printf("\t\t1.Tambah Data\n");
printf("\t\t2.Edit Data\n");
printf("\t\t3.Hapus Data\n");
printf("\t\t4.Lihat Data\n");
printf("\t\t5.keluar!!\n\n");
printf("\tMasukkan pilihan Anda : "); menu=getche();
switch(menu)
{
case '1':
{
system("cls");
tambah();
printf("kembali ke menu utama (y/t)? "); kembali=getche();
}
break;
case '2':
{
system("cls");
edit();
printf("kembali ke menu utama (y/t)? "); kembali=getche();
}
break;
case '3':
{
system("cls");
hapus();
printf("kembali ke menu utama (y/t)? "); kembali=getche();
}
break;
case '4':
{
system("cls");
lihat();
printf("kembali ke menu utama (y/t)? "); kembali=getche();
}
break;
case '5': akhir();break;
default: goto menu;break;
}
}
return 0;
}
void tambah()
{
int x,banyak;
printf("Banyaknya data tas yang akan di input: "); scanf("%d",&banyak);
for(x=update;x<update+banyak;x++)
{
printf("\nKode Barang : "); scanf("%d",&tasku[x].kode_barang);
fflush(stdin);
printf("Nama Barang : "); gets(tasku[x].nama_barang);
printf("Jenis Barang : "); gets(tasku[x].jenis_barang);
printf("Diskon : "); scanf("%d",&tasku[x].diskon);
printf("Harga : "); scanf("%d",&tasku[x].harga);
}
update=x;
}
void edit()
{
int x,edit,ketemu,jenis_barang,diskon;
for(x=0;x<update;x++)
{
isi(x);
}
printf("Kode barang yang akan di edit : "); scanf("%d",&edit);
system("cls");
for(x=0;x<update;x++)
{
if(edit==tasku[x].kode_barang)
{
fflush(stdin);
printf("Nama Barang : "); gets(tasku[x].nama_barang);
fflush(stdin);
printf("Jenis Barang: "); gets(tasku[x].jenis_barang);
fflush(stdin);
printf("Diskon : "); scanf("%d",&tasku[x].diskon);
fflush(stdin);
printf("Harga : "); scanf("%d",&tasku[x].harga);
system("cls");
printf("Data setelah diedit : \n");
for(x=0;x<update;x++)
{
isi(x);
}
ketemu=1;
}
}
if(ketemu!=1);
printf("Data berhasil diedit");
}
void hapus()
{
int x,n,kode;
for(x=0;x<update;x++)
{
isi(x);
}
printf("Kode barang yang akan dihapus : "); scanf("%d",&kode);
for (x=0;x<update;x++)
{
if(kode==tasku[x].kode_barang)
{
for(n=x-1;n<update-1;n++)
{
tasku[n]=tasku[n+1];
}
update--;
printf("Semua Data Sekarang : \n");
for(x=0;x<update;x++)
{
isi(x);
}
}
}
if(ketemu!=1)
printf("Data dihaous\n");
}
void lihat()
{
int x;
for(x=0;x<update;x++)
{
isi(x);
}
}
void isi(int x)
{
printf("\nKode Barang : %d\n",tasku[x].kode_barang);
printf("Nama Barang : %s\n",tasku[x].nama_barang);
printf("Jenis Barang : %s\n",tasku[x].jenis_barang);
printf("Diskon : %d\n",tasku[x].diskon);
printf("Harga : %d\n\n",tasku[x].harga);
}
void akhir(){
system("cls");
printf("\n\n\t\t\tTHANK YOU\n\n\n");
exit(1);
}
0 comments:
Post a Comment