计算停车费,输入车牌号,输出停车费,用c++或者c语言程序做出来
用scanf() 函数 和printf()做呀。
#include <stdio.h>
typedef struct _carInfo
{
char carId[10]; //车牌号
int inHour; //进入时间(小时)
int inMin; //进入时间(分钟)
int outHour; //离开时间(小时)
int outMin; //离开时间(分钟)
}carInfo;
carInfo cars[1000];
int nCars = 0;
float rate = 1.5; //停车费率
void InCar(char carId[],int inHour,int inMin)
{
strcpy(cars[nCars].carId,carId);
cars[nCars].inHour = inHour;
cars[nCars].inMin = inMin;
nCars++;
}
void outCar(char carId[],int outHour,int outMin)
{
for(int i=0;i<nCars;i++)
{
if(strcmp(cars[i].carId,carId) == 0)
{
cars[i].outHour = outHour;
cars[i].outMin = outMin;
break;
}
}
}
float getPay(char charId[])
{
for(int i=0;i<nCars;i++)
{
if(strcmp(cars[i].carId,carId) == 0)
{
float fStayHour = rate*(cars[i].outHour + cars[i].outMin/60.0 - cars[i].inHour - cars[i].inMin/60.0);
return fStayHour;
}
}
return -1;
}
int main()
{
printf("请输入当前车库车辆数:");
int n;
scanf("%d",&n);
carInfo c;
for(int i=0;i<n;i++)
{
printf("请输入第%d辆车的车牌号、进入时间的小时和分钟:");
scanf("%s%d%d",c.carId,&c.inHour,&c.inMin);
inCar(c.carId,c.inHour,c.inMin);
}
printf("请输入离开的车辆的车牌号、离开时间的小时和分钟:");
scanf("%s%d%d",c.carId,&c.outHour,&c.outMin);
outCar(c.carId,c.outHour,c.outMin);
float fPay = getPay(c.carId);
if(fPay < 0)
printf("输入数据错误。");
else
printf("需付车费%.1f元",fPay);
return 0;
}