5、取车模块:
第一步,读取要提取车辆的车牌号码。再通过flag标志量对所输入车牌号正误分别处理。(初始flag=0)
第二步,对于输入正确的车辆进行操作:删除车辆信息,再计算费用,再对时间清零并标 志取车成功。
第三步,进过上一步后取车不成功时即flag还是为0时,提示重复输入车牌号直道成功为止。 程序如下:
第四步,有选择性的显示收费价格: printf(\显示停车费用?是(1)/否(2)\
do{
scanf(\
if((temp>9999)&&(temp<100000)){
for(i=0;i<12;i++) }
if(cars[i][0]==temp){
cars[i][0]=0; cost=0.2*cars[i][3]/5; cars[i][3]=0; flag=1; break; }
if(flag==0)
printf(\您输入的车牌号码有误,请重新输入。\\n\
}while(!flag);
scanf(\
第 5 页
switch(i){
case 1: printf(\车牌号 : %d 费用 %8.2f元\\n\case 2: default: break; }
最后,调用saveAll()函数来保存数据到car.dat。
6、车辆信息浏览模块:
注意我们只需要显示有车的车位可以用for循环语句再加上if判断语句来实现显示功能。
printf(\车牌号\\t\\t楼层\\t 车位 \\t\\t时间\\n\ for(i=0;i<12;i++) if(cars[i][0]!=0) printf(\
\\t\\t %d\\n\
7、主函数:
调用子函数init()初始化读取car.dat文件。用printf在屏幕上显示停车场的菜单。再用switch语句实现选择执行哪个模块语句。
switch(a){
case 1:putCar(); break; case 2:getCar();break; case 3:showInfo();break; case 4:exit(0); break;
default:printf(\您输入的信息有误!\\n\};
getchar();
三、程序设计
#include
第 6 页
#include
struct Garage {
char carnum[8]; int lay;
int garagenum; int time; int isempty; } ;
void Instruction() {
printf(\停车场管理系统说明\\n\
printf(\停车请输入1 取车请输入2\\n\
printf(\查看全部车辆信息请输入3 退出请输入0\\n\ }
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,\ gar[0][0].time=20;
strcpy(gar[0][1].carnum,\ gar[0][1].time=15;
strcpy(gar[0][2].carnum,\ gar[0][2].time=10;
strcpy(gar[0][3].carnum,\ gar[0][3].time=5;}
void AddTime(struct Garage gar[][6]) {
int i,j;
for(i=0;i<2;i++)
第 7 页
{
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(\ for(i=0;i<6;i++) {
if(gar[0][i].isempty==1) {
printf(\第一层%d号车位可停,请在此处停车\\n\ strcpy(gar[0][i].carnum,num);
printf(\车牌号:%s层号:1车位号:%d\\n\ 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\ strcpy(gar[1][i].carnum,num);
printf(\车牌号:%s 层号:2 车位号:%d\\n\ 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;
第 8 页
printf(\ 车牌号 层号 车位号 停车时间\\n\ for(i=0;i<2;i++) { for(j=0;j<6;j++)
printf(\ %s???\\n\gar[i][j].carnum, gar[i][j].lay,
gar[i][j].garagenum,gar[i][j].time); }
printf(\ }
double Leave(struct Garage gar[2][6]) {
int i,j;
char num[8]; double charge=0;
printf(\请输入要取的车牌号:\ scanf(\ 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].garagenum,gar[i][j].time); charge=gar[i][j].time/5*0.2;
printf(\停车费用每5分钟0.2元,您需交%.2lf元\\n\ gar[i][j].isempty=1; return charge; }}}
printf(\没有您输入的车牌号.\\n\\n\ return charge; }
void IsPrintTotal(double total) {
char ch;
printf(\是否查看停车收费总计?Y/N\ scanf(\
while(ch!='y'&&ch!='Y'&&ch!='n'&&ch!='N') {
printf(\请输入Y或N\ scanf(\ printf(\
第 9 页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库停车场管理系统1(2)在线全文阅读。
相关推荐: