- #include <iostream>
- #include <stack>
- #include <list>
- #include <string>
- #include <map>
- using namespace std;
- // Struktur data untuk antrian
- struct QueueData {
- int nomorAntrian;
- string nama;
- string dokter;
- };
- struct Mahasiswa{
- string nama;
- string nim;
- };
- int main() {
- stack<QueueData> tumpukanAntrian;
- list<QueueData> database;
- list<string> daftarDokter = {"Andre (THT)", "Alfian (Mata)"};
- int nomorAntrian = 1;
- int loginAttempt = 3;
- string username, password;
- for (int i = 1; i <= loginAttempt; i++) {
- cout << "Login " << i << ": Masukkan username: ";
- cin >> username;
- cout << "Masukkan password: ";
- cin >> password;
- if (username == "afia50" && password == "123450") {
- cout << "Login berhasil!" << endl;
- break;
- } else if (username != "afia50" && password == "123450") {
- cout << "Username salah." << endl;
- } else if (username == "afia50" && password != "123450") {
- cout << "Password salah." << endl;
- } else {
- cout << "Username dan password salah." << endl;
- }
- if (i == loginAttempt) {
- cout << "Login gagal. Kembali ke menu." << endl;
- }
- }
- int pilihan = 0;
- while (pilihan != 5) {
- system("cls");
- cout << "=====================================================\n";
- cout << "| Klinik F A |\n";
- cout << "=====================================================\n";
- cout << "| No | Nama | Dokter |\n";
- cout << "-----------------------------------------------------\n";
- if (tumpukanAntrian.empty()) {
- cout << "| Antrian kosong |\n";
- } else {
- stack<QueueData> tumpukanSementara = tumpukanAntrian;
- while (!tumpukanSementara.empty()) {
- QueueData data = tumpukanSementara.top();
- printf("|%3d | %-14s | %-28s|\n", data.nomorAntrian, data.nama.c_str(), data.dokter.c_str());
- tumpukanSementara.pop();
- }
- }
- cout << "=====================================================\n";
- cout << " Menu\n1. Ambil Antrian\n2. Tampilkan Antrian\n3. Konsultasi\n4. Selesai\n5. Database\nPilih menu: ";
- cin >> pilihan;
- cout << endl;
- if (pilihan == 1) {
- // Ambil antrian
- cout << "Pilih dokter: \n1. Andre (Spesialis THT)\n2. Alfian (Spesialis Mata)\n";
- int pilihanDokter;
- cin >> pilihanDokter;
- if (pilihanDokter == 1 || pilihanDokter == 2) {
- string dokter = pilihanDokter == 1 ? "Andre (THT)" : "Alfian (Mata)";
- string nama;
- cout << "Masukkan nama: ";
- cin >> nama;
- // Menambahkan data antrian ke stack
- QueueData newData = {nomorAntrian, nama, dokter};
- tumpukanAntrian.push(newData);
- cout << "Nomor antrian Anda adalah: " << nomorAntrian << endl;
- nomorAntrian++;
- } else {
- cout << "Pilihan dokter tidak valid\n";
- }
- } else if (pilihan == 2) {
- // Tampilkan antrian
- cout << "Data Antrian:\n";
- stack<QueueData> tumpukanSementara = tumpukanAntrian;
- while (!tumpukanSementara.empty()) {
- QueueData data = tumpukanSementara.top();
- cout << "Nomor Antrian: " << data.nomorAntrian << ", Nama: " << data.nama << ", Dokter: " << data.dokter << endl;
- tumpukanSementara.pop();
- }
- } else if (pilihan == 3) {
- // Konsultasi
- cout << "Pilih dokter: \n1. Andre (THT)\n2. Alfian (Mata)\n";
- int pilihanDokter;
- cin >> pilihanDokter;
- if (pilihanDokter == 1 || pilihanDokter == 2) {
- string dokter = pilihanDokter == 1 ? "Andre (THT)" : "Alfian (Mata)";
- if (!tumpukanAntrian.empty()) {
- QueueData data = tumpukanAntrian.top();
- if (data.dokter == dokter) {
- cout << "Nomor Antrian: " << data.nomorAntrian << ", Nama: " << data.nama << ", Dokter: " << data.dokter << endl;
- tumpukanAntrian.pop();
- } else {
- cout << "Maaf, dokter sedang melayani\n";
- }
- } else {
- cout << "Antrian kosong\n";
- }
- } else {
- cout << "Pilihan dokter tidak valid\n";
- }
- } else if (pilihan == 4) {
- // Selesai
- if (!tumpukanAntrian.empty()) {
- QueueData data = tumpukanAntrian.top();
- tumpukanAntrian.pop();
- database.push_back(data);
- cout << "Data antrian telah dimasukkan ke database\n";
- } else {
- cout << "Antrian kosong\n";
- }
- } else if (pilihan == 5) {
- // Database
- cout << "Data Antrian yang telah selesai:\n";
- for (const auto &data : database) {
- cout << "Nomor Antrian: " << data.nomorAntrian << ", Nama: " << data.nama << ", Dokter: " << data.dokter << endl;
- }
- } else {
- cout << "Pilihan menu tidak valid\n";
- }
- system("pause");
- }
- return 0;
- }
[text] dokter
Viewer
*** This page was generated with the meta tag "noindex, nofollow". This happened because you selected this option before saving or the system detected it as spam. This means that this page will never get into the search engines and the search bot will not crawl it. There is nothing to worry about, you can still share it with anyone.
Editor
You can edit this paste and save as new: