您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > C语言课程设计实验报告--汽车租赁管理系统
《C语言程序设计》课程设计实验报告题目:汽车租赁管理系统专业:班级:姓名:学号:时间:2015年6月第1页一、目的1、进一步掌握和利用C语言进行程序设计的能力;2、进一步理解和运用结构化程序设计的思想和方法;3、初步掌握开发一个小型实用系统的基本方法;4、学会调试一个较长程序的基本方法;5、学会利用流程图或N-S图表示算法;6、掌握书写程序设计开发文档,即书写课程设计报告的能力;第2页二、内容与设计思想。1、系统功能与分析(填写你所设计的菜单及流程图)。主函数系统选项非0,1,2,3,4为无效值查询汽车办理租赁管理系统归还登记退出系统1:增加汽车2:删除汽车3:汽车统计4:会员管理系统1:申请新卡2:删除卡号3:卡号统计0:返回\n第3页2、数据结构数据表格图形会员信息车辆信息卡号姓名性别电话编号车型品牌租金状态数据结构代码structmember{intcardnum;charlendcar[10];}member[1000];structcar{intcarnum;charcarname[20];floatcarprice;charcarcreat[20];intturefalse;}car[1000];structcard{intcardnum;charsex[5];charmembersname[20];longintmemberstel;}card[1000];全局变量:charch1,ch2,ch4;第4页3、模块设计根据功能需要:源文件函数名功能汽车租赁管理系统.cmain()主函数chacar()分类查找汽车findcar()按“车型”查找findcar1()按“品牌”查找lendcar()将汽车租出并记录huancar()将汽车归还并记录addcard()新增会员,采集信息delcard()删除会员,清除信息cardcount()统计会员总数,显示详细信息addcar()增加新车,采集信息delcar()删除车辆,清除信息carcount()统计车辆总数,显示详细信息end()结束系统运行第5页4、总体设计思想:整个程序主要由4个界面组成,分别是查询汽车,办理租赁,管理系统,归还登记组成。其中管理系统包括汽车的增加、删除、统计和会员管理系统。会员管理系统又包括申请新卡、删除旧卡、卡号统计的程序。5、调试过程:测试数据及结果,出现了哪些问题,如何修改的。以下是测试截图:主界面汽车租赁管理系统(1.增加汽车)第6页(2.删除汽车)(3.汽车统计)第7页(4.会员管理系统)(1.申请新卡)(2.删除卡号)(3.卡号统计)4.归还登记归还前已租到suv一辆归还suv汽车第8页归还后查询汽车时遇到的问题:1.字符串用的双引号与字符用的单引号上有错误。2.输出时在上下行数据的排列方式上出现问题,不会灵活运用。3.考虑不全面,调试时出现不符合要求的错误,重新整理思路,解决问题。第9页办理租赁时遇到的问题:1.结构体运用中调用出错。2.对结构体认识不清,理解不透彻,运用不够准确。3.大括号,分号漏加。4.没有注意字符串处理函数应用时的格式,导致后期出错。5.对文件的读写,认识不够深刻。管理系统中遇到的问题:1.对结构体中各成员的引用上,调用存在问题。2.结构体变量的定义及使用。3.If与else的用法仍不明确。有时会搞混不同层次的if与else的搭配。归还登记中遇到的问题1.Continue,break的区别。2.While、if-else、for等的应用。3.If语句中的判断过于复杂,可简化6、程序有待改进的地方及本次实习的收获和建议有待改进的部分:第10页1.没有完成自动计算时间,从而计算总费用的功能。2.功能较少。3.存储的会员、车辆信息有限。4.输入下一步操作选项时,界面乱,不整洁。5.删除汽车、会员时,即使输入不存在的值,操作结束后也会提示操作成功。6.无法存储车辆、会员信息。收获和建议:1.面对较大的程序时,应把问题逐渐细分,从大到小,一步步来2.多思考,多查阅资料,多测试,多咨询,多沟通。3.要首先确定基本结构。多关注各个功能的衔接,确定都要使用的全局变量正确。7、源程序清单(主要代码)#includestdio.h#includestring.h#includestdlib.h#includeconio.hstructmember{intcardnum;charlendcar[10];}member[5];structcar{intcarnum;charcarname[20];第11页floatcarprice;charcarcreat[20];intturefalse;}car[5];structcard{intcardnum;charsex[5];charmembersname[20];longintmemberstel;}card[5];findcar(){charcarname[10];inti;printf(\n\n请输入你要查找的车型:\n);scanf(%s,carname);for(i=0;i5;i++){while(strcmp(carname,car[i].carname)==0){if(car[i].turefalse==1){printf(编号车型品牌\n%d%s%s\n,car[i].carnum,car[i].carname,car[i].carcreat);printf(\n\n);printf(---------------此车现在无人租用\n.);printf(---------------按任意键返回\n);break;}else{printf(\n\n---------------这辆车已经有人借出\n);break;}}}return0;}findcar1(){charcarcreat[10];第12页inti;printf(\n\n请输入你要查找的品牌:\n);scanf(%s,carcreat);for(i=0;i5;i++){while(strcmp(carcreat,car[i].carcreat)==0){if(car[i].turefalse==1){printf(编号车型品牌\n%d%s%s\n,car[i].carnum,car[i].carname,car[i].carcreat);printf(\n\n);printf(---------------此车现在无人租用\n.);printf(---------------按任意键返回\n\n);break;}else{printf(\n\n---------------这辆车已经有人借出!\n);printf(---------------按任意键返回\n\n);break;}}}return0;}chacar(){charch5;do{printf(\n\n1:按车型查找\n);printf(2:按品牌查找\n);printf(0:返回\n);printf(请输入0━2:\n);ch5=getch();switch(ch5){case'1':findcar();getch();break;case'2':findcar1();getch();break;case'0':break;default:printf(---------------无此操作!\n);getch();break;}}while(ch5!='0');return0;}第13页lendcar(){inti,n;intcardnum;printf(\n\n请输入卡号:\n);scanf(%d,&cardnum);for(i=0;i5;i++){if(card[i].cardnum==cardnum){n=i;printf(\n车型:);scanf(%s,member[n].lendcar);for(i=0;i5;i++){if(strcmp(car[i].carname,member[n].lendcar)==0){if(car[i].turefalse==0){printf(---------------对不起,此车已被租出,请重新选择\n);getch();return0;}elsemember[n].cardnum=cardnum;for(i=0;i5;i++){if(strcmp(car[i].carname,member[n].lendcar)==0){car[i].turefalse=0;continue;}}printf(\n\n---------------操作成功,请及时提车.);printf(\n---------------按任意键返回...\n);getch();return0;}}printf(\n\n---------------错误操作.);printf(\n---------------按任意键返回...\n);getch();return0;}}printf(\n\n---------------你的卡号不存在,请申请新卡.\n);printf(\n---------------按任意键返回...\n);第14页getch();return0;}huancar(){inti,n;intcardnum;charlendcar[10];printf(\n\n\n);printf(---欢迎进入还车界面---);printf(\n\n请你输入你的卡号:);scanf(%d,&cardnum);for(i=0;i5;i++){if(card[i].cardnum==cardnum){n=i;printf(\n请输入你要归还的车型:);scanf(%s,lendcar);for(i=0;i5;i++){while(strcmp(member[i].lendcar,lendcar)==0){car[i].turefalse=1;break;}printf(\n\n---------------还车完毕.);printf(\n---------------按任意键返回...\n);getch();return1;}printf(\n\n---------------租赁记录不存在.);printf(\n---------------按任意键返回...\n);getch();return0;}else{printf(\n\n---------------卡号不存在,请与管理员联系.\n);printf(\n---------------按任意键返回...\n);getch();第15页return0;}}}voidaddcard(){inti=0;charchoice;for(i=0,choice='y';choice=='y'||choice=='Y';i++){printf(\n\n卡号:);scanf(%d,&card[i].cardnum);printf(\n性别:);scanf(%s,card[i].sex);printf(\n姓名:);scanf(%s,card[i].membersname);printf(\n电话:);scanf(%ld,&card[i].memberstel);printf(\n\n是否要输入下一个人===============(y\\n)\n\n);scanf(%s,&choice);}printf(\n\n-----------------输入完毕.);printf(\n---------------任意键返回...\n);getch();}delcard(){inti;intcardnum;charchoice;printf(\n\n要删除的卡号:);scanf(%d,&cardnum);for(i=0;i5;i++){while(card[i].cardnum==cardnum){printf(\n\n确认删除?(Y/N)\n);scanf(%s,&choice);if(choice=='y'||choice=='Y'){{
本文标题:C语言课程设计实验报告--汽车租赁管理系统
链接地址:https://www.777doc.com/doc-6461853 .html