Kamis, 07 Juli 2011

Cara menghitung Jarak tempuh kendaraan + jumlah Bensin yg terpakai dengan C++

#include <constrea.h>
#include <stdlib.h>
#include <string.h>

constream o;

class kendaraan{
protected:
int jarak, kecepatan;
float waktu;
public:
kendaraan(){
jarak = kecepatan = 0;
waktu = 0;
}
void set_jarak(int a){ jarak = a; }
int get_jarak(){ return jarak; }
void set_kecepatan(int a){ kecepatan = a; }
int get_kecepatan(){ return kecepatan; }
float get_waktu();
~kendaraan(){}
};

float kendaraan::get_waktu(){
waktu =(float) jarak/kecepatan + jarak/100*0.1;
return waktu;
}

class mobil : public kendaraan{
int jenis;
long total;
public:
mobil(){
jenis = random(3);
total = 0;
}
long get_total();
char *get_jenis();
~mobil(){}
};

char *mobil::get_jenis(){
char *str = " ";
switch(jenis){
case 0:
strcpy(str, "Premium");
break;
case 1:
strcpy(str, "Pertamax");
break;
case 2:
strcpy(str, "Pertamax Plus");
break;
}
return str;
}

long mobil::get_total(){
switch(jenis){
case 0:
total = jarak/10 * 5000;
break;
case 1:
total = jarak/10 * 6000;
break;
case 2:
total = jarak/10 * 7000;
break;
}
return total;
}

char menu(){
o << "Menu Pilihan\n";
o << "1. Kendaraan\n";
o << "2. Mobil\n";
o << "3. Keluar";
return (char) getch();
}

void kend(){
kendaraan obj;
int jrk=0, kec=0;
o << "Kendaraan : \n";
do{
o << "Masukkan jarak tempuh [10..1000] : ";
cin >> jrk;
cin.sync(); cin.clear();
}while(jrk<10 || jrk>1000);
obj.set_jarak(jrk);
do{
o << "Masukkan kecepatan [1..100] : ";
cin >> kec;
cin.sync(); cin.clear();
}while(kec<1 || kec>100);
obj.set_kecepatan(kec);
o << "Waktu : " << obj.get_waktu() << " jam";
getch();
}

void mobi(){
mobil anak[3];
int jrk=0, kec=0;
for(int i=0; i<3; ++i){
o << "Mobil ke-" << (i+1) << endl;
do{
o << "Masukkan jarak tempuh [10..1000] : ";
cin >> jrk;
cin.sync(); cin.clear();
}while(jrk<10 || jrk>1000);
anak[i].set_jarak(jrk);
do{
o << "Masukkan kecepatan [1..100] : ";
cin >> kec;
cin.sync(); cin.clear();
}while(kec<1 || kec>100);
anak[i].set_kecepatan(kec);
o << "Waktu : " << anak[i].get_waktu() << " jam\n";
o << "Jenis : " << anak[i].get_jenis() << " menghabiskan Rp. " << anak[i].get_total() << "\n\n";
}
getch();
}

void main(){
randomize();

char tekan = '0';
tekan;

do{
o.clrscr();
tekan =(char) menu();
switch(tekan){
case '1':
o.clrscr();
kend();
break;
case '2':
o.clrscr();
mobi();
break;
}
}while(tekan != '3');
}


sumber : http://www.kaskus.us/showthread.php?t=1215259&page=7

Tidak ada komentar:

Posting Komentar

Jangan Lupa Kasih Komentar Dan masukannya ya