Include
description
Transcript of Include
#include <iostream.h>
#include <stdlib.h>
#include <list.h>
/* Menggunakan iterator sebagai penunjuk pointer element List<Gerbang>
*/
class Gerbong
{
public :
typedef struct {
int nokursi;
int statuskursi; //0 = kursi kosong; 1=kursi terisi orang/barang
} InfoKursi;
InfoKursi Kursi[4][10];
int NoGerbong;
public :
//Inisialisasi Gerbong
Gerbong(void)
{
int gb, kolom, baris;
NoGerbong = -99;
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++;
}
}
void CetakGerbong(void)
{
int baris = 0;
cout << 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 UbahStatusListGerbong()
{ //Mengubah isi status kursi menjadi 1 untuk gerbong yang dicari.
int kolom = 0;
while (kolom < 10) {
int baris = 0;
while (baris < 4 ) {
Kursi[baris][kolom].statuskursi=1;
baris++;
}
kolom++;
}
}
}; // Class Gerbong
void PrintListGerbong(list<Gerbong>& cl)
{ list<Gerbong>::iterator pos;
/*while (!cl.empty()){
cl.front().CetakGerbong();
cl.pop_front();
} */
for (pos=cl.begin(); pos!=cl.end(); ++pos)
{
(*pos).CetakGerbong();
}
}
//int CariListGerbong(list<Gerbong>& cl, int No)
list<Gerbong>::iterator CariListGerbong(list<Gerbong>& cl, int No)
{
list<Gerbong>::iterator pos;
int found = false;
pos=cl.begin();
while ( (!found) && (pos!=cl.end()) ){
if ( (*pos).NoGerbong == No ){
found = true;
return pos; // Ketemu
}
else {
pos++;
}
}
if (!found)
{
return pos; // tidak ketemu
}
}
int main()
{
list<Gerbong> coll;
list<Gerbong>::iterator pos;
//Mengisi List Object Gerbong
Gerbong grb1;
grb1.NoGerbong = 1;
coll.insert(coll.end(),grb1); //coll.push_back(grb1);
Gerbong grb2;
grb2.NoGerbong = 2;
coll.insert(coll.end(),grb2); //coll.push_back(grb2);
Gerbong grb3;
grb3.NoGerbong = 3;
coll.insert(coll.end(),grb3); //coll.push_back(grb3);
// Menentukan/mencari/mengevaluasi no gerbong dalam List Object Gerbong
//found=CariListGerbong(coll, 3);
pos = CariListGerbong(coll, 3);
(*pos).UbahStatusListGerbong();
PrintListGerbong(coll);
system("PAUSE");
return 0;
}