You are on page 1of 12

Kelompok 1:

1.
2.
3.
4.
5.

Prayogo Ismu A. (H1C013049)


Dyah Wanudyatammi (H1C013066)
Wisnu Firmansyah
(H1A015004)
Dani Ibrahim
(H1A015026)
Aditya Octora H. (H1A015046)

1. carigerbongg. cpp
Source code:
#include "carigerbongg.h"
CariGerbong::CariGerbong(void)
{
int carigbg;
}

void CariGerbong::PrintListGerbong(list<Gerbong> cl)


{
while(!cl.empty())
{
cl.front().CetakGerbong();
cl.pop_front();
cout<< endl;
}
}

list<Gerbong>::iterator CariGerbong::CariListGerbong(list<Gerbong>&
cl, int No)
{
list<Gerbong>::iterator pos;
bool found = false;
pos = cl.begin();
while ( (!found) && (pos!=cl.end()) )

{
if ((*pos).NoGerbong == No )
{
found = true;
return pos;
}
else
{
pos++;
}
}

if (!found)
{
return pos;
}
}

2. driver.cpp
Source code:
#include <iostream>
#include <list>
#include <stdlib.h>
#include "carigerbongg.h"
#include "gerbong.h"
/* run this program using the console pauser or add your own getch,
system("pause") or input loop */
using namespace std;

int main() {

list<Gerbong>L;
list<Gerbong>::iterator pos;
list<CariGerbong>cari;
list<CariGerbong>::iterator kosong;

int no_gerbong,carikursi,no_kursi,jml_kursi,jml_gerbong;
char yatidak;

Gerbong Grb1, Grb2, Grb3;

Grb1.NoGerbong = 1;
L.push_back(Grb1);

Grb2.NoGerbong = 2;
L.push_back(Grb2);

Grb3.NoGerbong = 3;
L.push_back(Grb3);

CariGerbong carigerbong;
cari.push_back(carigerbong);
int menu;
ulang:
cout<<"
"<<endl;

STATUS KURSI

cout<<"======================================
===========================================
==============================="<<endl;
kosong->PrintListGerbong(L);
cout<<"======================================

===========================================
===============================";
cout<<endl;
cout<<"Pilih Menu"<<endl;
//cout<<"1. Lihat status Kursi"<<endl;
cout<<"1. Pesan Kursi"<<endl;
cout<<"2. Batal Pemesanan"<<endl;
cout<<"pilih menu :";
cin>>menu;
/*
if(menu==1)
{

kosong->PrintListGerbong(L);
cout<<endl;
system("PAUSE");
system("CLS");
goto ulang;
}
*/
if(menu==1)
{
cout<<"Jumlah Kursi Yang ingin dipesan :";
cin>>jml_kursi;
if(jml_kursi==1)
{
cout<<"Masukan nomor gerbong : ";
cin>>no_gerbong;
cout<<"Masukan nomor kursi : ";
cin>>no_kursi;
pos = kosong->CariListGerbong(L, no_gerbong);

pos->IsiGerbong(no_kursi,1);
cout<<endl;
system("PAUSE");
system("CLS");
goto ulang;
}
else
{
cout<<"Apakah anda ingin memesan dalam satu gerbong ? (Y/T)";
cin>>yatidak;
if(yatidak=='Y'||yatidak=='y')
{
int dumy=0;
cout<<"Masukkan nomor gerbong :";
cin>>no_gerbong;
if(no_gerbong < 4)
{
for(int i=1;i<=jml_kursi;i++)
{
cout<<"Masukkan nomor kursi ke-"<<i<<" yang
ingin anda pesan : ";
cin>>no_kursi;
pos = kosong->CariListGerbong(L, no_gerbong);
pos->IsiGerbong(no_kursi,1);
}
cout<<endl;
system("PAUSE");
system("CLS");
goto ulang;
}
else

{
cout<<"Tidak ditemukan gerbong";
}
}
if(yatidak=='T'||yatidak=='t')
{
int dummy=0;
int jumlahkursi;
cout<<"Berapa jumlah gerbong yang ingin anda pesan
kursinya :";
cin>>jml_gerbong;
cout<<"Masukan nomor gerbong secara berurutan"<<endl;
if(dummy<=jml_kursi)
{
for(int x=1;x<=jml_gerbong;x++)
{
cout<<"gerbong ke-"<<x<<" : ";
cin>>no_gerbong;
cout<<"jumlah kursi :";
cin>>jumlahkursi;
if(no_gerbong < 4)
{
for(int y=1;y<=jumlahkursi;y++)
{
cout<<"Masukkan nomor kursi ke-"<<y<<"yang
ingin anda pesan : ";
cin>>no_kursi;
pos = kosong->CariListGerbong(L, no_gerbong);
pos->IsiGerbong(no_kursi,1);
cout<<endl;
}

}
else
{
cout<<"Tidak ditemukan gerbong";
}
dummy=jumlahkursi+dummy;
}
}
else
{
cout<<"Maaf, jumlah pesanan anda tidak sesuai dengan
yang diinputkan";
}
system("PAUSE");
system("CLS");
goto ulang;
}
else
{
cout<<"perintah tidak ditemukan";
}
}
}
if(menu==2)
{
cout<<"Jumlah Kursi Yang ingin dibatalkan :";
cin>>jml_kursi;
if(jml_kursi==1)
{
cout<<"Masukan nomor gerbong : ";
cin>>no_gerbong;

cout<<"Masukan nomor kursi : ";


cin>>no_kursi;
pos = kosong->CariListGerbong(L, no_gerbong);
pos->IsiGerbong(no_kursi,0);
cout<<endl;
system("PAUSE");
system("CLS");
goto ulang;
}
else
{
cout<<"Apakah anda ingin memmbatalkan kursi dalam satu
gerbong ? (Y/T)";
cin>>yatidak;
if(yatidak=='Y'||yatidak=='y')
{
cout<<"Masukkan nomor gerbong :";
cin>>no_gerbong;
if(no_gerbong < 4)
{
for(int i=1;i<=jml_kursi;i++)
{
cout<<"Masukkan nomor kursi ke-"<<i<<" yang
ingin anda batalkan : ";
cin>>no_kursi;
pos = kosong->CariListGerbong(L, no_gerbong);
pos->IsiGerbong(no_kursi,0);
}
cout<<endl;
system("PAUSE");
system("CLS");

goto ulang;
}
else
{
cout<<"Tidak ditemukan gerbong";
}
}
if(yatidak=='T'||yatidak=='t')
{
int dummy=0;
int jumlahkursi;
cout<<"Berapa jumlah gerbong yang ingin anda batalkan
kursinya :";
cin>>jml_gerbong;
cout<<"Masukan nomor gerbong secara berurutan"<<endl;
if(dummy<=jml_kursi)
{
for(int x=1;x<=jml_gerbong;x++)
{
cout<<"gerbong ke-"<<x<<" : ";
cin>>no_gerbong;
cout<<"jumlah kursi :";
cin>>jumlahkursi;
if(no_gerbong < 4)
{
for(int y=1;y<=jumlahkursi;y++)
{
cout<<"Masukkan nomor kursi ke-"<<y<<"yang
ingin anda batalkan : ";
cin>>no_kursi;
pos = kosong->CariListGerbong(L, no_gerbong);

pos->IsiGerbong(no_kursi,0);
cout<<endl;
}
}
else
{
cout<<"Tidak ditemukan gerbong";
}
dummy=jumlahkursi+dummy;
}
}
else
{
cout<<"Maaf, jumlah pesanan anda tidak sesuai dengan
yang diinputkan";
}
system("PAUSE");
system("CLS");
goto ulang;
}
else
{
cout<<"perintah tidak dikenal";
}
}
}
else
{
cout<<"tidak terdapat menu yang anda masukkan";
system("PAUSE");
system("CLS");

goto ulang;
}

/*

for(pos=L.begin();pos!=L.end();pos++)
{
pos->CetakGerbong();
cout<<endl;
}

grb.CetakGerbong();
grb.IsiGerbong(2,1);
grb.CetakGerbong();
*/
}

3. gerbong.cpp
Source code :
#include "gerbong.h"
int Gerbong::jumlahobject=0;
Gerbong::Gerbong(void)
{
int gb,kolom,baris;
jumlahobject=0;
while(jumlahobject < 4)
{
kolom=0;
while(kolom<10){
baris=0;
while(baris<4)
{
Kursi[baris][kolom].nokursi=(4*kolom)+(baris+1);
Kursi[baris][kolom].statuskursi=0;
baris++;
}
kolom++;
}
jumlahobject++;
}
}
Gerbong::~Gerbong()

{
cout<<endl;
}
void Gerbong::CetakGerbong()
{
int baris=0;
int nogerbong;
nogerbong=NoGerbong;
cout<<"NoGerbong : "<<nogerbong<<endl;
while(baris<4){
int kolom=0;
while(kolom<10){
cout<<Kursi[baris][kolom].nokursi<<"S"<<Kursi[baris]
[kolom].statuskursi<<" ";
kolom++;
}
cout<<endl;
baris++;
}
}
void Gerbong::IsiGerbong(int kursi,int status)
{
/* int kolomm,bariss;
kursi = kursi - 1;
kolomm = kursi/4;
bariss = kursi%4;
if(Kursi[bariss][kolomm].statuskursi==1)
{
cout<<"Maaf kursi yang anda pesan sudah terisi"<<endl;
}
else
{*/
int baris=0;
while(baris<4){
int kolom=0;
while(kolom<10){
if(Kursi[baris][kolom].nokursi==kursi)
{
Kursi[baris][kolom].statuskursi=status;
}
kolom++;
}
baris++;
}
}

You might also like