C++课程设计书车次管理系统.docx
- 文档编号:6986523
- 上传时间:2023-01-15
- 格式:DOCX
- 页数:17
- 大小:259.18KB
C++课程设计书车次管理系统.docx
《C++课程设计书车次管理系统.docx》由会员分享,可在线阅读,更多相关《C++课程设计书车次管理系统.docx(17页珍藏版)》请在冰豆网上搜索。
C++课程设计书车次管理系统
课程设计(论文)任务书
软件 学 院 软件+会计 专 业 2009-04班
一、课程设计(论文)题目 《车次信息管理系统》
二、课程设计(论文)工作自2010年6月13日起至2009年6月18日止。
三、课程设计(论文)地点:
教5—204
四、课程设计(论文)内容要求:
1.本课程设计的目的
1、 使学生进一步理解和掌握课堂上所学内容。
2、使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计
的能力。
3、使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基
本能力。
4、提高学生的论文写作能力
2.课程设计的任务及要求
1)基本要求:
1. 分析题目,查阅相关资料;
2. 算法设计;
3. 编写代码并调试;
4. 完成课程设计报告。
2)创新要求:
在基本要求达到后,可进行创新设计。
3)课程设计论文编写要求
(1)要按照书稿的规格打印誊写毕业论文
(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等
(3)毕业论文装订按学校的统一要求完成
4)答辩与评分标准:
(1)完成问题的解决方法分析:
20分;
(2)算法设计:
30分;
(3)测试数据:
30分;
(4)回答问题:
20分
5)参考文献:
1.谭浩强著,《C++程序设计》[M],清华大学出版社出版
2.黄明等编著,《面向对向程序设计习题详解》[M],机械工业出版社
3.吕凤翥编著,《C++语言基础教程》[M],清华大学出版社出版
6)课程设计进度安排
内容天数 地点
构思及收集资料1天 图书馆
编程与调试2天 实验室
撰写论文 1天
学生签名:
2010年6月13日
课程设计(论文)评审意见
(1)完成分析(20分):
优( )、良( )、中( )、一般( )、差( );
(2)设计过程(40分):
优( )、良( )、中( )、一般( )、差( );
(3)完成调试(20分):
优( )、良( )、中( )、一般( )、差( );
(4)回答问题(20分):
优( )、良( )、中( )、一般( )、差( );
(5)格式规范性及考勤是否降等级:
是(√)、否( )
评阅人:
刘美香职称:
讲师
2010年6月29日
目录
目录3
一.程序设计的目的与要求4
1.程序设计目的4
2.程序设计要求4
二.程序设计说明4
1.程序功能简介4
2.程序设计思想5
3.程序设计资料调研5
4.关键算法5
三.程序截图6
四.程序清单9
五.测试数据14
六.课程设计总结15
七.参考文献15
一.程序设计的目的与要求
1.程序设计目的
(1)使学生进一步理解和掌握课堂上所学内容。
(2)使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。
(3)使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。
(4)提高学生的论文写作能力
(5)本次课程设计是计算机专业的主要实践性教学环节之一,要求运用所学专业的相关知识,结合实际操作与应用而进行的一次编程综合能力的训练,旨在培养学生在应用软件程序设计方面,初步掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及设计程序、调试程序、编写基本软件等能力,为毕业设计及今后从事专业相关的工作打下一定的基础。
2.程序设计要求
(1)必须基于面向对象的程序设计思想进行设计。
(2)针对所选题目,分组收集材料,并进行项目分析,实现必要的增加、删除、修改、查询、统计以及存储等具体功能。
(3)按规定的格式编写课程设计报告。
二.程序设计说明
1.程序功能简介
此程序名称为《车次信息管理系统》,顾名思义,这是一个可以管理列车基本信息的一个基本程序,它可以实现简单的列车信息查询和管理车次信息以及查看等功能,具体有以下功能:
(1)为了让程序开始界面一目了然,使得程序更容易操作,故再次设计了用户登陆界面。
(2)主要功能还是车次信息的管理与维护,包括有:
增加车次信息、删除车次信息、修改车次信息。
其中车次信息包括途经各站点的名称及时间。
(3)当然作为一个信息的管理系统,另一项主要的功能就是车次的查询系统,本程序设计了查询时可实现按站名查询、按车次查询,并且提供站—站查询。
(4)最后一项功能即为列车统计,即输入一个站名,可统计经过该站点的列车数目,如果输入两个站名,则可以统计同时经过这两个站点的所有列车数目。
2.程序设计思想
设计这个程序首先得先想到,作为一个程序设计员,编写一个程序就得尽可能的使用最简洁的语句,实现和表达出最完美的的应用系统。
根据功能要求,设计功能效果,预先把握全局定位,根据实际需要和认为习惯对界面预先处理,然后运用所学知识写出基本框架和主要算法,最后写出全部的代码,运行并实现程序功能。
3.程序设计资料调研
本课题的要求是车次的信息管理,要求完成其基本功能。
其信息经过搜索,查得列车的时刻表。
在进行莫衷车次信息管理操作时,通常是先显示所有的车次信息,再进行符合自己车次信息的操作,本系统遵循了这一习惯。
4.关键算法
(1)struct数据类型的应用:
首先我们需要了解《车次信息管理系统》这一个程序需要添加什么样的功能,所谓车次信息,当然包括了站点的名称、时间和车次号码等信息,在本程序中使用了struct数据类型,所用最多的是while循环结构和if语句,然而这也正成为了它的特色。
循环体的嵌套思路清晰,目的明确,格式规范,易于阅读和理解。
If语句的逐层运用正形象化的描述了计算机的工作流程,而且与人的一般习惯吻合,简单明了,易于观察理解它的来龙去脉,思路清晰直观。
(2)类的应用:
在相对了解的程序索要设计的基本功能之后,本程序我还还使用了类语句,定义一个train类,添加共有成员函数,包括增加车次信息的函数,修改车次信息的函数和查询车次的函数等等。
(3)指针的应用:
本程序中大量的应用的了指针,在train类中添加了私有成员指针,应用也是本程序的一个特色,应用指针是的本程序运行的效率大大提高,同时也使得程序一目了然,思路清晰。
三.程序截图
1.车次信息的添加(如图3-1)
图3-1信息添加
2.车次信息的修改(如图3-2)
图3-2信息修改
3.车次信息的查找(如图3-3)
图3-3信息查询
4.车次信息的显示(如图3-4)
图3-4信息显示
5.车次信息的删除(图3-5)
图3-5
6.列车统计(3-6)
图3-6列车统计
四.程序清单
《车次信息管理系统》源程序:
#include
#include
#include
#include
typedefstructnode//定义一个结构体
{
charn[20];
charccnum[20];
chartime[10];
structnode*next;
}NODE;
NODE*start;
classemployee
{
private:
NODE*p;
NODE*q;
NODE*t;
public:
employee(NODE*m){t=p=m;}
voidadd();//公有成员函数—增加车次信息
voidedit();//公有成员函数—修改车次信息
voidlookfor();//公有成员函数—查找车次
voidprintall();//公有成员函数—显示车次信息
voiddel();//公有成员函数—删除车次信息
voiddeleteall();//公有成员函数—删除所有车次信息
voidtongji();//公有成员函数—列车统计
};
voidemployee:
:
add()//定义添加车次信息的函数
{
start=newNODE;
q=start;
q->next=p;
p=q;
cout<<"请输入经过站点名称:
";
cin>>q->n;
cout<<"请输入车次号码";
cin>>q->ccnum;
cout<<"请输入发车时间:
";
cin>>q->time;
}
voidemployee:
:
edit()//定义编辑车次信息的函数
{
p=q;
charn[20];
cout<<"请输入车次号码:
"< cin>>n; while(p! =t&&(strcmp(p->ccnum,n)! =0)! =0) p=p->next; if(p==t) cout<<"没有找到您要找的车次! "< else { cout<<"请重新输入经过站点名称: "; cin>>p->n; cout<<"请重新输入车次号码: "; cin>>p->ccnum; cout<<"请重新输入发车时间: "; cin>>p->time; } } voidemployee: : lookfor()//定义查询车次的函数 { p=q; charn[20]; cout<<"请输入车次号码: "< cin>>n; while(p! =t&&(strcmp(p->ccnum,n)! =0)! =0) p=p->next; if(p==t) cout<<"没有找到您要找的车次! "< else { cout<<"经过站点名称: "< cout<<"车次号码: "< cout<<"开车时间: "< } } voidemployee: : printall()//定义显示车次信息的函数 { p=q; while(q! =t) { cout<<"经过站点: "< cout<<"车次号码: "< cout<<"发车时间: "< q=q->next; } q=p; } voidemployee: : del()//定义删除车次信息的函数 { NODE*k; k=newNODE; k=p=q; charn[20]; cout<<"请输入车次号码: "< cin>>n; while(p! =t&&(strcmp(p->ccnum,n)! =0)! =0) { k=p; p=p->next; } if(p==t) cout<<"没有找到您要找的车次! "< else { if(p==q) q=q->next; else k->next=p->next; free(p); } } voidemployee: : deleteall()//定义删除全部车次信息的函数 { while(q! =t) { p=q; q=q->next; free(p); } cout<<""; } voidemployee: : tongji()//定义统计车次信息的函数 { intsm=0; NODE*k; k=newNODE; k=p=q; charn[20]; cout<<"请输入姓名: "< cin>>n; while(n) { k=p; p=p->next; if(p==t) { if(strcmp(q->n,n)==0) sm++; break; } if(strcmp(p->n,n)==0) sm++; } if(sm==0) cout<<"没有找到您要找的车次! "< cout<<"统计车次数目为: "< } voiddisplay()//定义程序清单函数 { cout<<"车次信息管理系统"< cout<<"-------------------------程序清单-----------------------"< cout<<"--------------------1: 增加车次信息! -----------------"< cout<<"--------------------2: 修改车次信息! -----------------"< cout<<"--------------------3: 查找车次! -----------------------"< cout<<"--------------------4: 显示车次信息! -----------------"< cout<<"--------------------5: 删除车次信息! ---------------"< cout<<"--------------------6: 删除所有车次信息! -----------"< cout<<"--------------------7: 列车统计! -----------------------"< cout<<"--------------------0: 退出! -----------------------------"< } voidmain()//主函数,程序开始运行 { NODE*pa; inti,j,flag; charch; start=NULL; pa=(NODE*)malloc(sizeof(structnode)); employeea(pa); while(j) { display(); cout<<"请选择菜单号(0——7): "; cin>>i; while(! (i==1||i==2||i==3||i==4||i==5||i==6||i==7||i==0)) { cout<<"\a\a选择错误! 请重新选择! 请选择菜单号(0---7): "; cin>>i; } if(i==1) { while(flag) { a.add(); cout<<"是否继续添加车次信息[Y/N]? "; cin>>ch; if(ch=='y'||ch=='Y') flag=1; else if(ch=='n'||ch=='N') flag=0; } } elseif(i==0) { cout<<"感谢您的使用! ! "< j=0; } else { if(start==NULL) cout<<"请先建立车次信息! "< elseif(i==2) a.edit(); elseif(i==3) a.lookfor(); elseif(i==4) a.printall(); elseif(i==5) a.del(); elseif(i==6) a.deleteall(); elseif(i==7) a.tongji(); } cout<<"请按回车键继续"< getch(); } } 五.测试数据 1.程序的编辑环境: (如图5-1) 图5-1 2.数据的测试(如图5-2) 图5-2 六.课程设计总结 通过本次为期一周的C++课程设计,我不仅与同组成员共同编写出了“车次信息管理系统”这一程序,而且在一定程度上对自己的编程能力进行了检验。 虽然我们完成了这样的一个较大型的程序的编写工作,但我还是发现自己在诸多方面存在不足: 首先,在编程思想方面缺乏创新性与连贯的构思;其次,面向对象方面的知识掌握的程度仍然不够;最大的问题还在于,将细节知识运用到具体编程中的能力仍需继续锻炼。 做课设不仅让我修补了以前学习的漏洞,也让我知道一个道理: 编程需要兴趣和实际动手。 这应该可以借鉴在老师的教学工作上。 创新思维至关重要,这不仅让我们写出精简的代码,也有助于开发出高效的程序。 完成设计后,我觉得收获不少,首先是自己首次应用所学知识做出了这个系统,以前从未做过这样大型的程序,这次的课设感觉很有成就感;而收获更大的是让我学到了怎样和他人合作完成一件任务,以及在完成的过程中如何沟通。 完成设计是在一定时间内完成的,在完成这个设计时,我们做得显然有一些紧迫,我想是没合理安排好时间和开始态度不正确所致,做守完后我觉得合理安排时间是非常重要的否则可能时间已到而还无法完成或完成得仓促,应合理安排时间给各个环节。 C、C++语言是大型程序编写中较常用的计算机语言,我们需要尽可能对这一系列的语言达到较为精通的程度,最重要的是要多进行实际的编程操作与实践,这样才能为未来进行真正的软件编写工作奠定扎实的基础。 七.参考文献 1.谭浩强著,《C++程序设计》[M],清华大学出版社出版 2.黄明等编著,《面向对向程序设计习题详解》[M],机械工业出版社 3.吕凤翥编著,《C++语言基础教程》[M],清华大学出版社出版
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 车次 管理 系统