用c语言或者c++计算停车费,输入车牌号,输出停车费

计算停车费,输入车牌号,输出停车费,用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;
}

?请详细说明问题
可参考