Advertisement
Guest User

Untitled

a guest
Jun 25th, 2018
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.00 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <cstdlib>
  4. #include <cstring>
  5.  
  6. #define max 30
  7.  
  8. using namespace std;
  9.  
  10. struct QUEUE {
  11. int nmr[max];
  12. string tanggal[max];
  13. string pemesan[max];
  14. int hp1[max];
  15. string org[max];
  16. int head;
  17. int tail;
  18. } antrian;
  19.  
  20. void init (){
  21. antrian.head = 0;
  22. antrian.tail = 0;
  23. }
  24.  
  25. bool kosong (){
  26. if (antrian.tail == 0){
  27. return true;
  28. }
  29. else {
  30. return false;
  31. }
  32.  
  33. }
  34.  
  35. bool penuh (){
  36. if (antrian.tail == max){
  37. return true;
  38. }
  39. else {
  40. return false;
  41. }
  42.  
  43. }
  44.  
  45. void tampilData (){
  46. if (!kosong()){
  47. for (int i = antrian.head; i <= antrian.tail-1; i++){
  48. cout << "\tAntrian Data ke-" <<i<< endl;
  49. cout << "\tnmr Resi \t\t: " << antrian.nmr[i] << endl;
  50. cout << "\tTanggal (dd/mm/yy) \t: " << antrian.tanggal[i] << endl;
  51. cout << "\tAlamat pemesan \t\t: "<<antrian.pemesan[i] << endl;
  52. cout << "\tnmr HP \t\t\t: " << antrian.hp1[i] << endl;
  53. cout << "\torg Barang \t: " << antrian.org[i] << endl;
  54. cout << "\n";
  55. }
  56. }
  57. }
  58.  
  59. void inputData (int nmr, string tanggal, string pemesan, int hp1, string org){
  60. if (!penuh()){
  61.  
  62. antrian.nmr [antrian.tail] = nmr;
  63. antrian.tanggal [antrian.tail] = tanggal;
  64. antrian.pemesan [antrian.tail] = pemesan;
  65. antrian.hp1 [antrian.tail] = hp1;
  66. antrian.org [antrian.tail] = org;
  67. cout << "\tData telah ditambahkan!\n\n";
  68. antrian.tail++;
  69.  
  70. }
  71. else {
  72. cout << "\tAntrian penuh !!";
  73. }
  74. }
  75.  
  76. void hapusData (){
  77.  
  78. if (!kosong()){
  79. cout << "\tMengambil data dengan nmr Resi = \" "<<antrian.nmr[antrian.head] << " \" ... " <<endl;
  80. for (int i=antrian.head; i<antrian.tail; i++){
  81. antrian.nmr[i] = antrian.nmr [i+1];
  82. }
  83.  
  84. antrian.tail--;
  85. }
  86. else {
  87. cout << "\tAntrian kosong !!";
  88. }
  89. }
  90.  
  91. void UrutkanData (){
  92. int urut, i, j;
  93. int temp1, temp4;
  94. string temp3, temp2, temp5;
  95.  
  96. cout << "\tUrutkan berdasarkan : \n";
  97. cout << "\t[1] nmr Resi \t\t [2] Tanggal\n";
  98. cout << "\tMasukan Pilihan : ";
  99. cin >> urut;
  100.  
  101. switch (urut){
  102. case 1:
  103. for(i=0;i<antrian.tail;++i){
  104. for(j=0;j<(antrian.tail-1);++j)
  105. if(antrian.nmr[j]>antrian.nmr[j+1]){
  106.  
  107. temp1=antrian.nmr[j];
  108. antrian.nmr[j]=antrian.nmr[j+1];
  109. antrian.nmr[j+1]=temp1;
  110.  
  111. temp2=antrian.tanggal[j];
  112. antrian.tanggal[j]=antrian.tanggal[j+1];
  113. antrian.tanggal[j+1]=temp2;
  114.  
  115. temp3=antrian.pemesan[j];
  116. antrian.pemesan[j]=antrian.pemesan[j+1];
  117. antrian.pemesan[j+1]=temp3;
  118.  
  119. temp4=antrian.hp1[j];
  120. antrian.hp1[j]=antrian.hp1[j+1];
  121. antrian.hp1[j+1]=temp4;
  122.  
  123. temp5=antrian.org[j];
  124. antrian.org[j]=antrian.org[j+1];
  125. antrian.org[j+1]=temp5;
  126.  
  127. }
  128. }
  129.  
  130. cout<<"\tData setelah diurutkan : "<<endl;
  131. tampilData();
  132.  
  133. break;
  134. case 2:
  135. for(i=0;i<antrian.tail;++i){
  136. for(j=0;j<(antrian.tail-1);++j)
  137. if(antrian.tanggal[j]>antrian.tanggal[j+1]){
  138.  
  139. temp1=antrian.nmr[j];
  140. antrian.nmr[j]=antrian.nmr[j+1];
  141. antrian.nmr[j+1]=temp1;
  142.  
  143. temp2=antrian.tanggal[j];
  144. antrian.tanggal[j]=antrian.tanggal[j+1];
  145. antrian.tanggal[j+1]=temp2;
  146.  
  147. temp3=antrian.pemesan[j];
  148. antrian.pemesan[j]=antrian.pemesan[j+1];
  149. antrian.pemesan[j+1]=temp3;
  150.  
  151. temp4=antrian.hp1[j];
  152. antrian.hp1[j]=antrian.hp1[j+1];
  153. antrian.hp1[j+1]=temp4;
  154.  
  155. temp5=antrian.org[j];
  156. antrian.org[j]=antrian.org[j+1];
  157. antrian.org[j+1]=temp5;
  158.  
  159. }
  160. }
  161.  
  162. cout<<"\tData setelah diurutkan : "<<endl;
  163. tampilData();
  164.  
  165. break;
  166. }
  167. }
  168.  
  169. void cariData(){
  170. int cari;
  171. cout << "\tMasukkan nmr Resi yang dicari : ";
  172. cin >> cari;
  173.  
  174. for(int i = 0; i < antrian.tail; i++){
  175. if(antrian.nmr[i] == cari){
  176. cout << "\tData berada pada antrian ke-" <<i<< "\n";
  177. cout << "\tnmr Resi \t\t: " << antrian.nmr[i] << "\n";
  178. cout << "\tTanggal (ddmmyy) \t: " << antrian.tanggal[i] << "\n";
  179. cout << "\tAlamat pemesan \t\t: "<<antrian.pemesan[i] << "\n";
  180. cout << "\tnmr HP \t\t\t: " << antrian.hp1[i] << "\n";
  181. cout << "\tJumlah Orang \t: " << antrian.org[i] << "\n";
  182. break;
  183. }
  184. else{
  185. cout << "\t Resi tidak ditemukan";
  186. }
  187. }
  188. }
  189.  
  190. int main (){
  191. int pil;
  192. int nmr, hp1;
  193. string pemesan, tanggal, alamat, org;
  194.  
  195. system("cls");
  196.  
  197. do {
  198.  
  199. cout << "\n";
  200. cout << " PROGRAM RESERVASI\n\n";
  201. cout << " MENU UTAMA\n";
  202. cout << "\n";
  203. cout << " [1] Masukkan Data reservasi \n";
  204. cout << " [2] Hapus reservasi \n";
  205. cout << " [3] Cari reservasi \n";
  206. cout << " [4] Urutkan reservasi \n";
  207. cout << " [5] Tampilkan Data seluruh reservasi \n";
  208. cout << " [6] Kosongkan data reservasi \n";
  209. cout << " [0] Keluar \n";
  210. cout << "----------------------\n";
  211. cout << "\n\tMasukkan Pilihan : ";
  212. cin >> pil;
  213.  
  214. switch (pil){
  215. case 1:
  216. cout << "\tNo Resi \t\t: ";
  217. cin >> nmr;
  218. cin.ignore(1, '\n');
  219. cout << "\tTanggal (dd/mm/yy) \t: ";
  220. getline(cin, tanggal);
  221. cout << "\tNama Pemesan \t\t: ";
  222. getline(cin, pemesan);
  223. cout << "\tAlamat Asal \t\t: ";
  224. getline(cin, alamat);
  225. cout << "\tNo HP \t\t\t: ";
  226. cin >> hp1;
  227. cout << "\tDeskripsi orang \t: ";
  228. getline(cin, org);
  229. inputData(nmr, tanggal, pemesan, hp1, org);
  230.  
  231. break;
  232. case 2:
  233. hapusData();
  234. break;
  235. case 3:
  236. cariData();
  237. break;
  238. case 4:
  239. UrutkanData();
  240. break;
  241. case 5:
  242. tampilData();
  243. break;
  244. case 6:
  245. init();
  246. break;
  247. }
  248. cout <<endl;
  249. system("pause");
  250. system("cls");
  251. }
  252. while (pil != 0);
  253.  
  254. return 0;
  255. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement