List Read_Board_File (char filename[]) { Kata Kota; Kota.Length = 4; Kota.TabKata[0] = 'k'; Kota.TabKata[1] = 'o'; Kota.TabKata[2] = 't'; Kota.TabKata[3] = 'a'; Kata Pariwisata; Pariwisata.Length = 10; Pariwisata.TabKata[0] = 'p'; Pariwisata.TabKata[1] = 'a'; Pariwisata.TabKata[2] = 'r'; Pariwisata.TabKata[3] = 'i'; Pariwisata.TabKata[4] = 'w'; Pariwisata.TabKata[5] = 'i'; Pariwisata.TabKata[6] = 's'; Pariwisata.TabKata[7] = 'a'; Pariwisata.TabKata[8] = 't'; Pariwisata.TabKata[9] = 'a'; Kata Start; Start.Length = 5; Start.TabKata[0] = 's'; Start.TabKata[1] = 't'; Start.TabKata[2] = 'r'; Start.TabKata[3] = 'a'; Start.TabKata[4] = 't'; Kata Bonus; Bonus.Length = 5; Bonus.TabKata[0] = 'b'; Bonus.TabKata[1] = 'o'; Bonus.TabKata[2] = 'n'; Bonus.TabKata[3] = 'u'; Bonus.TabKata[4] = 's'; Kata Chance; Chance.Length = 6; Chance.TabKata[0] = 'c'; Chance.TabKata[1] = 'h'; Chance.TabKata[2] = 'a'; Chance.TabKata[3] = 'n'; Chance.TabKata[4] = 'c'; Chance.TabKata[5] = 'e'; Kata Penjara; Penjara.Length = 7; Penjara.TabKata[0] = 'p'; Penjara.TabKata[1] = 'e'; Penjara.TabKata[2] = 'n'; Penjara.TabKata[3] = 'j'; Penjara.TabKata[4] = 'a'; Penjara.TabKata[5] = 'r'; Penjara.TabKata[6] = 'a'; Kata Worldcup; Worldcup.Length = 8; Worldcup.TabKata[0] = 'w'; Worldcup.TabKata[1] = 'o'; Worldcup.TabKata[2] = 'r'; Worldcup.TabKata[3] = 'l'; Worldcup.TabKata[4] = 'd'; Worldcup.TabKata[5] = 'c'; Worldcup.TabKata[6] = 'u'; Worldcup.TabKata[7] = 'p'; Kata Worldtravel; Worldtravel.Length = 11; Worldtravel.TabKata[0]='w'; Worldtravel.TabKata[1]='o'; Worldtravel.TabKata[2]='r'; Worldtravel.TabKata[3]='l'; Worldtravel.TabKata[4]='d'; Worldtravel.TabKata[5]='t'; Worldtravel.TabKata[6]='r'; Worldtravel.TabKata[7]='a'; Worldtravel.TabKata[8]='v'; Worldtravel.TabKata[9]='e'; Worldtravel.TabKata[10]='l'; Kata Tax; Tax.Length = 3; Tax.TabKata[0]='t'; Tax.TabKata[1]='a'; Tax.TabKata[2]='x'; int i,j=0,counter1=0; Infotype X; List BoardL; CreateList(&BoardL); while (!EOP()) { if (counter1==0) { START(filename); } for (i=1; i<=3; i++) { ADVKATA(filename); if (i==1) { X.ptk.nama = CopyKata(CKata); } else if (i==2) { X.ptk.tipe = CopyKata(CKata); } else if (i==3) { X.ptk.currentplayer = CopyKata(CKata); } } if (IsKataSama(X.ptk.tipe,Kota)) { for (i=1; i<=travkota-3; i++) { ADVKATA(filename); if (i==1) { X.ptk.kotapariwisata.kepemilikan = CopyKata(CKata); } else if (i==2) { X.ptk.kotapariwisata.harga.beli = ConvertToBilangan(CKata); } else if (i==3) { X.ptk.kotapariwisata.harga.sewa = ConvertToBilangan(CKata); } else if (i==4) { X.ptk.kotapariwisata.harga.belipaksa = ConvertToBilangan(CKata); } else if (i==5) { X.ptk.kotapariwisata.harga.listoffered = ConvertToBilangan(CKata); } else if (i==6) { X.ptk.kotapariwisata.lvlbangunan = ConvertToBilangan(CKata); } else if (i==7) { X.ptk.kotapariwisata.harga.biayaupgrade[i-6] = ConvertToBilangan(CKata); } else if (i==8) { X.ptk.kotapariwisata.harga.biayaupgrade[i-6] = ConvertToBilangan(CKata); } else if (i==9) { X.ptk.kotapariwisata.harga.biayaupgrade[i-6] = ConvertToBilangan(CKata); } } } else if (IsKataSama(X.ptk.tipe,Pariwisata)) { for (i=1; i<=travpariwisata-3; i++) { ADVKATA(filename); if (i==1) { X.ptk.kotapariwisata.kepemilikan = CopyKata(CKata); } else if (i==2) { X.ptk.kotapariwisata.harga.beli = ConvertToBilangan(CKata); } else if (i==3) { X.ptk.kotapariwisata.harga.sewa = ConvertToBilangan(CKata); } else if (i==4) { X.ptk.kotapariwisata.harga.belipaksa = ConvertToBilangan(CKata); } else if (i==5) { X.ptk.kotapariwisata.harga.listoffered = ConvertToBilangan(CKata); } else if (i==6) { X.ptk.kotapariwisata.lvlbangunan = ConvertToBilangan(CKata); } else if (i==7) { X.ptk.kotapariwisata.harga.biayaupgrade[i-6] = ConvertToBilangan(CKata); } } } else if (IsKataSama(X.ptk.tipe,Start)) { } else if (IsKataSama(X.ptk.tipe,Bonus)) { } else if (IsKataSama(X.ptk.tipe,Chance)) { } else if (IsKataSama(X.ptk.tipe,Penjara)) { } else if (IsKataSama(X.ptk.tipe,Worldcup)) { } else if (IsKataSama(X.ptk.tipe,Worldtravel)) { } else if (IsKataSama(X.ptk.tipe,Tax)) { } if (counter1<1) { counter1++; } ADVKATA(filename); X.ptk.id = ConvertToBilangan(CKata); j++; if (j>0) { InsVLast(&BoardL,X); } if(!EOP()) { ADV(filename); ADV(filename); } } return BoardL; }
int main() { /* Kamus Lokal */ List MyList, List2, List3; int i; infotype isi; address P, Prec; /* Program */ CreateList (&MyList); printf ("Jml Elemen List adalah : %d \n", NbElmt(MyList)); /* Menambah List di awal */ i = 1; while (i <= 5) { InsVFirst (&MyList, i*5); i++; } printf ("Hasil InsVFirst 5 x adalah : "); PrintInfo (MyList); printf ("Node Maksimal = %d ",Max (MyList)); printf ("Node Minimal = %d ",Min (MyList)); printf ("Rata-rata = %d \n",Average (MyList)); /* Mencari suatu elemen di list */ P = Search(MyList, 15); printf ("Search yang berhasil (15) : P = %d, Ketemu = %d \n",P,FSearch(MyList,P)); DelP (&MyList, 15); /* Insert di Last */ printf ("Insert di akhir nilai 723 : "); InsVLast (&MyList, 723); PrintInfo (MyList); /* Insert diantara 2 elemen */ printf ("Insert sebelum elemen 10 : "); Prec = SearchPrec (MyList, 10); P = Alokasi (2712); if (P != Nil) { InsertAfter (&MyList, P, Prec); } PrintInfo (MyList); /* Menghapus elemen List */ printf ("\tHasil Delete dari elemen List :\n"); printf ("Jumlah elemen list = %d \n", NbElmt(MyList)); DelVFirst (&MyList, &isi); printf ("DelVFirst adalah %d\t", isi); DelVLast (&MyList, &isi); printf ("DelVLast adalah %d\t", isi); /* Menghapus elemen di tengah-tengah */ Prec = SearchPrec (MyList, 10); /* Node yang akan dihapus */ if (Prec != Nil) { DelAfter (&MyList, &P, Prec); isi = Info(P); DeAlokasi (P); printf ("DelAfter adalah %d\n", isi); } printf ("Hasil setelah delete : "); PrintInfo (MyList); printf ("Insert sebelum elemen 5 : "); Prec = SearchPrec (MyList, 5); P = Alokasi (-987); if (P != Nil) { InsertAfter (&MyList, P, Prec); } PrintInfo (MyList); /* Invers List */ printf ("\tHasil Invers dari List yang ada : \n"); printf ("Versi 1 : "); List2 = FInversList (MyList); PrintInfo (List2); printf ("Versi 2 : "); InversList (&MyList); PrintInfo (MyList); /* Copy List */ printf ("\tHasil Copy dari List yang ada : \n"); printf("Versi 1 : "); CopyList (MyList, &List2); PrintInfo (List2); printf ("Versi 2 : "); List3 = FCopyList (MyList); PrintInfo (List3); printf ("Versi 3 : "); CpAlokList (MyList, &List2); PrintInfo (List2); /* Konkat */ printf("\tHasil Konkat Invers dan List asli : \n"); List2 = FInversList (MyList); Konkat (List2, List3, &MyList); printf("Versi 1 : "); PrintInfo (MyList); Konkat1 (&List2, &List3, &MyList); printf("Versi 2 : "); PrintInfo (MyList); /* Pecah List */ PecahList (&List2, &List3, MyList); printf ("\tHasil membagi dua list adalah : \n"); printf ("L1 = "); PrintInfo (List2); printf ("L2 = "); PrintInfo (List3); /* Finishing */ P = First(MyList); DeAlokasi (P); P = First(List2); DeAlokasi (P); P = First(List3); DeAlokasi (P); return 0; }
int main() { int no_pil; char jawab; A[1].info1="Bandung"; A[2].info1="Jakarta"; do { clrscr(); printf("Pilihan :\n"); printf("1. Entri data mahasiswa\n"); printf("2. Tampilkan data mahasiswa berdasarkan kota\n"); printf("3. Tampilkan semua data mahasiswa\n"); printf("Masukkan pilihan anda : "); scanf("%d",&no_pil); switch(no_pil) { case 1 : { clrscr(); printf("Pilihan kota:\n"); printf("1. Bandung\n"); printf("2. Jakarta\n"); printf("Masukkan pilihan kota : "); scanf("%d",&i);fflush(stdin); CreateList (&MyList); char jawab; do { printf("NIM : "); gets(nim); printf("Nama : "); gets(nama); InsVLast (&MyList, nim, nama); printf("\nInput lagi (Y/T)? "); fflush(stdin); jawab=toupper(getche()); } while(jawab=='Y'); }; break; case 2 : { clrscr(); printf("Pilihan kota:\n"); printf("1. Bandung\n"); printf("2. Jakarta\n"); printf("Masukkan pilihan kota : "); scanf("%d",&i); PrintInfo(MyList); }; break; case 3 : { clrscr(); for(i=1; i<=2; i++) { printf("%s\n", A[i].info1); PrintInfo(MyList); } }; break; default : ; } printf("\nKembali ke Menu (Y/T)? "); fflush(stdin); jawab=toupper(getche()); } while(jawab=='Y'); return 0; }