Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <cstdlib>
- #include "Buku1.h"
- using namespace std;
- void clearbuffer();
- void menu();
- void tambahBuku(Buku bukuSaya[], int *);
- void tampilBuku(Buku bukuSaya[], int *);
- void hapusBuku(int *);
- int main(){
- Buku *bukuSaya = new Buku[10];
- int banyakData = 0, pilihanMenu;
- do{
- system("clear");
- menu();
- cout << "\n\nmasukkan pilihan menu : ";
- cin >> pilihanMenu; clearbuffer();
- if (pilihanMenu == 1){
- if (banyakData < 10){
- tambahBuku(bukuSaya, &banyakData);
- } else {
- cout << "data sudah penuh...";
- clearbuffer();
- }
- }
- if (pilihanMenu == 2) tampilBuku(bukuSaya, &banyakData);
- if (pilihanMenu == 3){
- hapusBuku(&banyakData);
- delete[] bukuSaya;
- }
- } while (pilihanMenu != 4);
- return 0;
- }
- void clearbuffer(){
- cin.clear();
- cin.ignore(1024, '\n');
- }
- void menu(){
- cout << "selamat datang di perpustakaan\n";
- cout << "==============================\n\n";
- cout << "1. Pinjam Buku\n";
- cout << "2. lihat semua buku yang dipinjam\n";
- cout << "3. hapus semua buku\n";
- cout << "4. keluar";
- }
- void tambahBuku(Buku bukuSaya[], int *banyakData){ //pass by reference
- string judulBuku;
- int jumlah, harga, subtotal;
- do{
- cout << "masukkan judul [5-20 karakter] : ";
- getline(cin, judulBuku);
- } while (judulBuku.length() < 5 or judulBuku.length() > 20);
- do{
- cout << "masukkan harga [Rp. 5000 - Rp. 10.000] : ";
- cin >> harga; clearbuffer();
- } while (harga < 5000 or harga > 10000);
- do{
- cout << "masukkan jumlah [1-20] : ";
- cin >> jumlah; clearbuffer();
- } while (jumlah < 1 or jumlah > 20);
- subtotal = jumlah * harga;
- bukuSaya[(*banyakData)].setJudul(judulBuku);
- bukuSaya[(*banyakData)].setHarga(harga);
- bukuSaya[(*banyakData)].setJumlah(jumlah);
- bukuSaya[(*banyakData)].setSubTotal(subtotal);
- *banyakData += 1;
- cout << "sukses menambahkan buku...";
- clearbuffer();
- }
- void tampilBuku(Buku bukuSaya[], int *banyakData){ //pass by reference
- int total = 0;
- int j = 1;
- system("clear");
- cout << "daftar buku yang diorder\n";
- cout << "========================\n\n";
- cout << "----------------------------------------------------------\n";
- cout << "| No. | Judul | Jumlah | Harga | Subtotal |\n";
- cout << "----------------------------------------------------------\n";
- if ((*banyakData) == 0){
- cout << "| tidak ada data |\n";
- } else {
- for (int i = 0; i < (*banyakData); i++) {
- cout << "| " << left << setw(3) << j++
- << left << " | " << setw(20) << left << bukuSaya[i].getJudul()
- << left << " | " << setw(6) << left << bukuSaya[i].getJumlah()
- << left << " | " << setw(5) << left << bukuSaya[i].getHarga()
- << left << " | " << setw(7) << left << bukuSaya[i].getSubTotal()
- << " |\n";
- total = total + bukuSaya[i].getSubTotal();
- }
- }
- cout << "----------------------------------------------------------\n";
- cout << "\ntotal harga : " << total << "\n";
- cout << "tekan ENTER untuk melanjutkan...";
- clearbuffer();
- }
- void hapusBuku(int *banyakData){
- if ((*banyakData) == 0){
- cout << "tidak ada data, terima kasih telah menggunakan aplikasi ini...";
- } else {
- cout << "semua data telah dihapus, terima kasih telah menggunakan aplikasi ini...";
- }
- clearbuffer();
- *banyakData = 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement