Advertisement
asrori

classArray

Apr 22nd, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.75 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <cstdlib>
  4. #include "Buku1.h"
  5.  
  6. using namespace std;
  7.  
  8. void clearbuffer();
  9. void menu();
  10. void tambahBuku(Buku bukuSaya[], int *);
  11. void tampilBuku(Buku bukuSaya[], int *);
  12. void hapusBuku(int *);
  13.  
  14. int main(){
  15.     Buku *bukuSaya = new Buku[10];
  16.     int banyakData = 0, pilihanMenu;
  17.  
  18.     do{
  19.         system("clear");
  20.         menu();
  21.         cout << "\n\nmasukkan pilihan menu : ";
  22.         cin >> pilihanMenu; clearbuffer();
  23.         if (pilihanMenu == 1){
  24.             if (banyakData < 10){
  25.                 tambahBuku(bukuSaya, &banyakData);
  26.             } else {
  27.                 cout << "data sudah penuh...";
  28.                 clearbuffer();
  29.             }
  30.         }
  31.         if (pilihanMenu == 2) tampilBuku(bukuSaya, &banyakData);
  32.         if (pilihanMenu == 3){
  33.             hapusBuku(&banyakData);
  34.             delete[] bukuSaya;
  35.         }
  36.     } while (pilihanMenu != 4);
  37.  
  38.     return 0;
  39. }
  40.  
  41. void clearbuffer(){
  42.     cin.clear();
  43.     cin.ignore(1024, '\n');
  44. }
  45.  
  46. void menu(){
  47.     cout << "selamat datang di perpustakaan\n";
  48.     cout << "==============================\n\n";
  49.     cout << "1. Pinjam Buku\n";
  50.     cout << "2. lihat semua buku yang dipinjam\n";
  51.     cout << "3. hapus semua buku\n";
  52.     cout << "4. keluar";
  53. }
  54.  
  55. void tambahBuku(Buku bukuSaya[], int *banyakData){ //pass by reference
  56.     string judulBuku;
  57.     int jumlah, harga, subtotal;
  58.  
  59.     do{
  60.         cout << "masukkan judul [5-20 karakter] : ";
  61.         getline(cin, judulBuku);
  62.     } while (judulBuku.length() < 5 or judulBuku.length() > 20);
  63.  
  64.     do{
  65.         cout << "masukkan harga [Rp. 5000 - Rp. 10.000] : ";
  66.         cin >> harga; clearbuffer();
  67.     } while (harga < 5000 or harga > 10000);
  68.  
  69.     do{
  70.         cout << "masukkan jumlah [1-20] : ";
  71.         cin >> jumlah; clearbuffer();
  72.     } while (jumlah < 1 or jumlah > 20);
  73.  
  74.     subtotal = jumlah * harga;
  75.  
  76.     bukuSaya[(*banyakData)].setJudul(judulBuku);
  77.     bukuSaya[(*banyakData)].setHarga(harga);
  78.     bukuSaya[(*banyakData)].setJumlah(jumlah);
  79.     bukuSaya[(*banyakData)].setSubTotal(subtotal);
  80.  
  81.     *banyakData += 1;
  82.     cout << "sukses menambahkan buku...";
  83.     clearbuffer();
  84. }
  85.  
  86. void tampilBuku(Buku bukuSaya[], int *banyakData){ //pass by reference
  87.     int total = 0;
  88.     int j = 1;
  89.  
  90.     system("clear");
  91.     cout << "daftar buku yang diorder\n";
  92.     cout << "========================\n\n";
  93.     cout << "----------------------------------------------------------\n";
  94.     cout << "| No. | Judul                | Jumlah | Harga | Subtotal |\n";
  95.     cout << "----------------------------------------------------------\n";
  96.     if ((*banyakData) == 0){
  97.         cout << "|          tidak ada data                                |\n";
  98.     } else {
  99.         for (int i = 0; i < (*banyakData); i++) {
  100.             cout << "| " << left << setw(3) << j++
  101.                  << left << " | " << setw(20) << left << bukuSaya[i].getJudul()
  102.                  << left << " | " << setw(6) << left << bukuSaya[i].getJumlah()
  103.                  << left << " | " << setw(5) << left << bukuSaya[i].getHarga()
  104.                  << left << " | " << setw(7) << left << bukuSaya[i].getSubTotal()
  105.                  << "  |\n";
  106.             total = total + bukuSaya[i].getSubTotal();
  107.         }
  108.     }
  109.  
  110.     cout << "----------------------------------------------------------\n";
  111.     cout << "\ntotal harga : " << total << "\n";
  112.     cout << "tekan ENTER untuk melanjutkan...";
  113.     clearbuffer();
  114. }
  115.  
  116. void hapusBuku(int *banyakData){
  117.  
  118.     if ((*banyakData) == 0){
  119.         cout << "tidak ada data, terima kasih telah menggunakan aplikasi ini...";
  120.     } else {
  121.         cout << "semua data telah dihapus, terima kasih telah menggunakan aplikasi ini...";
  122.     }
  123.     clearbuffer();
  124.  
  125.     *banyakData = 0;
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement