Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdio.h>
- #include <cstdlib>
- #include <cstring>
- #define max 30
- using namespace std;
- struct QUEUE {
- int nmr[max];
- string tanggal[max];
- string pemesan[max];
- int hp1[max];
- string org[max];
- int head;
- int tail;
- } antrian;
- void init (){
- antrian.head = 0;
- antrian.tail = 0;
- }
- bool kosong (){
- if (antrian.tail == 0){
- return true;
- }
- else {
- return false;
- }
- }
- bool penuh (){
- if (antrian.tail == max){
- return true;
- }
- else {
- return false;
- }
- }
- void tampilData (){
- if (!kosong()){
- for (int i = antrian.head; i <= antrian.tail-1; i++){
- cout << "\tAntrian Data ke-" <<i<< endl;
- cout << "\tnmr Resi \t\t: " << antrian.nmr[i] << endl;
- cout << "\tTanggal (dd/mm/yy) \t: " << antrian.tanggal[i] << endl;
- cout << "\tAlamat pemesan \t\t: "<<antrian.pemesan[i] << endl;
- cout << "\tnmr HP \t\t\t: " << antrian.hp1[i] << endl;
- cout << "\torg Barang \t: " << antrian.org[i] << endl;
- cout << "\n";
- }
- }
- }
- void inputData (int nmr, string tanggal, string pemesan, int hp1, string org){
- if (!penuh()){
- antrian.nmr [antrian.tail] = nmr;
- antrian.tanggal [antrian.tail] = tanggal;
- antrian.pemesan [antrian.tail] = pemesan;
- antrian.hp1 [antrian.tail] = hp1;
- antrian.org [antrian.tail] = org;
- cout << "\tData telah ditambahkan!\n\n";
- antrian.tail++;
- }
- else {
- cout << "\tAntrian penuh !!";
- }
- }
- void hapusData (){
- if (!kosong()){
- cout << "\tMengambil data dengan nmr Resi = \" "<<antrian.nmr[antrian.head] << " \" ... " <<endl;
- for (int i=antrian.head; i<antrian.tail; i++){
- antrian.nmr[i] = antrian.nmr [i+1];
- }
- antrian.tail--;
- }
- else {
- cout << "\tAntrian kosong !!";
- }
- }
- void UrutkanData (){
- int urut, i, j;
- int temp1, temp4;
- string temp3, temp2, temp5;
- cout << "\tUrutkan berdasarkan : \n";
- cout << "\t[1] nmr Resi \t\t [2] Tanggal\n";
- cout << "\tMasukan Pilihan : ";
- cin >> urut;
- switch (urut){
- case 1:
- for(i=0;i<antrian.tail;++i){
- for(j=0;j<(antrian.tail-1);++j)
- if(antrian.nmr[j]>antrian.nmr[j+1]){
- temp1=antrian.nmr[j];
- antrian.nmr[j]=antrian.nmr[j+1];
- antrian.nmr[j+1]=temp1;
- temp2=antrian.tanggal[j];
- antrian.tanggal[j]=antrian.tanggal[j+1];
- antrian.tanggal[j+1]=temp2;
- temp3=antrian.pemesan[j];
- antrian.pemesan[j]=antrian.pemesan[j+1];
- antrian.pemesan[j+1]=temp3;
- temp4=antrian.hp1[j];
- antrian.hp1[j]=antrian.hp1[j+1];
- antrian.hp1[j+1]=temp4;
- temp5=antrian.org[j];
- antrian.org[j]=antrian.org[j+1];
- antrian.org[j+1]=temp5;
- }
- }
- cout<<"\tData setelah diurutkan : "<<endl;
- tampilData();
- break;
- case 2:
- for(i=0;i<antrian.tail;++i){
- for(j=0;j<(antrian.tail-1);++j)
- if(antrian.tanggal[j]>antrian.tanggal[j+1]){
- temp1=antrian.nmr[j];
- antrian.nmr[j]=antrian.nmr[j+1];
- antrian.nmr[j+1]=temp1;
- temp2=antrian.tanggal[j];
- antrian.tanggal[j]=antrian.tanggal[j+1];
- antrian.tanggal[j+1]=temp2;
- temp3=antrian.pemesan[j];
- antrian.pemesan[j]=antrian.pemesan[j+1];
- antrian.pemesan[j+1]=temp3;
- temp4=antrian.hp1[j];
- antrian.hp1[j]=antrian.hp1[j+1];
- antrian.hp1[j+1]=temp4;
- temp5=antrian.org[j];
- antrian.org[j]=antrian.org[j+1];
- antrian.org[j+1]=temp5;
- }
- }
- cout<<"\tData setelah diurutkan : "<<endl;
- tampilData();
- break;
- }
- }
- void cariData(){
- int cari;
- cout << "\tMasukkan nmr Resi yang dicari : ";
- cin >> cari;
- for(int i = 0; i < antrian.tail; i++){
- if(antrian.nmr[i] == cari){
- cout << "\tData berada pada antrian ke-" <<i<< "\n";
- cout << "\tnmr Resi \t\t: " << antrian.nmr[i] << "\n";
- cout << "\tTanggal (ddmmyy) \t: " << antrian.tanggal[i] << "\n";
- cout << "\tAlamat pemesan \t\t: "<<antrian.pemesan[i] << "\n";
- cout << "\tnmr HP \t\t\t: " << antrian.hp1[i] << "\n";
- cout << "\tJumlah Orang \t: " << antrian.org[i] << "\n";
- break;
- }
- else{
- cout << "\t Resi tidak ditemukan";
- }
- }
- }
- int main (){
- int pil;
- int nmr, hp1;
- string pemesan, tanggal, alamat, org;
- system("cls");
- do {
- cout << "\n";
- cout << " PROGRAM RESERVASI\n\n";
- cout << " MENU UTAMA\n";
- cout << "\n";
- cout << " [1] Masukkan Data reservasi \n";
- cout << " [2] Hapus reservasi \n";
- cout << " [3] Cari reservasi \n";
- cout << " [4] Urutkan reservasi \n";
- cout << " [5] Tampilkan Data seluruh reservasi \n";
- cout << " [6] Kosongkan data reservasi \n";
- cout << " [0] Keluar \n";
- cout << "----------------------\n";
- cout << "\n\tMasukkan Pilihan : ";
- cin >> pil;
- switch (pil){
- case 1:
- cout << "\tNo Resi \t\t: ";
- cin >> nmr;
- cin.ignore(1, '\n');
- cout << "\tTanggal (dd/mm/yy) \t: ";
- getline(cin, tanggal);
- cout << "\tNama Pemesan \t\t: ";
- getline(cin, pemesan);
- cout << "\tAlamat Asal \t\t: ";
- getline(cin, alamat);
- cout << "\tNo HP \t\t\t: ";
- cin >> hp1;
- cout << "\tDeskripsi orang \t: ";
- getline(cin, org);
- inputData(nmr, tanggal, pemesan, hp1, org);
- break;
- case 2:
- hapusData();
- break;
- case 3:
- cariData();
- break;
- case 4:
- UrutkanData();
- break;
- case 5:
- tampilData();
- break;
- case 6:
- init();
- break;
- }
- cout <<endl;
- system("pause");
- system("cls");
- }
- while (pil != 0);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement