Repository navigation
Expand file tree
/
Copy pathclassFuelGuage.cpp
More file actions
87 lines (71 loc) · 1.45 KB
/
Copy pathclassFuelGuage.cpp
File metadata and controls
87 lines (71 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include<iostream>
#include<cstring>
using namespace std;
class FuelGauge{
private:
int currentfuel;
public:
FuelGauge(int currentfuel=0){
if(this->currentfuel>=0 && this->currentfuel<15){
this->currentfuel=currentfuel;
}
else{
this->currentfuel=0;
}
}
int getcurrentfuel(){
return currentfuel;
}
void incrementfuel(){
if (getcurrentfuel()<15){
currentfuel++;
}
}
void decrementfuel(){
if(getcurrentfuel()>0){
currentfuel--;
}
}
};
class Odometer{
private:
int milecounter;
int miles;
public:
Odometer(int m,int milecounter=0) {
if(miles>=0 && miles<999999){
this->miles=m;
}
else{
miles=0;
}
this->milecounter=milecounter;
}
int getmiles(){
return miles;
}
void incrementmiles( FuelGauge &fg){
miles++;
if(getmiles()>999999){
miles=0;
}
milecounter++;
if(milecounter==24){
fg.decrementfuel();
milecounter=0;
}
}
};
int main(){
FuelGauge f(0);
Odometer o(0,0);
while(f.getcurrentfuel()<15){
f.incrementfuel();
}
while(f.getcurrentfuel()>0){
o.incrementmiles(f);
cout<<"current miles: "<<o.getmiles()<<endl;
cout<<"current fuel: "<<f.getcurrentfuel()<<endl;
}
return 0;
}