中易网

39、停车场管理C语言编程

答案:3  悬赏:20  
解决时间 2021-01-27 19:51
39、停车场管理C语言编程
最佳答案
程序太大 不让发 我是分几次发过去的 打三个出现乱码了 我在重新发一次


void Init(struct Garage gar[][6])
{
int i, j;


for (i=0; i<2; i++)
{
for (j=0; j<6; j++)
{
gar[i][j].lay = i+1;
gar[i][j].garagenum = j+1;
gar[i][j].time = 0;
gar[i][j].isempty = 1;
}
}


for (i=0; i<4; i++)
{
gar[0][i].isempty = 0;
}
strcpy(gar[0][0].carnum, "GF8888");
gar[0][0].time = 20;
strcpy(gar[0][1].carnum, "GF6666");
gar[0][1].time = 15;
strcpy(gar[0][2].carnum, "GF9999");
gar[0][2].time = 10;
strcpy(gar[0][3].carnum, "GF5858");
gar[0][3].time = 5;
}


void AddTime(struct Garage gar[][6])
{
int i, j;
for (i=0; i<2; i++)
{
for (j=0; j<6; j++)
{
if (gar[i][j].isempty == 0)
{
gar[i][j].time += 5;
}
}
}
}


void Park(struct Garage gar[][6])
{
int i;
char num[8];

printf("请输入车牌号:");
scanf("%s", num);


for (i=0; i<6; i++)
{
if (gar[0][i].isempty == 1)
{
printf("第一层第%d号车位空着,请在此处停车\n", i+1);
strcpy(gar[0][i].carnum, num);
printf("车牌号:%s 层号:1 车位号: %d \n", num, i+1);
AddTime(gar);
gar[0][i].isempty = 0;
gar[0][i].time = 5;

return;
}
}

printf("第一层已经没有空车位\n");

for (i=0; i<6; i++)
{
if (gar[1][i].isempty = 1)
{
printf("第二层第%d号车位空着,请在此处停车\n", i+1);
strcpy(gar[1][i].carnum, num);
printf("车牌号:%s 层号:2 车位号: %d \n", num, i+1);
AddTime(gar);
gar[1][i].isempty = 0;
gar[1][i].time = 5;

return;
}
}

printf("对不起,1 2层都没有空车位,您现在不能在此停车\n");
}


void Information(struct Garage gar[][6])
{
int i, j;

printf(" 车牌号 层号 车位号 停车时间\n");

for (i=0; i<2; i++)
{
for(j=0; j<6; j++)
{
if (gar[i][j].isempty == 0)
printf(" %s%8d%8d%8d\n", gar[i][j].carnum, gar[i][j].lay, gar[i][j].garagenum, gar[i][j].time);
}
}

printf("\n");
}


double Leave(struct Garage gar[2][6])
{
int i, j;
char num[8];
double charge = 0;

printf("请输入要取的车牌号:");
scanf("%s", num);

for (i=0; i<2; i++)
{
for (j=0; j<6; j++)
{
if (!strcmp(gar[i][j].carnum, num))
{
printf("您在%d层%d车位停车%d分钟\n", gar[i][j].lay, gar[i][j].garagenum, gar[i][j].time);
charge = gar[i][j].time/5*0.2;
printf("停车费用为每5分钟0.2元,您需交%.2lf元\n", charge);
gar[i][j].isempty = 1;
return charge;
}
}
}

printf("没有您输入的车号。\n\n");
return charge;
}


void IsPrintTotal(double total)
{
char ch;
printf("是否查看停车收费总计?Y/N");
scanf("%c", &ch);
while (ch!='y' && ch!='Y' && ch!='n' && ch!='N')
{
printf("请输入Y或N ");
scanf("%c", &ch);
printf("\n");
}

switch (ch)
{
case 'Y':
case 'y':
printf("停车收费总计为%.2lf元\n", total);
break;
case 'N':
case 'n':
break;
}
}
main()
{
int choice;
double total = 0;
struct Garage gar[2][6];

Init(gar); //初始化第一层已经停有的4辆车

while (1)
{
Instruction();
printf("请输入要进行的操作:");
scanf("%d", &choice);
while (choice<0 || choice>3)
{
printf("输入的不合法,请输入0-3选择:");
scanf("%d", &choice);
}

switch (choice)
{
case 1:
Park(gar);
break;
case 2:
total += Leave(gar);
IsPrintTotal(total);
break;
case 3:
Information(gar);
break;
case 0:
exit(0);
}
}
return 0;
}
全部回答

#include
#include
#include
struct Garage
{
char carnum[8]; //车牌号
int lay; //层号
int garagenum; //车位号
int time; //停车时间
int isempty; //该车位是否为空,1表示空,0表示有车
};

void Instruction()
{

printf(" 停车场管理系统使用说明\n");
printf(" 停车请输入 1 取车请输入 2 \n");
printf(" 查看全部车辆的信息请输入 3 退出请输入 0 \n");

}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
针对如何怀上男孩子的这,该是怎么做?
举几个遵守礼仪和违反礼仪的例子
琅琊榜结局风一直没停是什么意思
网游情迷梦幻英雄的txt全集下载地址
权益方是什么含义?
索尼音乐旗下的艺人有哪些?
大佬求资源
新浪微博页面什么都点不开是怎么回事?
日本的国号是多少
我被门框卡摔了。(改成比喻句)
《父亲的秘密》读后感
宜兴市中学地址在什么地方,想过去办事
室内消火栓的配置应符合哪些要求?
三菱广汽长丰猎豹v31 v32 v33 CS6 飞腾 骐菱
为什么总喜欢跟三十多岁的女人....
推荐资讯
求《清代四名人家书》中“诫子书—张之洞”中
索尼HDR AS100VR 和 索尼HDR-AZ1VW 那个好
住隔断间如何隔音?
脸部紧绑带对脸部提上有什么作用
论述贝多芬交响曲的英雄性和革命性
暖气按在门后面好,还是窗户底下好
冒险岛星源的碎片到什么时候之前好换项链
西联汇款怎么查是否到账
订阅杂志的网站?哪个国内第一?
琵琶会说话?
怎样把当当网上下载的DDF格式文件转换成PDF的
肇源县就业局地址在哪,我要去那里办事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?