Untitled
carilah codingan yg memiliki fungsi treeunknown
c_cpp
a year ago
6.7 kB
4
Indexable
void tampilkanBarang() { if (head == nullptr) { cout << "Gudang kosong" << endl; } else { Node* temp = head; while (temp != nullptr) { cout << "==================================" << endl; cout << "Nama : " << temp->barang.nama << endl; cout << "Jumlah : " << temp->barang.jumlah << endl; cout << "==================================" << endl; temp = temp->next; } } } void updateBarang() { string nama; cout << "Masukkan nama barang yang akan diupdate : "; cin >> nama; if (hashTable.find(nama) != hashTable.end()) { Node* node = hashTable[nama]; cout << "Masukkan jumlah barang baru : "; cin >> node->barang.jumlah; cout << "Barang berhasil diupdate!" << endl; } else { cout << "Barang tidak ditemukan" << endl; } } void hapusBarang() { string nama; cout << "Masukkan nama barang yang akan dihapus : "; cin >> nama; if (hashTable.find(nama) != hashTable.end()) { Node* node = hashTable[nama]; if (node == head) { head = node->next; } else { Node* temp = head; while (temp->next != node) { temp = temp->next; } temp->next = node->next; } hashTable.erase(nama); cout << "Barang berhasil dihapus!" << endl; } else { cout << "Barang tidak ditemukan" << endl; } } void tampilkanBarang() { if (head == nullptr) { cout << "Gudang kosong" << endl; } else { Node* temp = head; while (temp != nullptr) { cout << "==================================" << endl; cout << "Nama : " << temp->barang.nama << endl; cout << "Jumlah : " << temp->barang.jumlah << endl; cout << "==================================" << endl; temp = temp->next; } } } void updateBarang() { string nama; cout << "Masukkan nama barang yang akan diupdate : "; cin >> nama; if (hashTable.find(nama) != hashTable.end()) { Node* node = hashTable[nama]; cout << "Masukkan jumlah barang baru : "; cin >> node->barang.jumlah; cout << "Barang berhasil diupdate!" << endl; } else { cout << "Barang tidak ditemukan" << endl; } } void hapusBarang() { string nama; cout << "Masukkan nama barang yang akan dihapus : "; cin >> nama; if (hashTable.find(nama) != hashTable.end()) { Node* node = hashTable[nama]; if (node == head) { head = node->next; } else { Node* temp = head; while (temp->next != node) { temp = temp->next; } temp->next = node->next; } hashTable.erase(nama); cout << "Barang berhasil dihapus!" << endl; } else { cout << "Barang tidak ditemukan" << endl; } } void tampilkanStack() { stack<Barang> tempStack = stackData; while (!tempStack.empty()) { Barang barang = tempStack.top(); cout << "==================================" << endl; cout << "Nama : " << barang.nama << endl; cout << "Jumlah : " << barang.jumlah << endl; cout << "==================================" << endl; tempStack.pop(); } } void tampilkanQueue() { queue<Barang> tempQueue = queueData; while (!tempQueue.empty()) { Barang barang = tempQueue.front(); cout << "==================================" << endl; cout << "Nama : " << barang.nama << endl; cout << "Jumlah : " << barang.jumlah << endl; cout << "==================================" << endl; tempQueue.pop(); } } void tampilkanTree(Node* root) { if (root == nullptr) { return; } tampilkanTree(root->left); cout << "==================================" << endl; cout << "Nama : " << root->barang.nama << endl; cout << "Jumlah : " << root->barang.jumlah << endl; cout << "==================================" << endl; tampilkanTree(root->right); } void tampilkanTreeBarang() { tampilkanTree(head); } }; int main() { Gudang gudang; int pilihan; do { cout << "====== Program Pengelolaan Gudang ======" << endl; cout << " 1. Tambah Barang." << endl; cout << " 2. Tampilkan Barang." << endl; cout << " 3. Update Barang." << endl; cout << " 4. Hapus Barang." << endl; cout << " 5. Tampilkan Barang Dari Akhir." << endl; cout << " 6. Tampilkan Barang Dari Awal." << endl; cout << " 7. Tampilkan Barang Dalam Bentuk Tree." << endl; cout << " 8. Keluar." << endl; cout << "========================================" << endl; cout << endl; cout << "=>> Pilih menu : "; cin >> pilihan; switch (pilihan) { case 1: gudang.tambahBarang(); break; case 2: gudang.tampilkanBarang(); break; case 3: gudang.updateBarang(); break; case 4: gudang.hapusBarang(); break; case 5: gudang.tampilkanStack(); break; case 6: gudang.tampilkanQueue(); break; case 7: gudang.tampilkanTreeBarang(); break; case 8: cout << "Terima kasih!" << endl; exit(0); break; default: cout << "Pilihan tidak valid" << endl; break; } cout << endl; } while (pilihan != 0); return 0;
Editor is loading...
Leave a Comment