Senin, 16 Juni 2008

Program Buku Telepon dengan C++

#include
#include
#include
#include

struct buku_telepon
{
int no;
char nama[20];
char alamat[100];
char telp[10];
buku_telepon *next;
};

typedef struct buku_telepon* BUKU_TELEPON;
BUKU_TELEPON head=NULL,tail=NULL;

BUKU_TELEPON getNode()
{
BUKU_TELEPON dataBaru;
dataBaru=(BUKU_TELEPON)malloc(sizeof(buku_telepon));
strcpy(dataBaru->nama,"");
strcpy(dataBaru->alamat,"");
strcpy(dataBaru->telp,"");
dataBaru->next=NULL;
return dataBaru;
}
void tambah()
{
BUKU_TELEPON dataBaru;
dataBaru=getNode();
printf("Nama :");
fflush(stdin);
scanf("%s", dataBaru->nama);
printf("Alamat :");
fflush(stdin);
scanf("%s", dataBaru->alamat);
printf("Telp :");
fflush(stdin);
scanf("%s", dataBaru->telp);
if(head==NULL)
{
head=dataBaru;
tail=dataBaru;
}
else
{
tail->next = dataBaru;
tail=dataBaru;
}
}
void lihat()
{
BUKU_TELEPON jalan=head;
while(jalan!=NULL)
{
printf("\n\nNo : %d\n",jalan->no);
printf("Nama : %s\n",jalan->nama);
printf("Alamat : %s\n",jalan->alamat);
printf("Telepon: %s\n",jalan->telp);
jalan=jalan->next;
}
getch();
}
BUKU_TELEPON cari(int noData)
{
BUKU_TELEPON data;
data=head;
while(data!=NULL)
{
if(data->no==noData)
return data;
else
data=data->next;
}
return data;
}
BUKU_TELEPON cariData(char str[],int piihan)
{
BUKU_TELEPON cari=head;
while(cari!=NULL)
{
if (piihan==2)
{
if(strcmp(str,cari->nama)==0)
return cari;
}
else if (piihan==3)
{
if(strcmp(str,cari->alamat)==0)
return cari;
}
cari=cari->next;
}
return cari;
}
void cariRecord()
{
BUKU_TELEPON hasil;
int no;
char pilih,nm[20],alm[100];
printf("Cari Berdasarkan apa :\n");
printf("1. No\n");
printf("2. Nama\n");
printf("3. Alamat\n");
printf("pilih :");
pilih=getch();
switch(pilih)
{
case '1' :
printf("No :");
scanf("%d",&no);
hasil=cari(no);
break;
case '2' :
printf("Nama :");
scanf("%s",&nm);
hasil=cariData(nm,2);
break;
case '3' :
printf("Alamat :");
scanf("%s",&alm);
hasil=cariData(alm,3);
break;
}
if(hasil!=NULL)
{
printf("\nHasil Pencarian");
printf("\nNama : %s",hasil->nama);
printf("\nAlamat: %s",hasil->alamat);
printf("\nTelp : %s",hasil->telp);
}
else
{
printf("\nTidak ada\n");
getch();
}
getch();
}
void masukkanData(int no,char nm[],char alm[],char telp[])
{
BUKU_TELEPON DataBaru;
DataBaru=getNode();
DataBaru->no=no;
strcpy(DataBaru->nama,nm);
strcpy(DataBaru->alamat,alm);
strcpy(DataBaru->telp,telp);
if(head==NULL)
{head=DataBaru;
tail=DataBaru;
}
else
{
tail->next=DataBaru;
tail=DataBaru;
}}
void main()
{
char pilih;
do{
clrscr();
printf("\n\nProgram Buku Buku_telepon\n");
printf("1. Tambah Record\n");
printf("2. Lihat Record\n");
printf("3. Cari Record\n");
printf("4. Keluar\n");
printf("pilih :");
pilih=getche();
printf("\n");
switch (pilih)
{
case '1' :
tambah();
break;
case '2' :
lihat();
break;
case '3' :
cariRecord();
break;

}}while(pilih!='6');}

Tidak ada komentar: