Dickys11

tubes pantek

Apr 12th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.88 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <conio.h>
  5. #include <dir.h>
  6.  
  7. struct{
  8. char nama[15];
  9. char pass[15];
  10. }data[100],login,regi,admin;
  11.  
  12. struct bus{
  13. char asal[20];
  14. char tujuan[20];
  15. int harga,tiket,rute;
  16. }jadwal[100],input,display,sorting[100],sortingtemp,histori,cek[100];
  17.  
  18. FILE *Userdata;
  19. FILE *FileJadwal;
  20.  
  21. void bersih();
  22. void regis();
  23. void masuk(int *m,char username[15]);
  24. int masukadmin(char nama[20],char pass[20]);
  25. void InputJadwal();
  26. void DisplayJadwal();
  27. void DisplayJadwalUser(int *pil,int PilihJadwal);
  28. void BeliTiket();
  29. void JadwalSortingAsalTerbesar();
  30. void JadwalNormal();
  31. void HapusJadwal();
  32. void JadwalSortingHargaTerbesar();
  33.  
  34. int main()
  35. {
  36. int pilihan,sukses,z=0,StatusAdmin,piljadwal=0;
  37. char t,c,nama[15],datauser[20];
  38. MenuAwal:
  39. bersih();
  40. printf("\t\t=================\n");
  41. printf("\t\t* PITIBUS *\n");
  42. printf("\t\t=================\n");
  43. printf("\n");
  44. printf("1. Login\n");
  45. printf("2. Register\n");
  46. printf("3. Login As Admin\n");
  47. printf("4. Exit\n");
  48. printf("\nMasukkan pilihan Anda: ");
  49. scanf("%d",&pilihan);
  50. bersih();
  51. switch(pilihan){
  52. case 1:
  53. Login:
  54. masuk(&sukses,nama);
  55. if(sukses==1){
  56. goto MainMenu;
  57. }
  58. else{
  59. printf("\n---------------------------------------------\n");
  60. printf("\tUSERNAME ATAU PASSWORD SALAH\n");
  61. printf("\tTEKAN Y UNTUK LOGIN KEMBALI\n");
  62. printf("\tTEKAN ENTER UNTUK KEMBALI KE MENU UTAMA\n");
  63. t=getch();
  64. if((t=='y')||(t=='Y'))
  65. goto Login;
  66. else goto MenuAwal;
  67. }
  68. break;
  69. case 2:
  70. regis();
  71. goto MenuAwal;
  72. break;
  73. case 3:
  74. AdminLogin:
  75. bersih();
  76. printf("\t\t====================\n");
  77. printf("\t\t* LOGIN ADMIN *\n");
  78. printf("\t\t====================\n");
  79. printf("\n\n");
  80. printf("MASUKKAN USERNAME: ");
  81. fflush(stdin);
  82. gets(admin.nama);
  83. printf("MASUKKAN PASSWORD: ");
  84. while((c=getch())!=13){
  85. admin.pass[z++]=c;
  86. printf("%c",'*');
  87. }
  88. admin.pass[z]='\0';
  89. StatusAdmin=masukadmin(admin.nama,admin.pass);
  90. if(StatusAdmin==1){
  91. StatusAdmin=0;
  92. printf("\n------------------------------\n");
  93. printf("\tSELAMAT DATANG ADMIN\n");
  94. admin.pass[0]='\n';
  95. system("pause");
  96. goto MenuAdmin;
  97. }else{
  98. printf("\n------------------------------\n");
  99. printf("\tUSERNAME ATAU PASSWORD SALAH\n");
  100. printf("\tTEKAN Y UNTUK LOGIN KEMBALI\n");
  101. printf("\tTEKAN ENTER UNTUK KEMBALI KE MENU UTAMA\n");
  102. t=getch();
  103. admin.pass[0]='\0';
  104. z=0;
  105. if((t=='y')||(t=='Y'))
  106. goto AdminLogin;
  107. else goto MenuAwal;
  108. }
  109. case 4:
  110. return 0;
  111. break;
  112. default :
  113. printf("PILIHAN TIDAK TERSEDIA\n");
  114. system("pause");
  115. goto MenuAwal;
  116. }
  117. MainMenu:
  118. bersih();
  119. printf("\tJASA PELAYANAN BUS\n");
  120. printf("------------------------------\n");
  121. printf("1.Jadwal Bus\n2.Riwayat Pemesanan\n3.Tentang Aplikasi\n4.Bantuan\n5.Logout\n");
  122. printf("------------------------------\n");
  123. printf("Masukkan pilihan Anda: ");
  124. scanf("%d", &pilihan);
  125. bersih();
  126. switch (pilihan) {
  127. case 1 :
  128. MenuJadwal:
  129. bersih();
  130. if(piljadwal==0||piljadwal==4){
  131. printf("\t\tJADWAL BUS\n");
  132. printf("=========================================\n");
  133. printf("No\t|Asal\t\t\t|Tujuan\t\t\t|Harga\t\t|Tiket Tersedia\t|No Rute\t|\n");
  134. printf("-------------------------------------------------------------------------------\n");
  135. JadwalNormal();
  136. printf("-------------------------------------------------------------------------------\n");
  137. // piljadwal=0;
  138. }
  139. else if(piljadwal==1){
  140. printf("\t\tJADWAL BUS\n");
  141. printf("=========================================\n");
  142. printf("No\t|Asal\t\t\t|Tujuan\t\t\t|Harga\t\t|Tiket Tersedia\t|No Rute\t|\n");
  143. JadwalSortingAsalTerbesar();
  144. printf("-------------------------------------------------------------------------------\n");
  145. // piljadwal=0;
  146. }
  147. else if(piljadwal==2){
  148. printf("\t\tJADWAL BUS\n");
  149. printf("=========================================\n");
  150. printf("No\t|Asal\t\t\t|Tujuan\t\t\t|Harga\t\t|Tiket Tersedia\t|No Rute\t|\n");
  151. JadwalSortingHargaTerbesar();
  152. printf("-------------------------------------------------------------------------------\n");
  153. // piljadwal=0;
  154. }else {
  155. printf("MENU TIDAK TERSEDIA\n");
  156. system("pause");
  157. piljadwal=0;
  158. goto MenuJadwal;
  159. }
  160. printf("1. Beli\n");
  161. printf("2. Urutkan\n");
  162. printf("3. Cari\n");
  163. printf("4. Menu\n");
  164. printf("----------------------\n");
  165. printf("Masukkan pilihan Anda: ");
  166. scanf("%d",&pilihan);
  167. if(pilihan==1){
  168. BeliTiket(nama,piljadwal);
  169. goto MainMenu;
  170. }
  171. else if(pilihan==2){
  172. bersih();
  173. printf("1. Berdasarkan Daerah\n");
  174. printf("2. Berdasarkan Harga\n");
  175. printf("3. Berdasarkan No Rute\n");
  176. printf("4. Kembali\n");
  177. printf("----------------------\n");
  178. printf("Masukkan pilihan Anda: ");
  179. scanf("%d",&piljadwal);
  180. goto MenuJadwal;
  181. }
  182. else if(pilihan==4){
  183. goto MainMenu;
  184. }else {
  185. printf("MENU TIDAK TERSEDIA\n");
  186. system("pause");
  187. goto MenuJadwal;
  188. }
  189. break;
  190. case 2 :
  191. mkdir("data");
  192. sprintf(datauser,"data\\%s.txt",nama);
  193. Userdata=fopen(datauser,"a+");
  194. fseek(Userdata,0,SEEK_END);
  195. if(ftell(Userdata)==0)
  196. printf("\t\tTIDAK ADA RIWAYAT PEMBELIAN\n");
  197. else {
  198. Userdata=fopen(datauser,"r");
  199. printf("RIWAYAT PEMBELIAN\n");
  200. printf("===================================\n");
  201. while(!feof(Userdata)){
  202. fscanf(Userdata,"%s %s %d %d %d\n",histori.asal,histori.tujuan,&histori.harga,&histori.tiket,&histori.rute);
  203. printf("Asal\t\t: %s\n",histori.asal);
  204. printf("Tujan\t\t: %s\n",histori.tujuan);
  205. printf("Harga\t\t: %d\n",histori.harga);
  206. printf("Jumlah Tiket\t: %d\n",histori.tiket);
  207. printf("No. Rute \t: %d\n",histori.rute);
  208. printf("--------------------------------------\n");
  209. }
  210. }
  211. system("pause");
  212. fclose(Userdata);
  213. goto MainMenu;
  214. break;
  215. case 3 :
  216. printf("UNDERMAINTENANCE");
  217. break;
  218. case 4 :
  219. printf("UNDERMAINTENANCE");
  220. break;
  221. case 5:
  222. goto MenuAwal;
  223. default :
  224. printf("MENU TIDAK TERSEDIA\n");
  225. system("pause");
  226. goto MainMenu;
  227. break;
  228. }
  229.  
  230. MenuAdmin:
  231. bersih();
  232. printf("\tMENU ADMIN\n");
  233. printf("---------------------------\n");
  234. printf("1. Input Jadwal\n");
  235. printf("2. Hapus Jadwal\n");
  236. printf("3. Lihat Jadwal\n");
  237. printf("4. Logout\n");
  238. printf("---------------------------\n");
  239. printf("Masukkan pilihan Anda: ");
  240. scanf("%d",&pilihan);
  241. switch(pilihan){
  242. case 1:
  243. InputJadwal();
  244. goto MenuAdmin;
  245. break;
  246. case 2:
  247. HapusJadwal();
  248. goto MenuAdmin;
  249. break;
  250. case 3:
  251. DisplayJadwal();
  252. system("pause");
  253. goto MenuAdmin;
  254. case 4:
  255. goto MenuAwal;
  256. break;
  257. case 5:
  258. printf("MENU TIDAK TERSEDIA\n");
  259. system("pause");
  260. goto MenuAdmin;
  261. }
  262. return 0;
  263. }
  264.  
  265. void bersih()
  266. {
  267. system("cls");
  268. }
  269.  
  270. void regis()
  271. {
  272. char t,c,cek_nama[20],cek_pass[20];
  273. int z=0;
  274. daftar:
  275. bersih();
  276. Userdata=fopen("Data.txt","a+");
  277. printf("\t\t==============\n");
  278. printf("\t\t* REGISTRASI *\n");
  279. printf("\t\t==============\n");
  280. printf("\n\n");
  281. printf("MASUKKAN USERNAME: ");
  282. scanf("%s",regi.nama);
  283. while(!feof(Userdata)){
  284. fscanf(Userdata,"%s %s\n",cek_nama,cek_pass);
  285. if(strcmp(cek_nama,regi.nama)==0){
  286. printf("\n------------------------------\n");
  287. printf("\tUSERNAME TIDAK TERSEDIA\n");
  288. printf("\tTEKAN Y UNTUN MENCOBA LAGI\n");
  289. t=getch();
  290. if((t=='Y')||(t=='y'))
  291. goto daftar;
  292. else main();
  293. }
  294. }
  295. printf("MASUKKAN PASSWORD: ");
  296. while (z<=15){
  297. regi.pass[z]=getch();
  298. c=regi.pass[z];
  299. if(c==13) break;
  300. else printf("*");
  301. z++;
  302. }
  303. fprintf(Userdata,"%s %s\n",regi.nama,regi.pass);
  304. fclose(Userdata);
  305. printf("\n------------------------------\n");
  306. printf("\tREGISTRASI SUKSES\n");
  307. system("pause");
  308. }
  309.  
  310. void masuk(int *m,char username[15])
  311. {
  312. char c,cek_nama[15],cek_pass[15];
  313. int z=0;
  314. *m=0;
  315. bersih();
  316. Userdata=fopen("Data.txt","r+");
  317. printf("\t\t===============\n");
  318. printf("\t\t* LOGIN *\n");
  319. printf("\t\t===============\n");
  320. printf("\n\n");
  321. printf("MASUKKAN USERNAME: ");
  322. scanf("%s",login.nama);
  323. printf("MASUKKAN PASSWORD: ");
  324. while((c=getch())!=13){
  325. login.pass[z++]=c;
  326. printf("%c",'*');
  327. }
  328. login.pass[z]='\0';
  329. while(!feof(Userdata)){
  330. fscanf(Userdata,"%s %s\n",cek_nama,cek_pass);
  331. if((strcmp(cek_nama,login.nama)==0)&&(strcmp(login.pass,cek_pass)==0)){
  332. printf("\n------------------------------\n");
  333. printf("\tLOGIN SUKSES\n");
  334. strcpy(username,login.nama);
  335. system("pause");
  336. *m=1;
  337. goto keluar;
  338. }else if((strcmp(cek_nama,login.nama)!=0)||(strcmp(login.pass,cek_pass)!=0)){
  339. *m=0;
  340. }
  341. }
  342. keluar:
  343. fclose(Userdata);
  344. }
  345.  
  346. int masukadmin(char nama[20],char pass[20])
  347. {
  348. if((strcmp(nama,"Dickys11")==0)&&(strcmp(pass,"kmzway87aa")==0))
  349. return 1;
  350. else
  351. return 0;
  352. }
  353.  
  354. void InputJadwal()
  355. {
  356. char pil;
  357. int i=1,n,status=0;
  358. bersih();
  359. printf("\t\tINPUT JADWAL\n");
  360. printf("=========================================\n");
  361. FileJadwal=fopen("Jadwal.txt","a+");
  362. while(!feof(FileJadwal)){
  363. fscanf(FileJadwal,"%s %s %d %d %d\n",cek[i].asal,cek[i].tujuan,&cek[i].harga,&cek[i].tiket,&cek[i].rute);
  364. i++;
  365. }
  366. n=i;
  367. do{
  368. printf("Asal\t\t: ");scanf("%s",input.asal);
  369. printf("Tujan\t\t: ");scanf("%s",input.tujuan);
  370. printf("Harga\t\t: ");scanf("%d",&input.harga);
  371. printf("Jumlah Penumpang: ");scanf("%d",&input.tiket);
  372. printf("No. Rute \t: ");scanf("%d",&input.rute);
  373. for(i=1;i<n;i++){
  374. if(input.rute==cek[i].rute){
  375. status=0;
  376. break;
  377. }else {
  378. status=1;
  379. break;
  380. }
  381. }
  382. if(status==0){
  383. printf("NO RUTE TELAH DIPAKAI\n");
  384. printf("TEKAN Y UNTUK MASUKAN JADWAL KEMBALI\n");
  385. pil=getch();
  386. }else{
  387. fprintf(FileJadwal,"%s %s %d %d %d\n",input.asal,input.tujuan,input.harga,input.tiket,input.rute);
  388. printf("TEKAN Y UNTUK MASUKAN JADWAL KEMBALI\n");
  389. pil=getch();
  390. status=0;
  391. }
  392. }while(pil=='y'||pil=='Y');
  393. fclose(FileJadwal);
  394. }
  395.  
  396. void HapusJadwal()
  397. {
  398. int RuteHapus,i=1,z,n,pil;
  399. DisplayJadwal();
  400. printf("--------------------------\n");
  401. printf("1. Hapus Satu Jadwal\n");
  402. printf("2. Hapus Semua Jadwal\n");
  403. printf("3. Kembali\n");
  404. printf("--------------------------\n");
  405. printf("Masukkan Pilihan Anda: ");
  406. scanf("%d",&pil);
  407. FileJadwal=fopen("Jadwal.txt","r");
  408. if(pil==1){
  409. printf("Masukkan No. Rute yang akan dihapus: ");
  410. scanf("%d",&RuteHapus);
  411. while(!feof(FileJadwal)){
  412. fscanf(FileJadwal,"%s %s %d %d %d\n",sorting[i].asal,sorting[i].tujuan,&sorting[i].harga,&sorting[i].tiket,&sorting[i].rute);
  413. if(RuteHapus==sorting[i].rute)
  414. z=i;
  415. i++;
  416. }
  417. n=i-1;
  418. fclose(FileJadwal);
  419. FileJadwal=fopen("Jadwal.txt","w");
  420. for(i=1;i<=n;i++){
  421. if(i!=z)
  422. fprintf(FileJadwal,"%s %s %d %d %d\n",sorting[i].asal,sorting[i].tujuan,sorting[i].harga,sorting[i].tiket,sorting[i].rute);
  423. }
  424. fclose(FileJadwal);
  425. remove(sorting[n].asal);
  426. printf("Data Berhasil Dihapus\n");
  427. system("pause");
  428. }else if(pil==2){
  429. FileJadwal=fopen("Jadwal.txt","w");
  430. fclose(FileJadwal);
  431. printf("Data Berhasil Dihapus\n");
  432. system("pause");
  433. }
  434. }
  435.  
  436. void DisplayJadwal()
  437. {
  438. int i=1;
  439. bersih();
  440. printf("\t\tJADWAL BUS\n");
  441. printf("=========================================\n");
  442. printf("No\t|Asal\t\t\t|Tujuan\t\t\t|Harga\t\t|Tiket Tersedia\t|No Rute\t|\n");
  443. printf("-------------------------------------------------------------------------------\n");
  444. FileJadwal=fopen("Jadwal.txt","r");
  445. fseek(FileJadwal,0,SEEK_END);
  446. if(ftell(FileJadwal)==0)
  447. printf("\t\tTIDAK ADA JADWAL YANG TERSEDIA\n");
  448. else {
  449. FileJadwal=fopen("Jadwal.txt","r");
  450. while(!feof(FileJadwal)){
  451. fscanf(FileJadwal,"%s %s %d %d %d\n",display.asal,display.tujuan,&display.harga,&display.tiket,&display.rute);
  452. printf("%d\t|%-15s\t|%-15s\t|%d\t\t|%d\t\t|%d\t\t|\n",i,display.asal,display.tujuan,display.harga,display.tiket,display.rute);
  453. i++;
  454. }
  455. }
  456. fclose(FileJadwal);
  457. }
  458.  
  459. void BeliTiket(char username[15],int jadwalpil)
  460. {
  461. bersih();
  462. char datauser[15],asal[15],tujuan[15],pil;
  463. int rutebeli,banyak,totalharga,i=0,n,statusbeli=0,statustiket=0;
  464. FileJadwal=fopen("Jadwal.txt","r");
  465. printf("\t\tJADWAL BUS\n");
  466. printf("=========================================\n");
  467. printf("No\t|Asal\t\t\t|Tujuan\t\t\t|Harga\t\t|Tiket Tersedia\t|No Rute\t|\n");
  468. printf("-------------------------------------------------------------------------------\n");
  469. if(jadwalpil==0||jadwalpil==4){
  470. JadwalNormal();
  471. printf("-------------------------------------------------------------------------------\n");
  472. // piljadwal=0;
  473. }
  474. if(jadwalpil==1){
  475. JadwalSortingAsalTerbesar();
  476. printf("-------------------------------------------------------------------------------\n");
  477. // piljadwal=0;
  478. }
  479. if(jadwalpil==2){
  480. JadwalSortingHargaTerbesar();
  481. printf("-------------------------------------------------------------------------------\n");
  482. // piljadwal=0;
  483. }
  484. printf("Masukkan No Rute: ");
  485. scanf("%d",&rutebeli);
  486. printf("Banyak tiket: ");
  487. scanf("%d",&banyak);
  488. FileJadwal=fopen("Jadwal.txt","r+");
  489. while(!feof(FileJadwal)){
  490. fscanf(FileJadwal,"%s %s %d %d %d\n",jadwal[i].asal,jadwal[i].tujuan,&jadwal[i].harga,&jadwal[i].tiket,&jadwal[i].rute);
  491. if(rutebeli==jadwal[i].rute){
  492. if(banyak<jadwal[i].tiket){
  493. jadwal[i].tiket=jadwal[i].tiket-banyak;
  494. totalharga=banyak*jadwal[i].harga;
  495. printf("%s",jadwal[i].asal);
  496. system("pause");
  497. strcpy(asal,jadwal[i].asal);
  498. strcpy(tujuan,jadwal[i].tujuan);
  499. statusbeli=1;
  500. statustiket=1;
  501. i=0;
  502. }else {
  503. statustiket=0;
  504. statusbeli=0;
  505. i=0;
  506. break;
  507. }
  508. }else{
  509. statusbeli=0;
  510. i=0;
  511. }
  512. i++;
  513. }
  514. n=i;
  515. if(statustiket==0){
  516. printf("TIKET TIDAK TERSEDIA\n");
  517. }
  518. else{
  519. bersih();
  520. statusbeli=0;
  521. i=0;
  522. printf("KONFIRMASI PEMBELIAN\n");
  523. printf("===================================\n");
  524. printf("Asal\t\t: %s\n",asal);
  525. printf("Tujan\t\t: %s\n",tujuan);
  526. printf("Harga\t\t: %d\n",totalharga);
  527. printf("Jumlah Tiket\t: %d\n",banyak);
  528. printf("No. Rute \t: %d\n",rutebeli);
  529. printf("--------------------------------------\n");
  530. printf("Lanjutkan Pembayaran?[Y/T]\n");
  531. fflush(stdin);
  532. scanf("%c",&pil);
  533. if(pil=='Y'||pil=='y')
  534. statusbeli=1;
  535. else statusbeli=0;
  536. fclose(FileJadwal);
  537. if(statusbeli==1){
  538. FileJadwal=fopen("Jadwal.txt","w");
  539. for(i=0;i<=n;i++){
  540. fprintf(FileJadwal,"%s %s %d %d %d\n",jadwal[i].asal,jadwal[i].tujuan,jadwal[i].harga,jadwal[i].tiket,jadwal[i].rute);
  541. }
  542. fclose(FileJadwal);
  543. printf("\t\tPEMBELIAN BERHASIL\n");
  544. mkdir("data");
  545. sprintf(datauser,"data\\%s.txt",username);
  546. Userdata=fopen(datauser,"a");
  547. fprintf(Userdata,"%s %s %d %d %d\n",asal,tujuan,totalharga,banyak,rutebeli);
  548. fclose(Userdata);
  549. }else {
  550. printf("PEMBELIAN DIBATALKAN\n");
  551. statusbeli=0;
  552. }
  553. }
  554. fclose(FileJadwal);
  555. system("pause");
  556. }
  557.  
  558. void JadwalNormal()
  559. {
  560. int i=1;
  561. FileJadwal=fopen("Jadwal.txt","r");
  562. fseek(FileJadwal,0,SEEK_END);
  563. if(ftell(FileJadwal)==0)
  564. printf("\t\tTIDAK ADA JADWAL YANG TERSEDIA\n");
  565. else {
  566. FileJadwal=fopen("Jadwal.txt","r");
  567. while(!feof(FileJadwal)){
  568. fscanf(FileJadwal,"%s %s %d %d %d\n",display.asal,display.tujuan,&display.harga,&display.tiket,&display.rute);
  569. printf("%d\t|%-15s\t|%-15s\t|%d\t\t|%d\t\t|%d\t\t|\n",i,display.asal,display.tujuan,display.harga,display.tiket,display.rute);
  570. i++;
  571. }
  572. }
  573. fclose(FileJadwal);
  574. }
  575.  
  576. void JadwalSortingAsalTerbesar()
  577. {
  578. int i=0,j,n;
  579. FileJadwal=fopen("Jadwal.txt","r");
  580. fseek(FileJadwal,0,SEEK_END);
  581. if(ftell(FileJadwal)==0)
  582. printf("\t\tTIDAK ADA JADWAL YANG TERSEDIA\n");
  583. else {
  584. FileJadwal=fopen("Jadwal.txt","r");
  585. while(!feof(FileJadwal)){
  586. fscanf(FileJadwal,"%s %s %d %d %d\n",sorting[i].asal,sorting[i].tujuan,&sorting[i].harga,&sorting[i].tiket,&sorting[i].rute);
  587. i++;
  588. }
  589. n=i;
  590. for(i=1;i<n;i++){
  591. for(j=0;j<n-i;j++){
  592. if(strcmp(sorting[j+1].asal,sorting[j].asal)<0){
  593. sortingtemp=sorting[j+1];
  594. sorting[j+1]=sorting[j];
  595. sorting[j]=sortingtemp;
  596. }
  597. }
  598. }
  599. for(i=0;i<n;i++){
  600. printf("%d\t|%-15s\t|%-15s\t|%d\t\t|%d\t\t|%d\t\t|\n",i+1,sorting[i].asal,sorting[i].tujuan,sorting[i].harga,sorting[i].tiket,sorting[i].rute);
  601. }
  602. }
  603. fclose(FileJadwal);
  604. }
  605.  
  606. void JadwalSortingHargaTerbesar()
  607. {
  608. int i,n,j;
  609. FileJadwal=fopen("Jadwal.txt","r");
  610. fseek(FileJadwal,0,SEEK_END);
  611. if(ftell(FileJadwal)==0)
  612. printf("\t\tTIDAK ADA JADWAL YANG TERSEDIA\n");
  613. else {
  614. FileJadwal=fopen("Jadwal.txt","r");
  615. while(!feof(FileJadwal)){
  616. fscanf(FileJadwal,"%s %s %d %d %d\n",sorting[i].asal,sorting[i].tujuan,&sorting[i].harga,&sorting[i].tiket,&sorting[i].rute);
  617. i++;
  618. }
  619. n=i;
  620. for(i=1;i<n;i++){
  621. for(j=0;j<n-i;j++){
  622. if(sorting[j+1].harga>sorting[j].harga){
  623. sortingtemp=sorting[j+1];
  624. sorting[j+1]=sorting[j];
  625. sorting[j]=sortingtemp;
  626. }
  627. }
  628. }
  629. for(i=0;i<n;i++){
  630. printf("%d\t|%-15s\t|%-15s\t|%d\t\t|%d\t\t|%d\t\t|\n",i+1,sorting[i].asal,sorting[i].tujuan,sorting[i].harga,sorting[i].tiket,sorting[i].rute);
  631. }
  632. }
  633. fclose(FileJadwal);
  634. }
Add Comment
Please, Sign In to add comment