Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <conio.h>
- struct{
- char nama[15];
- char pass[15];
- }data[100],login,regi,admin;
- struct bus{
- char asal[20];
- char tujuan[20];
- int harga,kursi;
- }jadwal[100],input,display,sorting[100],sortingtemp;;
- FILE *Userdata;
- FILE *FileJadwal;
- void bersih();
- void regis();
- void masuk(int *m);
- int masukadmin(char nama[20],char pass[20]);
- void InputJadwal();
- void DisplayJadwal();
- void DisplayJadwalUser(int *pil,int PilihJadwal);
- void BeliTiket();
- void JadwalSortingAsalTerbesar();
- void JadwalNormal();
- int main()
- {
- int pilihan,sukses,z=0,StatusAdmin,piljadwal=0;
- char c;
- MenuAwal:
- bersih();
- printf("\t\t=================\n");
- printf("\t\t* PITIBUS *\n");
- printf("\t\t=================\n");
- printf("\n");
- printf("1. Login\n");
- printf("2. Register\n");
- printf("3. Login As Admin\n");
- printf("4. Exit\n");
- printf("\nMasukkan pilihan Anda: ");
- scanf("%d",&pilihan);
- bersih();
- switch(pilihan){
- case 1:
- Login:
- masuk(&sukses);
- if(sukses==1)
- goto MainMenu;
- else{
- printf("\n---------------------------------------------\n");
- printf("\tUSERNAME ATAU PASSWORD SALAH\n");
- printf("\tTEKAN Y UNTUK LOGIN KEMBALI\n");
- printf("\tTEKAN ENTER UNTUK KEMBALI KE MENU UTAMA\n");
- if((getch()=='y')||(getch()=='Y'))
- goto Login;
- else goto MenuAwal;
- }
- break;
- case 2:
- regis();
- goto MenuAwal;
- break;
- case 3:
- AdminLogin:
- bersih();
- printf("\t\t====================\n");
- printf("\t\t* LOGIN ADMIN *\n");
- printf("\t\t====================\n");
- printf("\n\n");
- printf("MASUKKAN USERNAME: ");
- fflush(stdin);
- gets(admin.nama);
- printf("MASUKKAN PASSWORD: ");
- while((c=getch())!=13){
- admin.pass[z++]=c;
- printf("%c",'*');
- }
- admin.pass[z]='\0';
- StatusAdmin=masukadmin(admin.nama,admin.pass);
- if(StatusAdmin==1){
- StatusAdmin=0;
- printf("\n------------------------------\n");
- printf("\tSELAMAT DATANG ADMIN\n");
- admin.pass[0]='\n';
- z=0;
- system("pause");
- goto MenuAdmin;
- }else{
- printf("\n------------------------------\n");
- printf("\tUSERNAME ATAU PASSWORD SALAH\n");
- printf("\tTEKAN Y UNTUK LOGIN KEMBALI\n");
- printf("\tTEKAN ENTER UNTUK KEMBALI KE MENU UTAMA\n");
- if((getch()=='y')||(getch()=='Y'))
- goto AdminLogin;
- else goto MenuAwal;
- }
- case 4:
- return 0;
- break;
- }
- MainMenu:
- bersih();
- printf("\tJASA PELAYANAN BUS\n");
- printf("------------------------------\n");
- printf("1.Jadwal Bus\n2.Beli Tiket\n3.Riwayat Pemesanan\n5.Tentang Aplikasi\n6.Bantuan\n7.Logout\n");
- printf("------------------------------\n");
- printf("Masukkan pilihan Anda: ");
- scanf("%d", &pilihan);
- bersih();
- switch (pilihan) {
- case 1 :
- MenuJadwal:
- bersih();
- printf("\t\tJADWAL BUS\n");
- printf("=========================================\n");
- if(piljadwal==0||piljadwal==4){
- JadwalNormal();
- piljadwal=0;
- }
- if(piljadwal==1){
- JadwalSortingAsalTerbesar();
- piljadwal=0;
- }
- printf("1. Beli\n");
- printf("2. Urutkan\n");
- printf("3. Cari\n");
- printf("4. Menu\n");
- printf("----------------------\n");
- printf("Masukkan pilihan Anda: ");
- scanf("%d",&pilihan);
- if(pilihan==1){
- BeliTiket();
- }
- if(pilihan==2){
- bersih();
- printf("1. Berdasarkan Daerah\n");
- printf("4. Kembali\n");
- printf("----------------------\n");
- printf("Masukkan pilihan Anda: ");
- scanf("%d",&piljadwal);
- goto MenuJadwal;
- }
- if(pilihan==4){
- goto MainMenu;
- }
- break;
- case 2 :
- BeliTiket();
- break;
- case 3 :
- printf("UNDERMAINTENANCE");
- break;
- case 4 :
- printf("UNDERMAINTENANCE");
- break;
- case 5 :
- printf("UNDERMAINTENANCE");
- break;
- case 6 :
- printf("UNDERMAINTENANCE");
- break;
- case 7:
- goto MenuAwal;
- default :
- printf("menu tidak tersedia");
- break;
- }
- MenuAdmin:
- bersih();
- printf("\tMENU ADMIN\n");
- printf("---------------------------\n");
- printf("1. Input Jadwal\n");
- printf("2. Ganti Jadwal\n");
- printf("3. Lihat Jadwal\n");
- printf("4. Logout\n");
- printf("---------------------------\n");
- printf("Masukkan pilihan Anda: ");
- scanf("%d",&pilihan);
- switch(pilihan){
- case 1:
- InputJadwal();
- goto MenuAdmin;
- break;
- case 3:
- DisplayJadwal();
- system("pause");
- goto MenuAdmin;
- case 4:
- goto MenuAwal;
- break;
- }
- return 0;
- }
- void bersih()
- {
- system("cls");
- }
- void regis()
- {
- char c,cek_nama[20],cek_pass[20];
- int z=0;
- daftar:
- bersih();
- Userdata=fopen("Data.txt","a+");
- printf("\t\t==============\n");
- printf("\t\t* REGISTRASI *\n");
- printf("\t\t==============\n");
- printf("\n\n");
- printf("MASUKKAN USERNAME: ");
- scanf("%s",regi.nama);
- while(!feof(Userdata)){
- fscanf(Userdata,"%s %s\n",cek_nama,cek_pass);
- if(strcmp(cek_nama,regi.nama)==0){
- printf("\n------------------------------\n");
- printf("\tUSERNAME TIDAK TERSEDIA\n");
- printf("\tTEKAN Y UNTUN MENCOBA LAGI\n");
- if((getch()=='Y')||(getch()=='y'))
- goto daftar;
- else main();
- }
- }
- printf("MASUKKAN PASSWORD: ");
- while (z<=15){
- regi.pass[z]=getch();
- c=regi.pass[z];
- if(c==13) break;
- else printf("*");
- z++;
- }
- fprintf(Userdata,"%s %s\n",regi.nama,regi.pass);
- fclose(Userdata);
- printf("\n------------------------------\n");
- printf("\tREGISTRASI SUKSES\n");
- system("pause");
- }
- void masuk(int *m)
- {
- char c,cek_nama[15],cek_pass[15];
- int z=0;
- *m=0;
- bersih();
- Userdata=fopen("Data.txt","r+");
- printf("\t\t===============\n");
- printf("\t\t* LOGIN *\n");
- printf("\t\t===============\n");
- printf("\n\n");
- printf("MASUKKAN USERNAME: ");
- scanf("%s",login.nama);
- printf("MASUKKAN PASSWORD: ");
- while((c=getch())!=13){
- login.pass[z++]=c;
- printf("%c",'*');
- }
- login.pass[z]='\0';
- while(!feof(Userdata)){
- fscanf(Userdata,"%s %s\n",cek_nama,cek_pass);
- if((strcmp(cek_nama,login.nama)==0)&&(strcmp(login.pass,cek_pass)==0)){
- printf("\n------------------------------\n");
- printf("\tLOGIN SUKSES\n");
- system("pause");
- *m=1;
- goto keluar;
- }else if((strcmp(cek_nama,login.nama)!=0)||(strcmp(login.pass,cek_pass)!=0)){
- *m=0;
- }
- }
- keluar:
- fclose(Userdata);
- }
- int masukadmin(char nama[20],char pass[20])
- {
- if((strcmp(nama,"Dickys11")==0)&&(strcmp(pass,"kmzway87aa")==0))
- return 1;
- else
- return 0;
- }
- void InputJadwal()
- {
- char pil;
- printf("\t\tINPUT JADWAL\n");
- printf("=========================================\n");
- bersih();
- FileJadwal=fopen("Jadwal.txt","a+");
- do{
- printf("Asal\t\t: ");scanf("%s",input.asal);
- printf("Tujan\t\t: ");scanf("%s",input.tujuan);
- printf("Harga\t\t: ");scanf("%d",&input.harga);
- printf("Jumlah Penumpang: ");scanf("%d",&input.kursi);
- fprintf(FileJadwal,"%s %s %d %d\n",input.asal,input.tujuan,input.harga,input.kursi);
- printf("Tekan Y untuk input jadwal kembali \n");
- pil=getch();
- }while(pil=='y'||pil=='Y');
- fclose(FileJadwal);
- }
- void DisplayJadwal()
- {
- int i=1;
- FileJadwal=fopen("Jadwal.txt","r");
- bersih();
- printf("\t\tJADWAL BUS\n");
- printf("=========================================\n");
- while(!feof(FileJadwal)){
- fscanf(FileJadwal,"%s %s %d %d\n",display.asal,display.tujuan,&display.harga,&display.kursi);
- printf("Rute No %d\n",i);
- printf("\tAsal\t\t: %s\n",display.asal);
- printf("\tTujan\t\t: %s\n",display.tujuan);
- printf("\tHarga\t\t: %d\n",display.harga);
- printf("\tJumlah Penumpang: %d\n",display.kursi);
- printf("--------------------------------------\n");
- i++;
- }
- fclose(FileJadwal);
- }
- void BeliTiket()
- {
- printf("ini beli\n");
- system("pause");
- }
- void JadwalNormal()
- {
- int i=1;
- FileJadwal=fopen("Jadwal.txt","r");
- while(!feof(FileJadwal)){
- fscanf(FileJadwal,"%s %s %d %d\n",display.asal,display.tujuan,&display.harga,&display.kursi);
- printf("Rute No %d\n",i);
- printf("\tAsal\t\t: %s\n",display.asal);
- printf("\tTujan\t\t: %s\n",display.tujuan);
- printf("\tHarga\t\t: %d\n",display.harga);
- printf("\tJumlah Penumpang: %d\n",display.kursi);
- printf("--------------------------------------\n");
- i++;
- }
- fclose(FileJadwal);
- }
- void JadwalSortingAsalTerbesar()
- {
- int i=0,j,n;
- FileJadwal=fopen("Jadwal.txt","r");
- while(!feof(FileJadwal)){
- fscanf(FileJadwal,"%s %s %d %d\n",sorting[i].asal,sorting[i].tujuan,&sorting[i].harga,&sorting[i].kursi);
- i++;
- }
- n=i;
- for(i=1;i<n;i++){
- for(j=0;j<n-i;j++){
- if(strcmp(sorting[j+1].asal,sorting[j].asal)<0){
- sortingtemp=sorting[j+1];
- sorting[j+1]=sorting[j];
- sorting[j]=sortingtemp;
- }
- }
- }
- for(i=0;i<n;i++){
- printf("Rute No %d\n",i+1);
- printf("\tAsal\t\t: %s\n",sorting[i].asal);
- printf("\tTujan\t\t: %s\n",sorting[i].tujuan);
- printf("\tHarga\t\t: %d\n",sorting[i].harga);
- printf("\tJumlah Penumpang: %d\n",sorting[i].kursi);
- printf("--------------------------------------\n");
- }
- }
Add Comment
Please, Sign In to add comment