c++课程设计汽车汽修管理系统_第1页
c++课程设计汽车汽修管理系统_第2页
c++课程设计汽车汽修管理系统_第3页
c++课程设计汽车汽修管理系统_第4页
c++课程设计汽车汽修管理系统_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、装订线长 春 大 学 课程设计纸目 录一、设计题目1二、设计目的1三、设计说明1四、总体设计2五、详细设计3六、结论7七、附录(程序源代码):7 一、 设计题目汽车汽修管理系统二、设计目的1.通过课程设计掌握面向对象的程序设计思路。2.通过课程设计掌握类的继承、抽象类、多态、虚基类的应用方法。3.通过课程设计掌握c+中对文件进行查找、删除、修改等操作方法。三、设计说明1. 系统功能需求描述本系统主要实现车辆信息、车辆修理单信息的插入、删除及查询等功能。编程实现汽车汽修管理系统,主要汽车汽修管理系统。其中车辆信息应该包括车牌号、牌号、型号、生产厂家、修理项目码、修理日期、修理项目、修理小时数、完

2、工日期。车辆修理菜单信息包括修理单编号、修理工工号、修理日期、修理项目、修理小时数、完工日期。具体功能如下:(1)用户登录界面设计。(2)信息维护:包括车辆信息维护:增加车辆信息、删除车辆信息、膝盖车辆信息。包括车辆修理单信息维护:增加车辆修理单信息、删除和良修理单信息、修改车辆修理单信息。(3)信息查询:对车辆信息查询时可实现按车辆名查询、按车主名查询等多条件查询。对车辆修理单信息查询时可实现按车辆修理单号查询、按修理工工号查询等多条件查询。(4)修理单统计:按月统计输出上的汽车修理单信息。按月统计每个修理工的月修理信息。2. 系统运行环境(1)硬件环境。本系统适用于那种inter386以上

3、计算机,内存容量为128m,应配备键盘、鼠标、显示器等外部设备。(2)软件环境。本系统的设计采用visual c+6.0编写。在windows xp sp2环境下测试通过。四、总体设计1. 数据设计(1)类设计车辆信息类car_infor,该类有共同的信息车牌号car_no、牌号car_brand、型号car_modles、生产厂家manufacturer、修理项目码repair_code、车主姓名owner_name、联系电话phone_nomber、修理日期repair_time。车辆修理菜单信息类repair_list,该类有共同的修理单编号list_no、修理工工号repaiman_n

4、o、修理日期repair_time、修理项目project、修理小时数repair_hours、完工日期complete_time。用户信息类user,该类有成员用户名user_name、密码password。功能类fun,该类中包含所有的功能函数,实现对车辆信息及车辆修理单信息的增加、修改、删除以及统计等实用功能。void add()增加车辆信息,void del()删除车辆信息,void modify ()修改车辆信息,void add_list()增加车辆修理单信息,void del_list()删除车辆修理单信息,void modify_list()修改车辆修理单信息,int judg

5、e()判断函数,void query_car()查询车辆信息,void query_list()查询车辆修理单信息,void query_car_no()按车辆名查询,void query_owner_name()按车主名查询,void query_repaiman_no()按修理工工号查询,void query_rlist_no()按车辆修理单号查询,statistics()修理单统计等。(2)函数设计int registe()用户注册,int judge6()用户登录,void add()增加车辆信息,void del()删除车辆信息,void add_list()增加车辆修理单信息,vo

6、id modify ()修改车辆信息,void del_list()删除车辆修理单信息,void modify_list()修改车辆修理单信息,int judge()判断函数,void query_car()查询车辆信息,void query_list()查询车辆修理单信息,void query_car_no()按车辆名查询,void query_owner_name()按车主名查询,void query_repaiman_no()按修理工工号查询,void query_rlist_no()按车辆修理单号查询,void statistics()1按月输出汽车修理单信息,void statist

7、ics()2统计每个修理工的月修理信息。2. 结构设计 系统流程图如图4-1所示。图4-1 系统流程图五、详细设计(1)用户登录/注册界面设计图5-1 用户登录界面此界面用户通过选择进行登录、注册操作,通过调用函数registe(),judge6()实现相关功能。 (2)汽车汽修管理系统界面图5-2 汽车汽修管理系统界面通过用户选择相关功能进行操作,由menu()函数实现显示功能,用户根据相关提示进入下一步。(3)增加车辆信息图5-3增加车辆信息用户按照提示输入,进入相关调用及选择如图中调用add()函数实现对数据的增加操作。(4).删除车辆信息图5-4删除车辆信息此界面实现对信息的删除操作,

8、调用del()函数,实现中先判断有无此信息,然后进行相关操作。(5)修改车辆信息图5-5修改车辆信息此界面调用了modify()函数,系统先判断有无此信息,然后用户根据提示,找到数据,进行修改操作。(6)查询车辆信息图5-6查询车辆信息此界面调用query_car()函数,此函数包含其他两函数工能,因此用户根据提示选择自己的查询方式。(7)统计车辆修理单信息图5-7统计车辆修理单信息此界面调statistics()函数,此函数包含其他两函数工能,因此用户根据提示选择相关需要统计。六、结论这次做的是汽车汽修管理系统,能够很好的实现对相关信息的增加、删除、修改、查询以及用户的注册、登录等功能。并且

9、还能够实现相关功能间的循环转换,本次开发主要用了c+中对于类以及文件的使用,大部分功能的实现依靠文件的相关控制。因此在实现和代码上有许多值得改进和的地方。由于时间原因,程序功能相关部分,还有许多地方值得推敲和拓展开发。 开发过程中,由于是开发者单独的设计和编写,所以在某些功能上可能与实际的需求有出入,主要是在技术上和需求分析上问题,因此该系统还是有尚需要改进的部分。可能因为时间的原因,有些地方做得不够精细,所学的东西不能全部用好。多多把所学的运用到实际中是以后的编程中应该加强和注意的。 七、附录(程序源代码):#include#include#include#include #include#

10、includeusing namespace std;/*车辆信息类*class car_inforpublic:car_infor()private:string car_no;/车牌号string car_brand;/牌号string car_modles;/型号string manufacturer;/生产厂家string repair_code;/修理项目码string owner_name;/车主姓名string phone_number;/联系电话string repair_time;/修理日期;/*修理单类*class repair_listpublic:repair_list

11、()private:string list_no;/修理单编号string repairman_no;/修理工工号string repair_time;/修理日期string project;/修理项目string repair_hours;/修理小时数string complete_time;/完工日期;/*用户信息类*class userpublic:user()private:string user_name;/用户名string password;/密码;/*功能类*class funpublic:fun()/*信息维护*/*增加车辆信息*void add() system(cls);

12、string a,b,c,d,e,f,g,h;string line;ofstream car(d:cars.txt, ios:app);if(!car)cerropen error!endl;exit(1);int flag=1;while(flag)coutendlendl;coutttt*endl;coutttt1.增加汽车信息endlendl;coutttt0.返回上一菜单endl;coutttt*endl;coutn;switch(n)case 1:system(cls);coutendl;coutt请按提示输入车辆信息:endlendl;couta;coutendl;coutb;c

13、outendl;coutc;coutendl;coutd;coutendl;coute;coutendl;coutf;coutendl;coutg;coutendl;couth;coutendl;car setiosflags(ios:left)a b c d e f g hendl;system(cls);cout endl tt 信息录入完成! endl endl;system(pause);break; case 0:flag=0;system(cls);break; default:system(cls);coutendlendlendlabcdefgh;if(car_n=a)retu

14、rn 1;return 0;/*删除车辆信息*void del()system(cls);string a,b,c,d,e,f,g,h;string line;string car_no;ifstream car(d:cars.txt);if(!car)cerrcars.txt cant open!endl;exit(1);ofstream temp(d:temp.txt);if(!temp)cerrtemp.txt cant open!endl;exit(1);int flag=1;while(flag)coutendlendl;coutttt*endl;coutttt1.删除车辆信息end

15、lendl;coutttt0.返回上一菜单endl;coutttt*endl;coutn;switch(n)case 1:string car_n;coutendl;coutcar_n; if(judge1(car_n,line)=1)system(cls);coutendlendlendl;couttt存在这辆汽车,确定要删除?(y/n)endlendl; couttt请输入您的选择:endl;coutch;switch(ch)case y:while(getline(car,line)&flag1)string a,b,c,d,e,f,g,h;string line;string car_

16、n;string car_no;couttt请再次输入要删除的车辆的车牌号:endl;coutcar_n;ifstream car(d:cars.txt);ofstream temp(d:tem.txt);while(getline(car,line)istringstream is(line);isabcdefgh;if(!car)cout您要的信息不存在;if(car_n!=a)tempsetiosflags(ios:left)a b c d e f g habcdefgh;car1setiosflags(ios:left) setw(20) a b c d e f g hendl; of

17、stream temp2(d:tem.txt,ios:trunc);temp2.close();car.close();car1.close();temp.close();temp1.close();system(cls);coutendlendlttt信息已成功删除!endlendl;flag1=0;break;case n:system(cls);continue;break;default:system(cls);coutendlendlendlttt输入错误!请重新输入!;/+else system(cls); cout endlendl ttt没有这辆车的信息!endlendl; b

18、reak;break;case 0:flag=0;break;default:system(cls);coutendlendlendlttt输入错误!请重新输入!;car.close ();temp.close(); /*修改车辆信息*void modify()system(cls);string a,b,c,d,e,f,g,h;string line;string car_n;coutendl;ifstream car(d:cars.txt);if(!car)cerrcars.txt cant open!endl;exit(1);ofstream temp(d:tem.txt);if(!te

19、mp)cerrtem.txt cant open!endl;exit(1);int flag=1,flag1=1;while(flag)coutendlendl;coutttt*endl;coutttt1.修改车辆信息endlendl;coutttt0.返回上一菜单endl;coutttt*endl;coutn;switch(n)case 1:string car_n;coutendl;coutttt请输入要修改的汽车号码:endl;coutcar_n; if(judge1(car_n,line)=1)system(cls);coutendlendlendl;couttt存在这辆汽车,确定修改

20、?(y/n)endl; couttt请输入您的选择:endl;coutch;switch(ch)case y:while(getline(car,line)&flag1)string a,b,c,d,e,f,g,h;string line;string car_n;string car_no;couttt请再次输入要修改的车辆的车牌号:endl;coutcar_n;ifstream car(d:cars.txt);ofstream temp(d:tem.txt);while(getline(car,line)istringstream is(line);isabcdefgh;if(!car)c

21、out您要的信息不存在;if(car_n!=a)tempsetiosflags(ios:left)a b c d e f g habcdefgh;car1setiosflags(ios:left) setw(20) a b c d e f g hendl; ofstream temp2(d:tem.txt,ios:trunc);temp2.close();temp.close();temp1.close();system(cls);coutendl;couttt请按提示重新输入车辆信息:endlendl;couta;coutendl;coutb;coutendl;coutc;coutendl;

22、coutd;coutendl;coute;coutendl;coutf;coutendl;coutg;coutendl;couth;coutendl;car1 setiosflags(ios:left)a b c d e f g hendl;system(cls);cout endl tt新信息录入完成! endl endl;system(pause);break;car.close();car1.close();flag1=0;break;case n:system(cls);continue;break;default:system(cls);coutendlendlendlttt输入错误

23、!请重新输入!;/+else system(cls); cout endlendl ttt没有该辆车的信息!endlendl; break;break;case 0:flag=0;break;default:system(cls);coutendlendlendlttt输入错误!请重新输入!;car.close();temp.close();/*增加车辆修理单信息*void add_list()system(cls);string a,b,c,d,e,f;string line;ofstream car_list(d:cars_list.txt, ios:app); if(!car_list)

24、cerropen error!endl;exit(1);int flag=1;while(flag)coutendlendl;coutttt*endl;coutttt1.增加车辆修理单信息endlendl;coutttt0.返回上一菜单endl;coutttt*endl;coutn;switch(n)case 1:system(cls);coutendl;coutt请按提示输入车辆修理单信息:endlendl;couta;coutendl;coutb;coutendl;coutc;coutendl;coutd;coutendl;coute;coutendl;coutf;coutendl;car

25、_list setiosflags(ios:left)a b c d e fendl;system(cls);cout endl tt修理单信息录入完成! endl endl;system(pause);break;case 0:flag=0;system(cls);break; default:system(cls);coutendlendlendlabcdef;if(list_n=a)return 1;return 0;/*删除车辆修理单信息*void dele_list()system(cls);string a,b,c,d,e,f;string line;string list_no;

26、ifstream car_list(d:cars_list.txt);if(!car_list)coutendlendlendl;cerrtttcar_list.txt cant open!;exit(1);ofstream temp(d:tem.txt);if(!temp)cerrtem.txt cant open!endl;exit(1);int flag=1;while(flag)coutendlendl;coutttt*endl;coutttt1.删除车辆修理单信息endlendl;coutttt0.返回上一菜单endl;coutttt*endl;coutn;switch(n)case

27、 1:string list_n;coutendl;coutttt请输入要删除的修理单编号:endl;coutlist_n; if(judge2(list_n,line)=1)system(cls);coutendlendlendl;couttt存在这张修理单,确定要删除?(y/n)endlendl; couttt请输入您的选择:endl;coutch;switch(ch)case y:while(getline(car_list,line)&flag1)string a,b,c,d,e,f;string line;string list_n;couttt请再次输入要删除的修理单编号:endl

28、;coutlist_n;ifstream car_list(d:cars_list.txt);/coutabcdef;if(!car_list)cout您要的信息不存在;if(list_n!=a)tempsetiosflags(ios:left)a b c d e fabcdef;car_list1setiosflags(ios:left)a b c d e fendl; ofstream temp2(d:temp.txt,ios:trunc);temp2.close();car_list1.close();car_list.close();temp.close();temp1.close()

29、;system(cls);coutendlendlttt信息已成功删除!endlendl;flag1=0;break;case n:system(cls);continue;break;default:system(cls);coutendlendlendlttt输入错误!请重新输入!;else system(cls); coutendlendlttt没有这修理单的信息!endlendl; break;break;case 0:flag=0;break;default:system(cls);coutendlendlendlttt输入错误!请重新输入!;car_list.close();tem

30、p.close();/*修改车辆修理单信息*void modify_list()system(cls);string a,b,c,d,e,f,g;string line;string car_n;coutendl;ifstream car(d:cars_list.txt);if(!car)cerrcars_list.txt cant open!endl;exit(1);ofstream temp(d:temp.txt);if(!temp)cerrtemp.txt cant open!endl;exit(1);int flag=1,flag1=1;while(flag)coutendlendl;coutttt*endl;coutttt1.修改修理单信息endlendl;coutttt0.返回上一菜单endl;coutttt*endl;coutn;switch(n)case 1:string car_n;coutendl;coutttt请输入要修改的修理单编号:endl;coutcar_n; if(judge2(car_n,line)=1)sys

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论