Display();
break;
}
else
{
p=p->next;
count++;
continue;
}
}
cout<<"\t退订成功~\n";
Display();
}
机位退订,依次寻找所需退订的时段中的机器编号,找到后的用户名用空位置进行覆盖。
然后,机器的编号数组本身在该时段中自加1,这样就把机位退订了。
(8)退出
voidComList:
:
Exit()
{
cout<<"\n\n\n\n\n\n\t\t\t谢谢您的使用\n\n\n\n\n\n\n";
}
3、课程设计任务中各项要求的实现程度
在本次课程任务中,实现了系统以菜单方式运行查询,根据输入时间,输出机位信息。
机位预订,根据输入的时间输出是否有空机位,若有则进行预订(在该时段写入预订学生的信息),若无则提供最近时间段。
撤销预订,根据输入的时间段、机器号撤销之前的预订机位。
输出预订,可将第二天的预订情况打印输出。
首先,系统以菜单的方式运行程序,从图1中可以看出,系统的功能包括了查询机位、预订机位、退订机位以及最后程序的退出。
在运行机位查询这个功能时系统自动调用Display()的类的成员函数,通过它来显示系统的菜单,便于使用者能更好的使用它,这个函数的实现依赖与C++的基础功能。
其次,图2中有打印预订列表便于用户更好地查清所在时间段的机位使用人数和未被预订的情况,但是此处没用文件的输出打印预订列表。
最后,其他几项程序的要求完成的很好,预订时更是增加了用户姓名的输入,便于机房机位管理者能更好地管理机房。
4、在此次程序设计中的一些新想法
在此次机房机位预订系统中,首先整体的设计思想是,通过一个链表来完成这个程序中最重要的机位信息的储存,从而达到设计中所要求的查询、预订、退订等功能,这就完全基于该链表。
在完成这个程序设计的一些基本功能后,还实现了对机位预订时用户姓名的增加,便于机房管理机位,也是对机位用户的有效制约,其次对预订时间段有了一个很好的规划,不是分为时段计时,而是以每小时为一个预订时段点,这样能更好地使用户节约时间。
此外,个人认为此系统还缺少了两个功能,即等待和等待机位查询,首先,当用户查询后没有机位时,还可以通过此事的等待功能实行等待。
而后,当等待也是一个数组,那么当等待结束后还可以查询等待人员列表,从而使得结尾预订更加人性化,也方便了机房的管理者和用户。
三、用户手册
1、用户在从本系统的菜单运行,按要求输入所要选择的选项
2、在数据输入方面,用户需严格按照程序中所提供的数据格式输入,否则程序有可能将进入死循环。
四、调试及测试
1、解决问题
在程序运行时,出现了很多的错误,尤其是当前一个成员函数的一个花括号丢失后,系统报错二没有解决的方法,最后上网查资料解决了改问题。
其次是对链表的设计和数组的管理,多次出现错误,最后完全解决了改问题。
2、程序运行截图
(图1,查询功能)
(图2,打印次日输出)
(图3,机位预订)
(图4,预订后的查询)
(图5,机位退订)
(图6,系统退出)
五、小结
课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
随着科学技术发展的日新月异,当代计算机应用在生活中可以说是无处不在。
因此作为本二十一世纪的大学生来说,掌握一些基本的软件开发技术是十分必要的。
回想起此次C++课程设计,至今我仍感慨颇多,自从拿到题目到最后完成整个编程,从理论得到时间,在整整的一个星期的时间里,可以说学得了很多的东西,同时不仅可以巩固以前所学的很多知识,而且学到了很多在书本上没有学到的很多知识。
通过了这次课程设计使我懂得了理论和实际相结合的重要性,只有理论是远远不够的,只有把所学的理论知识和实际情况结合起来,从而提高了自己的实际动手能力和独立思考能力这样才能真正的体会和认识它,才能活学活用。
在设计中遇到的问题,因为水平有限,难免会遇到这样那样的各种问题,同时在设计过程中发现了自己的不足之处:
对以前所学过的知识掌握不够牢靠,应变能力不是很好,比如对建立链表不是很熟悉。
通过了此次课程设计也使我对以前学过的知识有了一个巩固和加深的过程。
六、参考文献
[1]郑莉等编著《C++语言程序设计(第三版)》北京:
清华大学出版社[2]郑莉等编著《C++语言程序设计(第三版)学生用书》北京:
清华大学出版社[3]刘振安等编著《C++程序设计课程设计》机械工业出版社
[4]吴乃陵等编著《C++程序设计》北京:
高等教育出版社
[5]李春葆等编著《C++程序设计学习与上机实验指导》北京:
清华大学出版社[6]范辉等编著《VisualC++6.0程序设计简明教程》高等教育出版社[7]李龙澍《C++程序设计实训教程》北京:
清华大学出版社
[8]洪国胜等编著《C++Builder程序设计轻松上手》北京:
清华大学出版社[9]宁正元《数据结构(c语言)》南京:
东南大学出版社。
2000年6月第1版[10]严蔚敏等《数据结构(c语言版)》北京:
清华大学出版社,1997年4月第1版。
[11]胡学钢等《数据结构算法设计指导》北京:
清华大学出版社,1999年第1版。
[12]刘大有《数据结构》(面向21世纪课程教材)北京:
高等教育出版社。
2001年6月
第1版。
[13]明日科技编著《VisualC++程序开发范例宝典》北京:
人民邮电出版社。
[14]游洪跃等编著《C++面向对象程序设计实验和课程设计教程》北京:
清华大学出版社.2009.2
合肥学院
计算机科学与技术系
课程设计报告书
2010,2011学年第二学期
课程C++课程设计
课程设计名称机房机位预订系统
专业班级计算机科学与技术
(2)班
指导教师张贯虹屠菁
2011年6月
附录:
机房机位预订系统源程序#include
#include
#includestructNod
{
intnum;
boola;
charname[20];
structNod*next;};//声明指针域的结构体类型
Nod
Time[6]={{0,1,"0",NULL},{0,1,"0",NULL},{0,1,"0",NULL},{0,1,"0",NULL},{0,1,"0",NULL},{0,1,"0",NU
LL}};//六个时间段的头结点
intcomputernum[6]={40,40,40,40,40,40};//定义一个机位编号数组,每两个时间段中共有40台电脑
constintn=40;//机房总共40台电脑
classComList//定义一个机位信息类{
private:
Nod*head,*tail;public:
ComList();
~ComList();
voidDisplay();
voidCreatList();
voidSearch();
voidBook();
voidQuit();
voidExit();
};
ComList:
:
ComList()//构造函数
{
head=NULL;
tail=NULL;
}
ComList:
:
~ComList()//析构函数
{
Nod*p;
while(head)
{
p=head;
head=head->next;
deletep;
}
}
voidComList:
:
Display()//打印输出
{
cout<cout<<"\t=====================================\n";
cout<<"\t|?
机房机位预约管理?
|\n";
cout<<"\t=====================================\n";
cout<<"\t—————————————————————\n";
cout<<"\t|1:
查询|\n";
cout<<"\t—————————————————————\n";
cout<<"\t|2:
预定|\n";
cout<<"\t—————————————————————\n";
cout<<"\t|3:
退订|\n";
cout<<"\t---------------------------------------------------------------\n";
cout<<"\t|4:
退出|\n";
cout<<"\t---------------------------------------------------------------\n";
cout<<"\t请选择操作类型(1-5):
";
intc;cin>>c;
cout<switch(c)
{
case1:
Search();
break;
case2:
Book();
break;
case3:
Quit();
break;
case4:
Exit();
break;
default:
cout<<"\n\t\t输入有误!
\n";
Display();
break;
}
}
voidComList:
:
CreatList()
{
Nod*p;
inti,j;
for(i=0;i<6;i++)
{
for(j=1;j<=n;j++)
{
p=newNod;
p->a=0;
p->num=j;
strcpy(p->name,"空位置");
p->next=NULL;
if(head==NULL)
head=p;
else
tail->next=p;
tail=p;
}
Time[i].next=head;
}
}
voidComList:
:
Search(){
inttime,count=0;
Nod*p;
charc;
cout<<"\t==========================================================\n";
cout<<"\t|机位查询|\n";
cout<<"\t==========================================================\n";
cout<<"\t输入时间(9-20):
";
cin>>time;
while(time<9||time>20)
{
cout<<"\t输入时间不在预定范围内!
\n"