Senin, 31 Mei 2010

Tugas Pertemuan 12-- inilah hasil kerja keras kuw.. ^^







#include
#include
#include

struct pohon
{
int number;
char nama[21];
char club[21];

struct pohon *left, *right;
}*root=NULL;

int cek, cek1;
void clear()
{
for(int i=0 ; i<25 ; i++)
{
printf("\n");
}
}

void menuutama()
{
printf("Bluejack's Soccer Player Profile\n"); printf("================================\n");
printf("1. Add (PUSH) New Soccer Player\n");
printf("2. Delete (POP) Soccer Player\n");
printf("3. Show Soccer Player Profile\n");
printf("4. Exit\n");
}

void push(struct pohon **tree, int number1, char nama1[21], char club1[21])
{
char letak[10];
if((*tree) == NULL)
{
(*tree)=(struct pohon*)malloc(sizeof(struct pohon));
(*tree)->number = number1;
strcpy((*tree)->nama , nama1);
strcpy((*tree)->club , club1);

(*tree)->left = (*tree)->right = NULL;
printf("\n\nSuccess to add new player..\n\n");
}
else
{
do
{
printf("Direction [Left | Right] : ");
gets(letak); fflush(stdin);
}while(strcmpi(letak, "Left")!= 0 && strcmpi(letak, "right")!=0);

if(strcmp(letak, "left")==0)
{
push(&(*tree)->left, number1, nama1, club1);
}
else
{
push(&(*tree)->right, number1, nama1, club1);
}
}
}
void daftar() // menu 1
{
int number1;
char nama1[21];
char club1[21];

do
{
printf("Input player's backnumber [0..99] : ");
scanf("%d", &number1); fflush(stdin);
}while(number1<1>99);

printf("\n");

do
{
printf("Input player's name [1..20 characters] : ");
gets(nama1); fflush(stdin);
}while(strlen(nama1)<1>20);

printf("\n");

do
{
printf("Input player's club [1..20 characters] : ");
gets(club1); fflush(stdin);
}while(strlen(club1)<1>20);


push(&root,number1,nama1,club1);
getchar();
}

void popall(struct pohon **tree)
{
if((*tree) != NULL)
{

popall(&(*tree)->right);
popall(&(*tree)->left);
free(*tree);

}

}


void search(struct pohon **tree, int hapus)
{
if((*tree) != NULL)
{
if((*tree)->number == hapus)
{

cek=1;
//popall(&(*tree));
}
else
{
search(&(*tree)->left , hapus);
search(&(*tree)->right , hapus);
}
}
}
void dua(struct pohon **tree)
{
if(tree != NULL)
{
int hapus;
do
{
printf("Input player's backnumber that you want to delete [0..99] : ");
scanf("%d", &hapus); fflush(stdin);
}while(hapus<1>99);

search(&root, hapus);
printf("\n\nData has been deleted successfully..");
}
getchar();
}

void cetak(struct pohon **tree)
{
printf("Player's backnumber : %d", (*tree)->number);
printf("\n");
printf("Player's name : %s", (*tree)->nama);
printf("\n");
printf("Player's club : %s", (*tree)->club);
printf("\n");

getchar();
}

void search1(struct pohon **tree, int lihat)
{

if((*tree) != NULL)
{
if((*tree)->number == lihat)
{

cek1=1;
//cetak(&(*tree));
}
else
{
search1(&(*tree)->left , lihat);
search1(&(*tree)->right , lihat);
}

}


}

void tiga(struct pohon *tree) // menu view
{
int lihat;
if(tree != NULL)
{
do
{
printf("Input player's backnumber [0..99] : ");
scanf("%d", &lihat); fflush(stdin);
}while(lihat<1>99);

search1(&root,lihat);
}
else
{
printf("\n\n..........You don't have any players to be searched..........");
}
//getchar();
}
void main()
{
cek=0;
cek1=0;
int pilih;
do
{
clear();
menuutama();
do
{
printf("Input your choice : ");
scanf("%d", &pilih); fflush(stdin);
}while(pilih <1>4);

switch(pilih)
{
case 1: daftar();
break;
case 2:
{
dua(&root);
if(cek == 1) popall(&root);
else printf("Data that you requested cannot be found..\n\n");
break;
getchar();
}
case 3:
{
tiga(root);
if(cek1 == 1) cetak(&root);
else printf("Data that you requested cannot be found..\n\n");
break;
getchar();
}
//getchar();
}
}while(pilih!=4);

}

diatas merupakan hasil kerja saya sendiri dari kuis2 yang diberikan di lab.

saya berlatih 2x semingu bersama teman saya dan kakak aslab di saat jam kuliah. selebihnya saya berlatih sendiri.
lesson learned(bahan pembelajaran): tree, binary search tree, linked list.
Inilah hasil kerja keras saya belajar kodingan selama 2minggu terakhir ini,

akhir nya, saya dapat mengerti bahan ujian akhir praktek struktur data juga.. :D
trima kasih Tuhan..
terima kasih teman-teman yang sudah membantu saya
terima kasih kakak aslab yang sudah mengajarkan materi kepada saya.

terima kasih...


cb-12

Tidak ada komentar:

Posting Komentar