Professional Documents
Culture Documents
Program
Pengolahan
Pemesanan Tiket
KA
Algoritma & Struktur Data II
Ai Hayati 10507451
Andri Kurnaedi 10507454
Arif Noor Iman 10507457
Feri Faisal M 10507430
Heru Novriyendra 10507444
Susi Warnengsih 10507459
1
Program Pengolahan Pemesanan Tiket KA
2008
1
Program Pengolahan Pemesanan Tiket KA
2008
1
Program Pengolahan Pemesanan Tiket KA
2008
Pada menu utama, apabila anda memilih angka 2, maka tampilan sebagai
berikut :
1
Program Pengolahan Pemesanan Tiket KA
2008
1
Program Pengolahan Pemesanan Tiket KA
2008
1
Program Pengolahan Pemesanan Tiket KA
2008
1
Program Pengolahan Pemesanan Tiket KA
2008
1
Program Pengolahan Pemesanan Tiket KA
Operator/Petugas Penumpang
4
Cetak Baca
no ktp
Cetak
Menu1
Stop Input
looping Data
Pelang gan
Data B ase
& Tiket
Pilih 6
4 submenu 1
3 pencarian
1
2
5 false
True Cetak Data
Pelanggan
Cetak Tidak
Cetak Ketemu Edit Tgl &
Menu 1 Jam Pergi
KTP
Pelang gan &
Data Base
Stop
Tiket
looping
Pilih
3 submenu2
1 Input Tidak
Data Cetak Baca
2 no ktp
Cetak Cetak
submenu submenu Input
Hitung Data
2 -1 2-2
Bayar
P elangg an
Data Ba se
ya
pencarian
Tampilkan
Inputan
kondisi
Pendataan
kembali false
True Cetak Data
Pelanggan
KTP
Cetak Tidak
Keluar
Ketemu
1
Program Pengolahan Pemesanan Tiket KA
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
#include<graphics.h> 2008
#include<dos.h>
#include<alloc.h>
#include<string.h>
#include<stdlib.h>
//===============
#ifdef __cplusplus
int max (int value1, int value2);
int max (int value1, int value2)
{return ( (value1 > value2) ? value1 : value2);}
#endif
//===============
void suara();
void tarif_angkutan_penumpang();
void pembatalan_karcis();
void perubahan_jam();
void fpilih(int x,int y,char z);
void parahyangan();
void argo();
buat_senarai_data();
float ambil_tiket();
float bayar();
urutkan();
tampilkan();
pencarian();
edit();
//===============
char pilih,tanya,data_cari[20];
int i,j,index_ambil,tiket_diambil,ketemu;
float a;
//===============
static char menu[][50]=
{" Menu Aplikasi"," ",
" 1. Persyaratan Angkutan Penumpang",
" 2. Jadwal Keberangkatan",
" 3. Pembelian Tiket",
" 4. Perubahan Tiket",
" 5. Info Penumpang",
" 6. Keluar"};
//===============
struct time waktu;
struct date tgl;
//===============
struct tkt
{ float no;
struct tkt *next;
};
struct tkt *tiket[5]={NULL,NULL,NULL,NULL,NULL};
//===============
struct dat
{ char nama[25],jur[8],kls[10],jam[5],ktp[20];
int umur,tgl,n_tiket,hke;
float notiket[5],byr;
struct dat *next;
};
struct dat *data=NULL,*tambah=NULL,*bantu=NULL;
1
Program Pengolahan Pemesanan Tiket KA
//=======================================================================
====
main()
{
clrscr();
2008
printf("\n Selamat Datang\n");
puts(" Di Aplikasi");
puts(" Pengolahan Tiket KA");
printf("\n\n Press Anykey");
//========inisialisasi tiket===========
struct tkt *baru=NULL;
for(i=0;i<5;i++)
{
for(a=240;a>0;a--)
{
baru = (struct tkt *) malloc(sizeof(struct tkt));
baru->no=a;
baru->next=NULL;
if (tiket[i]==NULL)
tiket[i]=baru;
else
{
baru->next=tiket[i];
tiket[i]=baru;
}
}
}
getch();suara();
do{
//========menu utama===================
clrscr();
puts(" ");
for (i=0;i<8;i++)
printf("%s\n",menu[i]);
fpilih(67,11,'6');
//========sub menu 1===================
if (pilih=='1')
{
do{
clrscr();
gotoxy(2,2);cputs("Persyaratan Angkutan Penumpang");
gotoxy(5,5);cputs("1. Tarif Angkutan Penumpang");
gotoxy(5,6);cputs("2. Pembatalan Karcis Pesanan & Pengambilan Bea");
gotoxy(5,7);cputs("3. Perubahan Jam/Tgl Keberangkatan");
gotoxy(5,8);cputs("4. Kembali");
fpilih(67,11,'4');
if (pilih=='1') tarif_angkutan_penumpang();
else if (pilih=='2') pembatalan_karcis();
else if (pilih=='3') perubahan_jam();
else break;
}while(kbhit);
}
//========sub menu 2===================
else if (pilih=='2')
{
do{
clrscr();
1
Program Pengolahan Pemesanan Tiket KA
gotoxy(2,2);cputs("Jadwal Keberangkatan");
gotoxy(5,5);cputs("1. Argo Gede");
gotoxy(5,6);cputs("2. Parahyangan");
gotoxy(5,7);cputs("3. Kembali");
fpilih(67,10,'3');
if (pilih=='1') argo(); 2008
else if (pilih=='2') parahyangan();
else break;
}while(kbhit);
}
//========sub menu 3===================
else if (pilih=='3')
{
tambah = (struct dat *) malloc(sizeof(struct dat));
buat_senarai_data();
// urutkan();
}
//========sub menu 4===================
else if (pilih=='4')
{
clrscr();
printf("\n Perubahan Jam/Tgl Keberangkatan\n");
puts(" ______________");
printf("\n\n No. KTP : ");gets(data_cari);
pencarian();
edit();
}
//========sub menu 5===================
else if (pilih=='5')
{
clrscr();
printf("\n Info Penumpang\n");
puts(" ______________");
do
{
gotoxy(2,5);delline();
cputs("Tampilkan Semua Data Penumpang [y/t] : ");pilih=getche();
}while(!((tolower(pilih)=='y')||(tolower(pilih)=='t')));
if(tolower(pilih!='y'))
{
printf("\n\n No. KTP : ");gets(data_cari);
pencarian();
tampilkan();
}
else
{
bantu=data;
if(bantu!=NULL)
while(bantu!=NULL)
{
ketemu=1;
tampilkan();
bantu=bantu->next;
}
else
{
ketemu=0;
tampilkan();
}
1
Program Pengolahan Pemesanan Tiket KA
}
}
//========keluar=======================
else if (pilih=='6') break;
}while(kbhit); 2008
return 0;
}
//=======================================================================
====
void suara()
{
sound(440);
delay(100);
nosound();
}
//=======================================================================
=====
void fpilih(int x,int y,char z)
{
gettime(&waktu);
gotoxy(x,2);
cprintf("%2d:%2d:%2d",waktu.ti_hour,waktu.ti_min,waktu.ti_sec);
getdate(&tgl);
gotoxy(x,3);
cprintf("%d-%d-%d",tgl.da_day,tgl.da_mon,tgl.da_year);
do{
gotoxy(x,y);delline();
cputs("Pilih : ");pilih=getch();
}while(!(isdigit(pilih)!=0)||(pilih>z));
suara();
}
//=======================================================================
====
void tarif_angkutan_penumpang()
{
clrscr();
puts(" 4. Usia > 10 tahun dikenakan tarif dewasa untuk semua kelas");
1
Program Pengolahan Pemesanan Tiket KA
}
//=======================================================================
====
void pembatalan_karcis()
{
clrscr(); 2008
printf("\n Pembatalan karcis pesanan dan pengambilan bea\n");
puts(" 1. Setiap pembatalan bea pesanan dan pengantaran tidak
dikembalikan");
puts("
ÚÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄ
Ä¿");
puts(" ³ ³ ³Bandung³ Cimahi ³ Bekasi ³JatiNegara ³Gambir³
³");
puts(" ³No.³ KA ÃÄÄÄÄÄÄÄÅÄÄÄÄÄÂÄÄÄÄÄÅÄÄÄÄÄÂÄÄÄÄÄÅÄÄÄÄÄÂÄÄÄÄÄÅÄÄÄÄÄÄ´
Katerangan ³");
puts(" ³ ³ ³ Br ³ Br ³ Da ³ Br ³ Da ³ Br ³ Da ³ Da ³
³");
1
Program Pengolahan Pemesanan Tiket KA
puts("
ÃÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ
Ä´");
puts(" ³ 1 ³KA 51³ 04.00 ³ Ls ³ Ls ³06.33³06.35³06.49³06.51³ 07.01³stlh
libur ³");
puts(" 2008
ÃÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ
Ä´");
puts(" ³ 2 ³KA 53³ 05.00 ³ LS ³ Ls ³07.36³07.38³07.53³07.55³ 08.05³
³");
puts("
ÃÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ
Ä´");
puts(" ³ 3 ³KA 55³ 06.35 ³ Ls ³ Ls ³09.16³09.18³09.33³19.33³ 09.45³
³");
puts("
ÃÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ
Ä´");
puts(" ³ 4 ³KA 57³ 08.45 ³08.55³08.57³11.24³11.26³11.41³11.43³ 11.53³
³");
puts("
ÃÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ
Ä´");
puts(" ³ 5 ³KA 59³ 12.45 ³12.55³12.57³15.28³15.30³15.44³15.46³
15.56³Cimahi Stop ³");
puts("
ÃÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ
Ä´");
puts(" ³ 6 ³KA 61³ 17.05 ³17.15³17.17³19.40³19.42³19.56³19.58³
20.08³Cimahi Stop ³");
puts("
ÃÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ
Ä´");
puts(" ³ 7 ³KA 63³ 19.15 ³ Ls ³ Ls ³21.55³21.57³22.12³22.14³ 22.24³Kpn
diprlkan³");
cputs("
ÀÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄ
ÄÙ");
getch();
suara();
}
//=======================================================================
====
void argo()
{
clrscr();
printf("\n Jadwal KA Argo Gede\n\n");
puts("
ÚÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄ¿");
puts(" ³ ³ ³Bandung³ Bekasi ³Jatinegara ³Gambir³
³");
puts(" ³No.³ KA ÃÄÄÄÄÄÄÄÅÄÄÄÄÄÂÄÄÄÄÄÅÄÄÄÄÄÂÄÄÄÄÄÅÄÄÄÄÄÄ´
Keterangan ³");
puts(" ³ ³ ³ Br ³ Br ³ Da ³ Br ³ Da ³ Da ³
³");
puts("
ÃÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
puts(" ³ 1 ³KA 15 ³ 06.00 ³08.24³08.26³08.40³08.42³ 08.52³
³");
1
Program Pengolahan Pemesanan Tiket KA
puts("
ÃÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
puts(" ³ 2 ³KA 17 ³ 07.35 ³09.59³10.01³10.14³10.16³ 10.26³
³");
puts("
ÃÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄ´"); 2008
puts(" ³ 3 ³KA 19 ³ 10.30 ³12.58³13.00³13.15³13.17³ 13.27³
³");
puts("
ÃÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
puts(" ³ 4 ³KA 21 ³ 14.30 ³16.56³16.58³17.12³17.14³ 17.24³
³");
puts("
ÃÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
puts(" ³ 5 ³KA 23 ³ 16.15 ³18.42³18.44³18.58³19.00³ 19.10³
³");
puts("
ÃÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
puts(" ³ 6 ³KA 25 ³ 18.30 ³21.02³21.04³21.18³21.20³ 21.31³
³");
puts("
ÃÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
puts(" ³ 7 ³KA 7029³ 09.30 ³11.51³11.53³12.04³12.06³ 12.15³ Hari
Minggu ³");
puts("
ÃÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄ´");
puts(" ³ 8 ³KA 7013³ 07.00 ³09.22³09.24³19.36³19.38³ 09.47³ Hari
Senin ³");
puts("
ÀÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÙ");
getch();
suara();
}
//=======================================================================
====
float ambil_tiket()
{
struct tkt *ambil;
ambil = (struct tkt *) malloc(sizeof(struct tkt));
a=tiket[index_ambil]->no;
if (tiket[index_ambil]->next==NULL)
{
free(tiket[index_ambil]);
tiket[index_ambil]=NULL;
}
else
{
ambil=tiket[index_ambil];
tiket[index_ambil]=tiket[index_ambil]->next;
free(ambil);
}
return (a);
}
//=======================================================================
====
float bayar()
{
float a;
if ((tambah->umur>3)&&(tambah->umur<10))
{
1
Program Pengolahan Pemesanan Tiket KA
if (strcmp(strlwr(tambah->kls),"bisnis")==0) a=float(tambah-
>n_tiket*15000);
else a=float(tambah->n_tiket*65000);
}
else if(tambah->umur>10)
{ 2008
if (strcmp(strlwr(tambah->kls),"bisnis")==0) a=float(tambah-
>n_tiket*45000);
else a=float(tambah->n_tiket*65000);
}
return(a);
}
//=======================================================================
====
buat_senarai_data()
{
do{
tambah = (struct dat *) malloc(sizeof(struct dat));
for(i=0;i<25;i++) tambah->nama[i]=NULL;
clrscr();
do{
gotoxy(2,8);delline();
cputs(" Jurusan [Bandung/Jakarta] : ");gets(tambah->jur);
}while((strcmp(strlwr(tambah-
>jur),"bandung")!=0)&&(strcmp(strlwr(tambah->jur),"jakarta")!=0));
do{
gotoxy(2,9);delline();
cputs(" Kelas [Eksekutif/Bisnis] : ");gets(tambah->kls);
}while((strcmp(strlwr(tambah-
>kls),"eksekutif")!=0)&&(strcmp(strlwr(tambah->kls),"bisnis")!=0));
do{
gotoxy(2,12);delline();
gotoxy(2,11);delline();
cputs(" Tgl Keberangkatan [max h-4]: ");scanf("%d",&tambah-
>tgl);fflush(stdin);
gotoxy(35,11);cprintf("-%d-%d",tgl.da_mon,tgl.da_year);
tambah->hke=(tambah->tgl-tgl.da_day);
gotoxy(2,12);delline();
cputs(" H-ke : ");printf("h-%d\n",tambah->hke);
}while((tambah->hke<0)||(tambah->hke>4));
index_ambil=tambah->hke;
if(tiket[index_ambil]!=NULL)
{
for (j=0;j<5;j++) tambah->jam[j]=NULL;
1
Program Pengolahan Pemesanan Tiket KA
for (j=0;j<5;j++)
{
do{
gotoxy(2,13);delline();
cputs(" Waktu Keberangkatan : ");
for (i=0;i<5;i++) 2008
{
if (tambah->jam[i]!=NULL) printf("%c",tambah->jam[i]);
else break;
}
gotoxy(33+j,13);
if (j!=2)tambah->jam[j]=getche();
else {tambah->jam[j]='.';break;}
}while((isdigit(tambah->jam[j])==0));
}
do{
gotoxy(2,14);delline();
cputs(" Jumlah Tiket [max 4] : ");scanf("%d",&tambah-
>n_tiket);fflush(stdin);
}while(tambah->n_tiket>4);
tambah->byr=bayar();
printf("\n Bayar : ");printf("Rp %.0f",tambah-
>byr);
}
else printf("\n\n\nTiket H-%d Habis",tambah->hke);
tambah->next=NULL;
if (data==NULL)
data=tambah;
else
{
tambah->next=data;
data=tambah;
}
do{
gotoxy(2,18);delline();
cputs("Tambah Data [Y/N]");tanya=getch();
}while(!((toupper(tanya)=='Y')||(toupper(tanya)=='N')));
}while(toupper(tanya)=='Y');
return 0;
}
//=======================================================================
====
urutkan()
{
struct dat *bantu1=NULL,*bantu2=NULL,*index=NULL;
char t_nama[25],t_jur[8],t_kls[10],t_jam[5],t_ktp[20];
int t_umur,t_tgl,t_n_tiket,t_hke;
float t_notiket[4],t_byr;
1
Program Pengolahan Pemesanan Tiket KA
if(data!=NULL)
{
bantu1=data;
while(bantu1->next!=NULL)
{ 2008
bantu2=bantu1;
index=bantu1;
bantu2=bantu2->next;
while(bantu2!=NULL)
{
for (i=0;i<max(strlen(bantu2->nama),strlen(index->nama));i++)
if (int(tolower(bantu2->nama[i]))<=int(tolower(index->nama[i])))
{
index=bantu2;
break;
}
bantu2=bantu2->next;
}
strcpy(t_nama,bantu1->nama);
strcpy(bantu1->nama,index->nama);
strcpy(index->nama,t_nama);
strcpy(t_ktp,bantu1->ktp);
strcpy(bantu1->ktp,index->ktp);
strcpy(index->ktp,t_ktp);
strcpy(t_jur,bantu1->jur);
strcpy(bantu1->jur,index->jur);
strcpy(index->jur,t_jur);
strcpy(t_kls,bantu1->kls);
strcpy(bantu1->kls,index->kls);
strcpy(index->kls,t_kls);
t_umur=bantu1->umur;
bantu1->umur=index->umur;
index->umur=t_umur;
t_tgl=bantu1->tgl;bantu1->tgl=index->tgl;index->tgl=t_tgl;
for(j=0;j<4;j++)
{
t_jam[j]=bantu1->jam[j];
bantu1->jam[j]=index->jam[j];
index->jam[j]=t_jam[j];
}
t_n_tiket=bantu1->n_tiket;
bantu1->n_tiket=index->n_tiket;
index->n_tiket=t_n_tiket;
t_hke=bantu1->hke;
bantu1->hke=index->hke;
index->hke=t_hke;
t_byr=bantu1->byr;
bantu1->byr=index->byr;
index->byr=t_byr;
for(j=0;j<4;j++)
1
Program Pengolahan Pemesanan Tiket KA
{
t_notiket[j]=bantu1->notiket[j];
bantu1->notiket[j]=index->notiket[j];
index->notiket[j]=t_notiket[j];
} 2008
bantu1=bantu1->next;
}
}
return 0;
}
//=======================================================================
====
pencarian()
{
struct dat *p;
if(data!=NULL)
{
ketemu=0;
p=data;
while((p!=NULL)&&(ketemu==0))
{
if(strcmp(strlwr(p->ktp),strlwr(data_cari))==0)
{
ketemu=1;
bantu=p;
}
else p=p->next;
}
}
return 0;
}
//=======================================================================
====
tampilkan()
{
clrscr();
if (ketemu)
{
printf("_____________________________________________________________\n
");
printf("\n Nama : ");printf("%s\n",bantu->nama);
cputs(" No. KTP : ");printf("%s\n",bantu->ktp);
cputs(" Umur : ");printf("%d Tahun\n",bantu-
>umur);
cputs(" Jurusan [Bandung/Jakarta] : ");printf("%s\n",bantu->jur);
cputs(" Kelas [Eksekutif/Bisnis] : ");printf("%s\n",bantu->kls);
cprintf(" Tgl Sekarang : %d-%d-
%d",tgl.da_day,tgl.da_mon,tgl.da_year);
printf("\n Tgl Keberangkatan [max h-5]: ");printf("%d-%d-%d\n",bantu-
>tgl,tgl.da_mon,tgl.da_year);
cputs(" H-ke : ");printf("h-%d\n",bantu->hke);
cputs(" Waktu Keberangkatan : ");
for (i=0;i<5;i++)
{
1
Program Pengolahan Pemesanan Tiket KA
if (i!=2) printf("%c",bantu->jam[i]);
else cputs(".");
}
printf("\n Jumlah Tiket [max 4] : ");printf("%d\n",bantu-
>n_tiket);
cputs(" No. Tiket : "); 2008
for (i=0;i<bantu->n_tiket;i++)
printf("| no.%3.0f | ",bantu->notiket[i]);
printf("\n\n Bayar : ");printf("Rp %.0f\n",bantu-
>byr);
printf("_____________________________________________________________\n
");
}
else printf("\n\n File Tidak Di Temukan");
getch();
return 0;
}
//=======================================================================
====
edit()
{
clrscr();
if (ketemu)
{
printf("_____________________________________________________________\n
");
printf("\n Nama : ");printf("%s\n",bantu->nama);
cputs(" No. KTP : ");printf("%s\n",bantu->ktp);
cputs(" Umur : ");printf("%d Tahun\n",bantu-
>umur);
cputs(" Jurusan [Bandung/Jakarta] : ");printf("%s\n",bantu->jur);
cputs(" Kelas [Eksekutif/Bisnis] : ");printf("%s\n",bantu->kls);
cprintf(" Tgl Sekarang : %d-%d-
%d",tgl.da_day,tgl.da_mon,tgl.da_year);
do{
gotoxy(2,13);delline();
gotoxy(2,12);delline();
cputs(" Tgl Keberangkatan [max h-4]: ");scanf("%d",&bantu-
>tgl);fflush(stdin);
gotoxy(35,11);cprintf("-%d-%d",tgl.da_mon,tgl.da_year);
bantu->hke=(bantu->tgl-tgl.da_day);
gotoxy(2,13);delline();
cputs(" H-ke : ");printf("h-%d\n",bantu->hke);
}while((bantu->hke<0)||(bantu->hke>4));
index_ambil=bantu->hke;
if(tiket[index_ambil]!=NULL)
{
for (j=0;j<5;j++) tambah->jam[j]=NULL;
for (j=0;j<5;j++)
{
do{
gotoxy(2,14);delline();
cputs(" Waktu Keberangkatan : ");
1
Program Pengolahan Pemesanan Tiket KA
for (i=0;i<5;i++)
{
if (bantu->jam[i]!=NULL) printf("%c",bantu->jam[i]);
else break;
}
gotoxy(33+j,14); 2008
if (j!=2)bantu->jam[j]=getche();
else
{
bantu->jam[j]='.';
break;
}
}while((isdigit(bantu->jam[j])==0));
}
if (strcmp(strlwr(bantu->kls),"eksekutif")==0)
bantu->byr+=(bantu->n_tiket*10000);
else
bantu->byr+=(bantu->n_tiket*6000);
getch();
return 0;
}
//=======================================================================
====