c++课程设计-汽车汽修管理系统.doc

上传人:李主任 文档编号:3257789 上传时间:2019-08-06 格式:DOC 页数:47 大小:439.04KB
返回 下载 相关 举报
c++课程设计-汽车汽修管理系统.doc_第1页
第1页 / 共47页
c++课程设计-汽车汽修管理系统.doc_第2页
第2页 / 共47页
c++课程设计-汽车汽修管理系统.doc_第3页
第3页 / 共47页
c++课程设计-汽车汽修管理系统.doc_第4页
第4页 / 共47页
c++课程设计-汽车汽修管理系统.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《c++课程设计-汽车汽修管理系统.doc》由会员分享,可在线阅读,更多相关《c++课程设计-汽车汽修管理系统.doc(47页珍藏版)》请在三一文库上搜索。

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 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;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1