[text] dokter

Viewer

  1. #include <iostream>
  2. #include <stack>
  3. #include <list>
  4. #include <string>
  5. #include <map>
  6. using namespace std;
  7.  
  8. // Struktur data untuk antrian
  9. struct QueueData {
  10.     int nomorAntrian;
  11.     string nama;
  12.     string dokter;
  13. };
  14.  
  15. struct Mahasiswa{
  16.     string nama;
  17.     string nim;
  18. };
  19.  
  20. int main() {
  21.     stack<QueueData> tumpukanAntrian;
  22.     list<QueueData> database;
  23.     list<string> daftarDokter = {"Andre (THT)", "Alfian (Mata)"};
  24.     int nomorAntrian = 1;
  25.     int loginAttempt = 3;
  26.  
  27.     string username, password;
  28.     for (int i = 1; i <= loginAttempt; i++) {
  29.         cout << "Login " << i << ": Masukkan username: ";
  30.         cin >> username;
  31.         cout << "Masukkan password: ";
  32.         cin >> password;
  33.  
  34.         if (username == "afia50" && password == "123450") {
  35.             cout << "Login berhasil!" << endl;
  36.             break;
  37.         } else if (username != "afia50" && password == "123450") {
  38.             cout << "Username salah." << endl;
  39.         } else if (username == "afia50" && password != "123450") {
  40.             cout << "Password salah." << endl;
  41.         } else {
  42.             cout << "Username dan password salah." << endl;
  43.         }
  44.  
  45.         if (i == loginAttempt) {
  46.             cout << "Login gagal. Kembali ke menu." << endl;
  47.         }
  48.     }
  49.  
  50.  
  51.     int pilihan = 0;
  52.     while (pilihan != 5) {
  53.         system("cls");
  54.         cout << "=====================================================\n";
  55.         cout << "|                      Klinik F A                    |\n";
  56.         cout << "=====================================================\n";
  57.         cout << "| No |      Nama      |          Dokter              |\n";
  58.         cout << "-----------------------------------------------------\n";
  59.  
  60.         if (tumpukanAntrian.empty()) {
  61.             cout << "|                      Antrian kosong                |\n";
  62.         } else {
  63.             stack<QueueData> tumpukanSementara = tumpukanAntrian;
  64.             while (!tumpukanSementara.empty()) {
  65.                 QueueData data = tumpukanSementara.top();
  66.                 printf("|%3d | %-14s | %-28s|\n", data.nomorAntrian, data.nama.c_str(), data.dokter.c_str());
  67.                 tumpukanSementara.pop();
  68.             }
  69.         }
  70.  
  71.         cout << "=====================================================\n";
  72.         cout << "   Menu\n1. Ambil Antrian\n2. Tampilkan Antrian\n3. Konsultasi\n4. Selesai\n5. Database\nPilih menu: ";
  73.         cin >> pilihan;
  74.         cout << endl;
  75.  
  76.         if (pilihan == 1) {
  77.             // Ambil antrian
  78.             cout << "Pilih dokter: \n1. Andre (Spesialis THT)\n2. Alfian (Spesialis Mata)\n";
  79.             int pilihanDokter;
  80.             cin >> pilihanDokter;
  81.  
  82.             if (pilihanDokter == 1 || pilihanDokter == 2) {
  83.                 string dokter = pilihanDokter == 1 ? "Andre (THT)" : "Alfian (Mata)";
  84.                 string nama;
  85.                 cout << "Masukkan nama: ";
  86.                 cin >> nama;
  87.  
  88.                 // Menambahkan data antrian ke stack
  89.                 QueueData newData = {nomorAntrian, nama, dokter};
  90.                 tumpukanAntrian.push(newData);
  91.  
  92.                 cout << "Nomor antrian Anda adalah: " << nomorAntrian << endl;
  93.                 nomorAntrian++;
  94.             } else {
  95.                 cout << "Pilihan dokter tidak valid\n";
  96.             }
  97.         } else if (pilihan == 2) {
  98.             // Tampilkan antrian
  99.             cout << "Data Antrian:\n";
  100.             stack<QueueData> tumpukanSementara = tumpukanAntrian;
  101.             while (!tumpukanSementara.empty()) {
  102.                 QueueData data = tumpukanSementara.top();
  103.                 cout << "Nomor Antrian: " << data.nomorAntrian << ", Nama: " << data.nama << ", Dokter: " << data.dokter << endl;
  104.                 tumpukanSementara.pop();
  105.             }
  106.         } else if (pilihan == 3) {
  107.             // Konsultasi
  108.             cout << "Pilih dokter: \n1. Andre (THT)\n2. Alfian (Mata)\n";
  109.             int pilihanDokter;
  110.             cin >> pilihanDokter;
  111.  
  112.             if (pilihanDokter == 1 || pilihanDokter == 2) {
  113.                 string dokter = pilihanDokter == 1 ? "Andre (THT)" : "Alfian (Mata)";
  114.                 if (!tumpukanAntrian.empty()) {
  115.                     QueueData data = tumpukanAntrian.top();
  116.                     if (data.dokter == dokter) {
  117.                         cout << "Nomor Antrian: " << data.nomorAntrian << ", Nama: " << data.nama << ", Dokter: " << data.dokter << endl;
  118.                         tumpukanAntrian.pop();
  119.                     } else {
  120.                         cout << "Maaf, dokter sedang melayani\n";
  121.                     }
  122.                 } else {
  123.                     cout << "Antrian kosong\n";
  124.                 }
  125.             } else {
  126.                 cout << "Pilihan dokter tidak valid\n";
  127.             }
  128.         } else if (pilihan == 4) {
  129.             // Selesai
  130.             if (!tumpukanAntrian.empty()) {
  131.                 QueueData data = tumpukanAntrian.top();
  132.                 tumpukanAntrian.pop();
  133.                 database.push_back(data);
  134.                 cout << "Data antrian telah dimasukkan ke database\n";
  135.             } else {
  136.                 cout << "Antrian kosong\n";
  137.             }
  138.         } else if (pilihan == 5) {
  139.             // Database
  140.             cout << "Data Antrian yang telah selesai:\n";
  141.             for (const auto &data : database) {
  142.                 cout << "Nomor Antrian: " << data.nomorAntrian << ", Nama: " << data.nama << ", Dokter: " << data.dokter << endl;
  143.             }
  144.         } else {
  145.             cout << "Pilihan menu tidak valid\n";
  146.         }
  147.         system("pause");
  148.     }
  149.  
  150.     return 0;
  151. }
  152.  

Editor

You can edit this paste and save as new:


File Description
  • dokter
  • Paste Code
  • 10 Dec-2023
  • 5.56 Kb
You can Share it: