Source Code Pendataan Buku Perpustakaan Dengan Struck, Stack dan Array C++

Berikut adalah kode program yang dapat memberikan keluaran Program Source Code Menghitung Pembayaran SPP C++, kode bisa digunakan pada aplikasi Dev C++ ataupun aplikasi program bahasa C lainnya. Bagi anda yang belum mempunyai Dev C++, bisa di download di Download Dev C++, lalu silakan di install

#include
#include //_getch()
#include
#include //setw()
#include
#define max 20
using namespace std;
//Deklarasi struct mahasiswa
struct Buku {
string pengarang, halaman, judul;
double tahun;
};

//Deklarasi struct judul
struct judul {
string judul;
int halaman_Buku;
double tahun_daftar;
};

//Deklarasi struct stack_Buku
struct stack_Buku {
int head, tail;
Buku M[max];
}Q;

//Deklarasi struct stack_judul
struct stack_judul {
int head, tail;
judul J[max];
}P;

//cek stack full, argumen (true) Buku, (false) judul
bool isFull(bool Buku) {
return Buku ? Q.tail == max : P.tail == max;
}

//cek stack empty, argumen (true) Buku, (false) judul
bool isEmpty(bool Buku) {
return Buku ? Q.tail == 0 : P.tail == 0;
}

//Mendapatkan input string berikut dengan spasi
string getLine() {
string txt;
do {
getline(cin, txt);
} while (txt == “”);
return txt;
}

//Menambahkan judul baru
void inputjudul() {
if (isFull(false))
{
//cek apakah data judul penuh jika benar print
cout << “Kelas penuh!”;
}
else
{
//jika tidak penuh
cout << “Judul Buku : “;

string judul = getLine();
//do {
// input judul dengan spasi
//getline(cin, judul);
//} while (judul == “”);//loop sampai bisa menginputkan data
P.J[P.tail].judul = judul;

cout << “Jumlah Halaman : “; cin >> P.J[P.tail].halaman_Buku;
cout << “tahun : “; cin >> P.J[P.tail].tahun_daftar;
P.tail++;//increase tail
}
}

//Menghapus judul dalam stack_judul
void hapusjudul() {
if (isEmpty(false)) {
//cek judul kosong
cout << “Belum ada judul”;
}
else {
int no;
cout << “Masukkan nomor judul : “; cin >> no;

//jika tidak, dapatkan nilai stack pada head untuk menampilkan judul
cout << “Menghapus judul \”” << P.J[P.head].judul << “\”…” << endl;

//geser nilai dengan menimpa nilai data yang akan dihapus
for (int i = no – 1; i < P.tail; i++)
//Pindahkan semua nilai satu langkah mendekati head
P.J[i] = P.J[i + 1];

//menyembunyikan data terakhir (tail) dengan mengurangi tail.
P.tail–;
}
}

//Menampilkan halaman Buku untuk setiap judul
void printhalamanBuku() {
if (isEmpty(false)) {
//jika stack_judul kosong, print
cout << “Belum ada judul, Silakan tambahkan ke daftar!”;
}
else {
//jika tidak print semua nilai pada stack_judul
cout<<“======================================================================\n”
<< “| Pendataan Buku Pepustakaan |\n”
<< “| Universitas Muhammadiyah Tangerang |\n”
<< “=====================================================================\n”;
cout<< “=======================================================================\n”
<< “| No | judul | Halaman Buku | Tahun |\n”
<< “=======================================================================\n”;
for (int i = P.head; i < P.tail; i++) {
cout<< “| ” << setw(3) << left << i + 1
<< “| ” << setw(23) << left << P.J[i].judul
<< “| ” << setw(13) << left << P.J[i].halaman_Buku
<< “| ” << setw(11) << left << P.J[i].tahun_daftar << “|” << endl;
}
cout << “=======================================================================\n”;
}
}

// Menampilkan menu untuk merubah atau menambah halaman Buku
void halamanBuku() {
int choose, no, stok;
do
{
system(“cls”);
printhalamanBuku();
cout << “————————\n”
<< ” Menu Pilihan \n”
<< “————————-\n”
<< ” [1] Tambah Judul Buku \n”
<< ” [2] Hapus Judul Buku \n”
<< ” [3] Tambah Halaman Buku \n”
<< ” [4] Selesai \n\n”
<< “————————-\n”
<< “Masukkan pilihan : “; cin >> choose;
switch (choose)
{
case 1:
inputjudul();
break;
case 2:
hapusjudul();
break;
case 3:// Tambah halaman Buku untuk judul yang dipilih
cout << “Masukkan No.judul : “; cin >> no;
cout << “Masukkan Jumlah Halaman : “; cin >> stok;
P.J[no – 1].halaman_Buku += stok;
break;
case 4:
cout << “Press any key..”;
break;
default:
cout << “Pilihan tidak tersedia”;
break;
}
} while (choose != 4);

}

//Menampilkan daftar Buku
void printDaftarBuku() {
if (isEmpty(true)) {
cout << “Belum ada Buku yang daftar!\n”;
}
else {

}
}

int main() {
P.tail = 0;

int choose;
do
{
system(“cls”);
cout<<“======================================================================\n”
<< “| Pendataan Buku Pepustakaan |\n”
<< “| Universitas Muhammadiyah Tangerang |\n”
<< “=====================================================================\n”;

printDaftarBuku();
cout<< “\n\n———————-\n”
<< ” Menu Pilihan\n”
<< “———————-\n”
<< ” [1] Daftar Buku \n”
<< ” [2] Keluar \n\n”
<< “———————-\n”
<< “Masukkan pilihan : “; cin >> choose;
switch (choose)
{
case 1:
halamanBuku();
break;
default:
cout <<“”;
cout <<“|==========================|\n”;
cout <<“| TERIMAKASIH |\n”;
cout <<“| creative : Faisal Habib |\n”;
cout <<“===========================|\n”;
break;
}
getch();
} while (choose != 4);
return 0;

}

Dengan Hasil running :

Rich Snippets
Published
Article
Source Code Pendataan Buku Perpustakaan Dengan Struck, Stack dan Array C++
Ratings
51star1star1star1star1star
Faisal Habib

Kata Bijak? Google banyak!

You may also like...

Leave a Reply