造一个车子的类,上色,装引擎和轮子,然后加油让它跑起来。
每跑10分钟,提示一次油量。
油量低于10,发出警告提示是否加油。
#include <iostream>
#define FULL_GAS 85
int j=0;
class Car
{
public:
std::string color;
std::string engine;
unsigned int gas_tank;
unsigned int Wheel;
void setColor(std::string col);
void setEngine(std::string eng);
void setWheel(unsigned int Whe);
void fill_tank(unsigned int liter);
int running(void);
void warning(void);
};
void Car::setColor(std::string col) //上色
{
color=col;
}
void Car::setEngine(std::string eng) //添加引擎
{
engine=eng;
}
void Car::setWheel(unsigned int Whe) //安装轮子
{
Wheel=Whe;
}
void Car::fill_tank(unsigned int liter) //加油
{
gas_tank+=liter;
}
int Car::running(void) //车子行驶
{
std::cout<< "车子正在以100的时速向前行驶,行驶了"<<(j+=10)<<"分钟\n";
gas_tank--;
std::cout<<"当前还剩"<<100*gas_tank/FULL_GAS<<"%的油量!\n";
return gas_tank;
}
void Car::warning(void) //油量警告
{
std::cout<<"WARNING!!"<<"还剩"<<100*gas_tank/FULL_GAS<<"%的油量!\n";
}
int main()
{
char i;
int wei;
Car mycar;
unsigned int leftOil=0;
mycar.setColor("black");
mycar.setEngine("V8");
mycar.setWheel(4);
mycar.gas_tank=FULL_GAS;
while((leftOil=mycar.running())>0) //一直在行驶
{
if(leftOil<=10)
{
mycar.warning();
std::cout<<"是否需要加油:Y/N\n";
std::cin>>i;
if(i=='Y'||i=='y')
{
std::cout<<"需要加多少油?\n";
std::cin>>wei;
while(wei<=0||(wei+mycar.gas_tank)>FULL_GAS)
{
std::cout<<"输入数值错误,请重新输入。\n";
std::cin>>wei;
}
mycar.fill_tank(wei);
}
}
}
return 0;
}