//Sample program to read input file and perform calculations with interactive values.
//Print out a table with input and calculated values.
#include
#include
#include
#include
using namespace std;
void GetRates(float&, float&, float&, float&);
enum Vehicles{MOTORCYCLE, CAR, BUS, TRUCK};
int main()
{
float cycleRate;
float carRate;
float busRate;
float truckRate;
char code;
int weight;
ifstream inFile;
Vehicles typeCode;
inFile.open("file1.dat");
if(!inFile)
{
cout<<"Unable to open input file, program abnormally ended"<
return 1;
}
GetRates(cycleRate, carRate, busRate, truckRate);
cout<
cout<
inFile>>code>>weight;
while(inFile)
{
if(code=='m')
typeCode=MOTORCYCLE;
else if(code=='c')
typeCode=CAR;
else if(code=='b')
typeCode=BUS;
else if(code=='t')
typeCode=TRUCK;
inFile>>code>>weight;
}
switch(typeCode)
{
case MOTORCYCLE:cout<<"MOTORCYCLE";
break;
case CAR:cout<<"CAR";
break;
case BUS:cout<<"BUS";
break;
case TRUCK:cout<<"TRUCK";
break;
default:cout<<"Error: Invalid Vehicle Type";
}
{
if(code=='m')
cout<
else if (code=='c')
cout<
else if(code=='b')
cout<
else if(code=='t')
cout<
else
cout<
return 0;
}
}
void GetRates(/*out*/ float& motorcycleRate,
/*out*/ float& carsRate,
/*out*/ float& busesRate,
/*out*/ float& trucksRate)
{
bool invalidData;
invalidData=true;
while(invalidData)
{
cout<<"Enter the tax rate for MOTORCYCLES(0.01-0.99)"<
cin>>motorcycleRate;
{
if(0.009<=motorcycleRate&&motorcycleRate<=0.999)
invalidData=false;
else
cout<<"Warning: entry invalid, rate must be between 0.01 and 0.99"<
}
}
invalidData=true;
while(invalidData)
{
cout<<"Enter the tax rate for CARS(0.01-0.99)"<
cin>>carsRate;
{
if(0.009<=carsRate&&carsRate<=0.999)
invalidData=false;
else
cout<<"Warning: entry invalid, rate must be between 0.01 and 0.99"<
}
}
invalidData=true;
while(invalidData)
{
cout<<"Enter the tax rate for BUSES(0.01-0.99)"<
cin>>busesRate;
{
if(0.009<=busesRate&&busesRate<=0.999)
invalidData=false;
else
cout<<"Warning: entry invalid, rate must be between 0.01 and 0.99"<
}
}
invalidData=true;
while(invalidData)
{
cout<<"Enter the tax rate for TRUCKS(0.01-0.99)"<
cin>>trucksRate;
{
if(0.009<=trucksRate&&trucksRate<=0.999)
invalidData=false;
else
cout<<"Warning: entry invalid, rate must be between 0.01 and 0.99"<
}
}
}
2006-07-11
09:07:55
·
4 answers
·
asked by
jdegbor
1
in
Programming & Design