课 程 设 计.docx
《课 程 设 计.docx》由会员分享,可在线阅读,更多相关《课 程 设 计.docx(16页珍藏版)》请在冰豆网上搜索。
![课 程 设 计.docx](https://file1.bdocx.com/fileroot1/2023-7/7/55354b9e-de99-4cff-be5c-eaa4b5c493f7/55354b9e-de99-4cff-be5c-eaa4b5c493f71.gif)
课程设计
课程设计(论文)任务书
轨道学院专业交通设备班级2012-3-29
一、课程设计(论文)题目车次信息管理系统的设计
二、课程设计(论文)工作:
自2013年6月24日起至2013年6月28日止。
三、课程设计(论文)的内容要求:
1、主界面
2、基本要求
a)增加车次信息
b)显示车次信息
c)并且可以多次进行。
3、补充自己的设计内容
a)车次信息的修改
b)车次信息的删除
c)列车统计
学生签名:
2013年6月28日
课程设计(论文)评阅意见
等级
项目
课程设计态度评价
出勤情况评价
设计中创新性评价
论文书写规范化评价
综合评定等级
优秀
好
好
3补充
好
良好
好
好
2补充
好
中等
好
好
1补充
好
及格
好
好
无补充
好
不及格
不好
不好
无补充
不好
评阅人王更生职称教授
2013年6月28日
目录
一、设计思路
二、功能实现详细设计
三、测试结果分析
四、用户手册
五、设计体会
一、设计思路
设计这个程序首先得先想到,作为一个程序设计员,编写一个程序就得尽可能的使用最简洁的语句,实现和表达出最完美的的应用系统。
根据功能要求,设计功能效果,预先把握全局定位,根据实际需要和认为习惯对界面预先处理,然后运用所学知识写出基本框架和主要算法,最后写出全部的代码,运行并实现程序功能。
二、功能实现详细设计
#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<<"经过站点名称:
"<n<cout<<"车次号码:
"<ccnum<cout<<"开车时间:
"<time<}
}
voidemployee:
:
printall()//定义显示车次信息的函数
{
p=q;
while(q!
=t)
{
cout<<"经过站点:
"<n<cout<<"车次号码:
"<ccnum<cout<<"发车时间:
"<time<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.增加车次信息.
2.显示车次信息
3.并且可以多次进行
4.车次信息的修改
5.车次信息的删除
6.列车统计
四、用户手册
1增加车次信息
2修改车次信息
3查找车次
4显示车次信息
5删除车次信息
6列车统计
0退出
五、设计体会
通过本次为期一周的C++课程设计,我虽然编写出了“车次信息管理系统”这一程序,而且在一定程度上对自己的编程能力进行了检验。
虽然我们完成了这样的一个较大型的程序的编写工作,但我还是发现自己在诸多方面存在不足:
首先,在编程思想方面缺乏创新性与连贯的构思;其次,面向对象方面的知识掌握的程度仍然不够;最大的问题还在于,将细节知识运用到具体编程中的能力仍需继续锻炼。
做课设不仅让我修补了以前学习的漏洞,也让我知道一个道理:
编程需要兴趣和实际动手。
这应该可以借鉴在老师的教学工作上。
创新思维至关重要,这不仅让我们写出精简的代码,也有助于开发出高效的程序。
完成设计后,我觉得收获不少,首先是自己首次应用所学知识做出了这个系统,以前从未做过这样大型的程序,这次的课设感觉很有成就感;而收获更大的是让我学到了怎样和他人合作完成一件任务,以及在完成的过程中如何沟通。
完成设计是在一定时间内完成的,在完成这个设计时,我们做得显然有一些紧迫,我想是没合理安排好时间和开始态度不正确所致,做守完后我觉得合理安排时间是非常重要的否则可能时间已到而还无法完成或完成得仓促,应合理安排时间给各个环节。
C、C++语言是大型程序编写中较常用的计算机语言,我们需要尽可能对这一系列的语言达到较为精通的程度,最重要的是要多进行实际的编程操作与实践,这样才能为未来进行真正的软件编写工作奠定扎实的基础。