专周设计报告样板

上传人:桔**** 文档编号:507909768 上传时间:2024-02-21 格式:DOC 页数:20 大小:70KB
返回 下载 相关 举报
专周设计报告样板_第1页
第1页 / 共20页
专周设计报告样板_第2页
第2页 / 共20页
专周设计报告样板_第3页
第3页 / 共20页
专周设计报告样板_第4页
第4页 / 共20页
专周设计报告样板_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《专周设计报告样板》由会员分享,可在线阅读,更多相关《专周设计报告样板(20页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上 专 周 报 告 专心-专注-专业目 录一、题目和设计要求专周题目:停车场管理,设计要求:对一个两层共十二个车位的停车场进行停车、取车管理,我作为小组一员负责停车收费管理这一块。 题目要求如下:1、有一个两层的停车场,每层有6个车位,当地一层停车满后才允许使用第二层。(停车场可用一个二维数组实现,每个数组元素存放一个车牌号)每辆车的信息包括车牌号,层号,车位号,停车时间共四项,其中停车时间按分钟计算。2、假设停车场的初始状态为第一层已经停有4辆车,其车位号依次为1-4,停车时间依次为20,15,10,5.即先将这四辆车的信息存入文件car_dat中(数组的 对应元素也

2、要进行赋值)。3、停车操作:当一辆车进入停车场时,先输入其车牌号,再为它分配一个层号和一个车位号(分配前先查询车位的使用情况,如果第一层有空位必须停在第一层);停车时间设为5,最后将新停入的汽车的信息添加文件car_dat中,并将在此之前的所有车的停车时间加5。 4、收费管理(取车):当有车离开时,输入其车牌号,先按其停车时间计算费用,每5分钟0.2元。(停车费用可用一个变量进行保存),同时从文件car_dat中删除该车的信息,并将该车对应的车位设置为可用状态,(即二位数组对用元素清零)。按用户的选择来判断是否要输出停车收费的总计。5、输出停车场的全部车辆信息。6、退出系统。 整个收费管理操作

3、用一个charge函数来执行,在此函数内可使用其他函数,或者循环使用,同时在此函数执行中要记录下执行此操作的时间,以便于计算费用和打印凭条(即为题目要求的“输出停车收费总计),而且客户或者管理员在进行收费管理时也可以及时的返回主菜单,另外如果不按照系统指示进行操作也会返回主菜单。二、设计与实现1、分析问题a) 主过程:当停在停车场的车要离开时,车主会输入车牌号,系统就应该迅速计算出停车费用,之后询问客户是否要凭条,是的话打印凭条。b) 输入车牌号的时候,有可能客户输入的车牌号不是五位,或者输入错误(没有输入自己的车牌号),此时也有可能输入的错误车牌号恰巧和停车场其他某一辆车一致,对于此类情况系

4、统要做出判断和相应的提示。c) 询问车主取车时,可能不按提示输入。d) 在某些情况,可能车主会不记得自己的车牌号,则可以按车位取车。e) 按车位取车的时候,可能输入的车位不合范围。f) 询问车主是否打印凭条,车主不按照系统要求输入(比如Y或者N),而输入其他的。2、 设计思路a) 首先请车主输入车牌号(包含字母),如果输入的车牌号不是五个,就输出提示,提醒他输入五位。b) 当车主输入了车牌号(五位)之后,系统就在“car.dat”文件中去搜索,如果没有找到则说明车主输入有误,提醒他重新输入。c) 提醒的时候同时给予另外一种选择,即通过车位号取车,此时车主要做出选择。d) 如果选择输入车牌号,则

5、再次回到a,如果选择通过车位号取车,系统就会提示车主输入车层和车位,如果输入车层超过2车位超过6,则提示车主输入错误,让他重新输入。e) 待车主输入正确之后,找到该车,输出车牌号并确认取车。f) 在b中,如果搜索到了对应的车牌号,则将此车相应的车层和车位输出,并询问车主是否确认取车(以防止输错车牌号和别人的车正好吻合)。不取则回到菜单。g) 确认取车之后,系统就会计算出停车的费用,计算时,小于五分钟统一按五分钟计算,将结果输出,然后询问车主是否要打印凭条。h) 需要的话,即将结构体中所有的信息输出,不需要则不进行任何操作。i) 最后将取出的车的所有信息归零,包括车牌号,停车起始和终止时间,停车

6、费用,以及停车日期,并存入文件,跳出charge函数。j) 在选择取车方式的时候,如果车主没有按照要求输入1或者2,则系统提示错误,默认返回主菜单。3、流程图开始输入车牌号(code_num)车牌号为5strlen=5停车场中是否含有此车牌号的车NY确认i值 (i+1)=6YN输出层数 1,输出车位(i+1)输出层数 2,输出车位(i-5)输入是否取车YN341N输入有误,选择取车方式:1,车牌号;2,车位212default44Menu函数1Nn记录时间并且将当地时间赋给结构体parking_messagei3输出费用parking_messagei是否打印凭条将时间值及车牌号全部归零NY2

7、输入层数和车位找到对应的车牌号并且输出确认是否取车YN34Save函数Menu函数1Pingtiao函数:输出车牌号,停车位,以及停车取车时间注释:1,charge 函数 2,chargeplace函数 3,fee 函数 4,back 函数4、功能实现1,我的整个模块就是一个charge 函数,其中包含了四个函数,fee函数、chargeplace函数、back函数、pingtiao函数、save函数,在chatge函数主体中,主要流程是让车主输入车牌号,同时也可以通过车位取车,这时就进入chargeplace函数和车主对话。2,不论车主以何种方式取车,最终确认取车之后就进入fee函数,计算费

8、用,如果车主不取车,进入back函数即回去主菜单。3,在fee函数中,计算费用并输出之后,就询问是否需要凭条,需要则进入pingtiao(凭条)函数,输出车主停车的全部详细信息,如果不需要,则再次进入back函数,回到主菜单。4,不论是否需要凭条,在fee函数最后都会执行save函数,将已取的车信息全部归零,以便于下次取车。以下即为我负责编写的charge 函数以及相应的注释:/* 声明要使用的函数 */void chargeplace();void fee(int j);void pingtiao(); void fee(int j); /* 声明fee函数 */ void charge()

9、int i,a;char d; /* 定义要使用的变量及字符 */char code_num6; /* 定义一个一维数组存放车牌号 */ char c;printf(请输入车牌号(五位):); /* 输入车牌号 */scanf(%s,code_num);while(strlen(code_num)!=5) /* 保证输入的(车牌号)字符串长度为5 */printf(您的输入有误,请重新输入车牌号(五位):);scanf(%s,code_num);for(i=0;i+)if(strcmp(parking_messagei.code_num,code_num)=0)&(i=11) /*通过车牌号找

10、到i值*/printf(您的车停放在%d层%d号车位:,(i+1)=6?1:2,(i+1)=12) break; /*没有找这个车牌,跳出循环执行下一项*/if(i=12) /*车牌号输入错误*/printf(对不起!该停车场没有找到车牌号为%s的车!n,code_num);printf(1输入错误再来一次,请按-1t 2忘记了车牌号,请按-2);scanf(%d,&a); /* 选择取车方式 */switch(a)case 1:charge();break; /*再次输入,重新执行charge函数*/case 2:chargeplace();break; /*忘记了车牌号,通过停车位取车*/

11、default:printf(errorn); /*选择取车的时候按键错误,则返回主菜单*/printf(按任意键返回主菜单.n);scanf(%s,&c);if(c=getchar()!=0) back();save();void chargeplace() /* 通过车位取车 */ int i=0;int m,n;char d;printf(请输入层数(12)及车位号(16):); /* 输入车位 */scanf(%d,%d,&m,&n);while(m2|n6) /* 保证输入的车位号正确 */printf(您的输入有误,请重新输入层数(12)及车位号(16):);scanf(%d,%d

12、,&m,&n);i=(m=1)?(n-1):(n+5); /* 通过输入的车位确定i值,找相应的结构体元素 */printf(车已找到,车牌号为%s,parking_messagei.code_num);printf(n);printf(是否要取该车(Y/N)?n); /* 确认取车 */ scanf(%s,&d);if(d=Y|d=y) printf(取车成功n);fee(i); /* 取车即进入fee函数*/else back(); /* 不取车即再次返回主采单*/ void fee(int j) /* 收费函数 */void pingtiao(int k);char q; /* 声明pingtiao函数 */local=localtime(&parking_messagej.end); /*

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号