Include

5
#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 ) {

description

bahasa

Transcript of Include

Page 1: 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 ) {

Page 2: Include

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) {

Page 3: Include

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();

}

}

Page 4: Include

//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;

Page 5: Include

//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;

}