想知道这个问题的完整代码。

【问题描述】某停车场有5个车位(1-5号),设计一个程序,实现停车场计费
                  (每停车1个小时收费10块钱,不超过一小时的按一小时收费)。
【输入形式】输入5个车位的车辆信息包括:车位号,车牌号,进入时间,离开时间。
                  (要求!将时间定义为一个结构体类型,采用24小时制,使用嵌套结构体类型定义车辆信息。)
【输出形式】输出车辆信息包括:车位号,车牌号,计费
【样例输入】
1 L-0055 7 20 10 50
2 B-8455 7 50 8 40
3 H-5267 6 35 11 55
4 U-3712 6 25 8 05
5 M-2426 7 05 9 10
【样例输出】
1 L-0055 40
2 B-8455 10
3 H-5267 60
4 U-3712 20
5 M-2426 30

定义一个数据结构接收输入,然后按照计费公式计算费用。你是要计算每辆车的费用,还是总费用呢

#include <stdio.h>
typedef struct _times
{
    int hour;
    int mins;
}times;
typedef struct _carInfo
{
    int pos;
    char carId[10];
    times intime;
    times outtime;
    int pay;
}carInfo;

int main()
{
    carInfo car[5];
    for(int i=0;i<5;i++)
    {
        scanf("%d %s %d %d %d %d",&car[i].pos,car[i].carId,&car[i].intime.hour,&car[i].intime.mins,&car[i].outtime.hour,&car[i].outtime.mins);
        int outmins = car[i].outtime.hour * 60 + car[i].outtime.mins;
        int inmins = car[i].intime.hour * 60 + car[i].intime.mins;
        if(outmins < inmins)
            outmins += 24*60;
        int def = outmins - inmins;
        int h = def/60;
        int m = def%60;
        if(m>0)
            h++;
        car[i].pay = h*10;
    }
    for(int i=0;i<5;i++)
        printf("%d %s %d\n",car[i].pos,car[i].carId,car[i].pay);
    return 0;
}

定义结构体数组或者多个数组读取,逐个计算即可

img

运行结果:

代码:


#include <stdio.h>

typedef struct _timeinfo
{
    int hour; //时
    int mint; //分
}Time;

typedef struct _datainfo
{
    int id; //车位号
    char card[12]; //车牌号
    Time in;  //进入时间
    Time out;  //离开时间
}Carinfo;

int main()
{
    Carinfo car[5];
    int pay[5];
    int i, t;
    for (i = 0; i < 5; i++)
    {
        scanf("%d %s %d %d %d %d", &car[i].id, car[i].card, &car[i].in.hour, &car[i].in.mint, &car[i].out.hour, &car[i].out.mint);
        t = car[i].out.hour - car[i].in.hour;

        if (t == 0)
            t = 1;
        else
        {
            if (car[i].out.mint > car[i].in.mint)
                t += 1;
        }

        pay[i] = t * 10;
    }
    //计算输出
    for (i = 0; i < 5; i++)
    {
        printf("%d %s %d\n", car[i].id, car[i].card, pay[i]);
    }

    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632