机房预约系统课程设计报告Word文件下载.docx
- 文档编号:19763039
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:19
- 大小:29.35KB
机房预约系统课程设计报告Word文件下载.docx
《机房预约系统课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《机房预约系统课程设计报告Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
2)论文包括任务书、目录、绪论、正文、总结、参考文献、附录等;
3)正文中要有问题描述与分析、数据结构的设计、算法的设计、算法的实现、调
试分析与结果;
4)课程设计论文装订按学校的统一要求完成
(3)课设考核
1)考勤和态度;
2)任务的难易程度及设计思路;
3)编码及调试能力;
4)论文撰写的水平、格式的规范性。
(4)课程设计进度安排
内容天数 地点
构思及收集资料1 图书馆
程序设计与调试3 计算机房
撰写论文1 图书馆
具体任务:
20台机器,从早8点到晚8点,每两个小时一个时间段。
实现如下功能:
(1)机位空闲查询,查询空闲机位;
(2)机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则提供最近时间段的空机信息。
另外,如果用户要求在非空时间上机,则将用户信息插入该时间段的等待列表。
(3)退出预定,根据输入的时间撤销该时间的预定。
(4)查询是否有等待信息,若有则按顺序显示联系方式,若无则显示提示信息。
提高部分:
利用外部.txt文件同步记录所有数据。
学生签名:
2017年1月2日
课程设计(论文)评审意见
(1)考勤和态度:
优( )、良( )、中( )、一般( )、差( )
(2)任务难易及设计思路 :
(3)编码及调试能力 :
(4)论文撰写水平及规范性:
评阅人:
职称:
副教授
年月日
目 录
2.需求分析.......................................................................................1
3.1数据结构.................................................................................................1
4.2机位查询..................................................................................................4
1.绪论
1.1设计题目
机房预约系统的设计与实现
操作系统:
Windows
软件:
VisualC++6.0软件
1.2模块划分
2.需求分析
(1).建立一个比较完善的菜单系统保证可以满足用户的所有需求;
(2).利用二维数组和一维数组建立一个模拟数据库,使查询系统建立在数据库上进行查询;
(3)将程序模块化处理方便修改并且比较有条理,用函数来实现菜单的各种功能;
(4)利用结构体构造所需的要的数组以及线性表,线性表采用顺序储存。
3.系统设计
3.1数据结构
程序主要是用一维数组以及二维数组作为程序的样本库,用顺序表顺序储存所有的信息,然后用文本转换函数将其转换成文本文档存储。
其中信息包括预定的机位、预定的时间段、以及预定所用的电话号码。
3.2系统包含的函数
(1)主函数包含菜单,所以用while判断语句来进行处理。
(2)机位查询函数调用了通用函数库同时用if的判断语句来处理查询问题
(3)机位预订函数调用了通用函数和之前建立的数组结构体,同时在这个函数中建立文本文档的的数据库用以储存用户想要储存的信息
4.编码实现
4.1主函数
voidMenu()/*主界面*/
{
intn,w;
do
{
printf("
\t\t\t\t机房机位预约系统\n"
);
\t\t\t\t菜单\n"
\t\t\t1.查询某时间段机位状态\n"
/*查询某时间段机位状态*/
\t\t\t2.预定空机位\n"
/*预定空机位*/
\t\t\t3.取消预订\n"
/*取消预订*/
\t\t\t4.查询等待信息\n"
/*查询等待信息*/
\t\t\t5.退出\n"
/*退出*/
选择菜单号(1-5):
"
scanf("
%d"
&
n);
if(n<
1||n>
5)
{w=1;
getchar();
}
else
w=0;
}while(w==1);
switch(n)
case1:
shijianchaxun();
break;
case2:
yuding();
case3:
quxiaoyuding();
case4:
dengdaixinxi();
case5:
exit(0);
}
getchar();
4.2机位查询
*时间查询*/
voidshijianchaxun()
{
inttime;
prin/tf("
输在(8-20)范围内的时间:
time);
if(time<
8||time>
20)
{printf("
\t时间输入错误!
\n"
输入在(8-20)范围内的时间:
detail(time);
/*函数调用*/
Menu();
4.3机位预定
/*预定函数*/
voidyuding()
{inttime,i=0,x,y;
FILE*fp;
charc;
在(8-20)时间范围内输入你想要预定的时间:
\t在(8-20)时间范围内输入你想要预定的时间:
if(sum[T]>
0)
{if((fp=fopen("
waitlist.txt"
"
a"
))==NULL)
{
printf("
\n无法打开文件!
exit(0);
}
\n\t请输入你想要预定的机号,并且留下你的电话号码!
:
%s%s"
wait[i].number,wait[i].telephonenumber);
for(i=0;
i<
1;
i++)
fwrite(&
wait[i],sizeof(structwaitlist),1,fp);
fclose(fp);
/*向文本文档添加一个结构体单元*/
\t再次输入你想要预定的时间!
x);
if(time+x>
\t预定时间错误请重新输入\t\n"
sum[T]--;
/*预定后该时间段空机位数减1*/
computer[T][x]=1;
/*预定后该机状态变为1*/
\t预订成功!
else
这是在这个时间段内未预定的电脑!
for(i=T+1;
6;
{time=9+2*i;
detail(time);
if(sum[T]>
\t最近的空闲时间是%d,%d\n"
2*i+8,2*i+10);
\t你想要预定吗:
y/n"
scanf("
%s"
c);
getchar();
if(c=='
Y'
||c=='
y'
)
if((fp=fopen("
r"
exit(0);
else
{printf("
waitlist:
numbertelephonenumber\n"
for(i=0;
!
feof(fp);
{
fscanf(fp,"
wait[i].number,&
wait[i].telephonenumber);
}
10;
{prione(i);
\n\t请输入您想预定的机号并留下您的联系方式!
if((fp=fopen("
/*若等待,就用文件的方式列出当时的等待列表并提示输入你的等待序号和联系方式*/
再次输入电脑的序号!
y);
sum[T]--;
computer[T][y]=1;
\t好了,请等待我们的电话!
elseMenu();
4.4取消预定
/*取消预订*/
voidquxiaoyuding()
inttime,number;
在(8-20)时间范围内输入你已经预定的时间:
\t输入时间错误!
\t在(8-20)时间范围内输入你已经预定的时间:
\t输入你预定的机号:
number);
sum[T]++;
/*预定后该时间段空机位数加1*/
computer[T][number]=0;
/*预定后该机状态变为0*/
\t取消成功!
4.5查询等待信息
/*查看等待信息*/
voiddengdaixinxi()
inttime,i;
FILE*fp;
\t在(8-20)之间输入您要搜索的时间:
;
\nCannotopenfile!
{printf("
{prione(i);
5.调试以及运行结果
5.1运行结果
5.1.4查询等待机位
6.课程设计心得
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握一些基本的软件开发技术是十分重要和必要的。
回顾起此次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
程序设计过程有如解决一实际问题,从解决实际问题的角度,我们可以这样来看:
首先要了解这个问题的基本要求,即输入、输出、完成从输入到输出的要求是什么;
其次,从问题的要害入手,从前到后的解决问题的每个方面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,可确定所需的变量、数组、函数,然后确定处理过程--算法;
最后可得结论。
熟能生巧。
平时应该多加训练,要知道,即使我们能完全看懂一个程序,但要让你自己写出一个时仍是很困难的。
它要求你对每一个语句,每一个变量,每一个函数,每一个模块都充分的熟悉,要知道它们的作用,作用域等等。
因此只有平时做的多了,到时候才会游刃有余。
一个多礼拜中,我有过山穷水尽的困惑;
有过柳暗花明的惊喜;
一个多礼拜的时间我经历了很多,也收获了很多。
与其说它是体力与脑力的作业,不如说它是合作精神和毅力的考验。
经过这次课程设计,我不仅学到了很多知识和技能,更重要的是我学会了如何运用所学知识去解决实际问题.
参考文献
[1]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:
清华大学出版社,2007.
[2]谭浩强《C语言程序设计(第二版)》[M].北京:
清华大学出版社2008
[3]谭浩强《C语言程序设计(第三版)》[M].北京:
清华大学出版社2014
[4]姜仲秋主编C语言程序设计,南京大学出版社2001
[5]谭浩强《C语言程序设计教程(第四版)》[M].北京:
清华大学出版社2014
附录
源代码
#include<
stdio.h>
stdlib.h>
string.h>
#defineN20
#defineT(time-8)/2
intsum[6]={0};
intcomputer[6][20]={
{1,0,1,0,1,1,0,0,0,0,0,0,1,1,1,1,0,1,1,1},
{1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1},
{1,1,0,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,1},
{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1},
{1,1,0,1,1,1,0,0,0,0,0,0,1,1,0,1,1,1,1,0},
{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1}
};
/*该数组表示假设某天某人查询时机房各个时间段机位数情况*/
voidMenu();
voidshijianchaxun();
voidyuding();
voidquxiaoyuding();
voiddengdaixinxi();
voiddetail(inttime);
voidprione(inti);
structwaitlist/*等待列表*/
charnumber[3];
chartelephonenumber[11];
}wait[N];
voidprintone(inti);
voidmain()
/*当前状态函数*/
voidMenu()/*主界面*/
/*时间查询*/
exit(0)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机房 预约 系统 课程设计 报告