机房预约系统课程设计报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
理算法;对算法进行调试和测试,并对调试及测试结果进行分析;针对数据结构及算
法的设计、调试及测试过程认真写出设计分析报告。
2.课程设计的要求及任务
(1)基本要求
1)初步掌握软件开发过程的问题分析、系统设计、程序编码、调试等基本方法和技能。
2)要求从问题需求入手,完成系统的分析与设计,独立完成系统的数据和功能分析,
exit(0);
}
printf("\n\t请输入你想要预定的机号,并且留下你的电话号码!:\n");
scanf("%s %s",wait[i].number,wait[i].telephonenumber);
for(i=0;i<1;i++)
fwrite(&wait[i],sizeof(struct waitlist),1,fp);
(3)退出预定,根据输入的时间撤销该时间的预定。
(4)查询是否有等待信息,若有则按顺序显示联系方式,若无则显示提示信息。
提高部分:利用外部.txt文件同步记录所有数据。
学生签名:
2017年1月2日
课程设计(论文)评审意见
(1)考勤和态度:优( )、良( )、中( )、一般( )、差( )
(2)任务难易及设计思路 :优( )、良( )、中( )、一般( )、差( )
printf("\t在(8-20)时间范围内输入你已经预定的时间:");
scanf("%d",&time);
}
else
{printf("\t输入你预定的机号 :");
scanf("%d",&number);}
detail(time);
sum[T]++; /*预定后该时间段空机位数加1*/
computer[T][number]=0; /*预定后该机状态变为0*/
(3)编码及调试能力:优( )、良( )、中( )、一般( )、差( )
(4)论文撰写水平及规范性:优( )、良( )、中( )、一般( )、差( )
评阅人:职称:副教授
年月日
目 录
2. 需求分析.......................................................................................1
3.1数据结构.................................................................................................1
4.2机位查询..................................................................................................4
课程设计(论文)任务书
软件学 院软件+信控专 业1班
一、课程设计(论文)题目机房机位预约模拟系统的设计与实现
二、课程设计(论文)工作自2017年1月2日起至2017年1月6日止。
三、课程设计(论文)地点:南区 创新大楼东楼406
四、课程设计(论文)内容要求:
1.课程设计的目的
《数据结构》课程设计是计算机科学与技术专业集中实践性环节之一,是学习完
case 2:yuding();break;
case 3:quxiaoyuding();break;
case 4:dengdaixinxi();break;
case 5:exit(0);break;
}
getchar();
}
4.2
*时间查询*/
void shijianchaxun()
{
int time;
4)论文撰写的水平、格式的规范性。
(4)课程设计进度安排
内容天数 地点
构思及收集资料1图书馆
程序设计与调试3计算机房
撰写论文1图书馆
具体任务:20台机器,从早8点到晚8点,每两个小时一个时间段。实现如下功能:
(1)机位空闲查询,查询空闲机位;
(2)机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则提供最近时间段的空机信息。另外,如果用户要求在非空时间上机,则将用户信息插入该时间段的等待列表。
printf("\t取消成功!\n");
getchar();
Menu();
}
4
/*查看等待信息*/
void dengdaixinxi()
{
int time,i;
FILE *fp;
printf("\t在(8-20)之间输入您要搜索的时间:");
scanf("%d",&time);
if(time<8||time>20)
if((fp=fopen("waitlist.txt","a"))==NULL)
{
printf("\n无法打开文件!\n");
exit(0);
}
scanf("%s %s",wait[i].number,wait[i].telephonenumber);
for(i=0;i<1;i++)
fwrite(&wait[i],sizeof(struct waitlist),1,fp);
getchar();
Menu();
}
4
/*预定函数*/
void yuding()
{int time,i=0,x,y;
FILE *fp;
char c;
printf("在(8-20)时间范围内输入你想要预定的时间:");
scanf("%d",&time);
if(time<8||time>20)
{
printf("\t时间输入错误!\n");
1)按照书稿的规格撰写打印课程设计论文;
2)论文包括任务书、目录、绪论、正文、总结、参考文献、附录等;
3)正文中要有问题描述与分析、数据结构的设计、算法的设计、算法的实现、调
试分析与结果;
4)课程设计论文装订按学校的统一要求完成
(3)课设考核
1)考勤和态度;
2)任务的难易程度及设计思路;
3)编码及调试能力;
1
1.1
机房预约系统的设计与实现
操作系统:Windows
软件:Visual C++ 6.0软件
1.
2.需求分析
(1).建立一个比较完善的菜单系统保证可以满足用户的所有需求;
(2).利用二维数组和一维数组建立一个模拟数据库,使查询系统建立在数据库上进行查询;
(3)将程序模块化处理方便修改并且比较有条理,用函数来实现菜单的各种功能;
for(i=0;!feof(fp);i++)
{
fscanf(fp,"%s %s",&wait[i].number,&wait[i].telephonenumber);
}
fclose(fp);
}
for(i=0;i<10;i++)
{ prione(i);}
printf("\n\t请输入您想预定的机号并留下您的联系方式!:\n");
exit(0);
}
else
{ printf("waitlist: number telephonenumber\n");
for(i=0;!feof(fp);i++)
{
fclose(fp); /*若等待,就用文件的方式列出当时的等待列表并提示输入你的等待序号和联系方式*/
printf("再次输入电脑的序号!\n");
scanf("%d",&y);
sum[T]--;
computer[T][y]=1;
printf("\t好了,请等待我们的电话!\n");
Menu();
printf("\t在(8-20)时间范围内输入你想要预定的时间:");
scanf("%d",&time);
}
detail(time); /*函数调用*/
if(sum[T]>0)
{ if((fp=fopen("waitlist.txt","a"))==NULL)
{Βιβλιοθήκη Baidu
printf("\n无法打开文件!\n");
}
else Menu();
}
}
4
/*取消预订*/
void quxiaoyuding()
{
int time,number;
printf("在(8-20)时间范围内输入你已经预定的时间:");
scanf("%d",&time);
if(time<8||time>20)
{
printf("\t输入时间错误!\n");
《数据结构》课程后进行的一次全面的综合练习。目的是要达到理论与实际应用相结
合,使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际
问题在计算机内部表示出来,并培养良好的程序设计技能。
要求能从实际应用问题出发,合理地选择数据结构,设计相应的数据处理算法,
并对算法进行必要的分析;合理选择编程工具,实现数据的物理结构和相应的数据处
fclose(fp);/*向文本文档添加一个结构体单元*/
printf("\t再次输入你想要预定的时间!\n");
scanf("%d",&x);
if (time+x>20)
printf("\t预定时间错误请重新输入\t\n");
sum[T]--; /*预定后该时间段空机位数减1*/
computer[T][x]=1; /*预定后该机状态变为1*/
}
printf("\t你想要预定吗?:y/n?");
scanf("%s",&c);
getchar();
if(c=='Y'||c=='y')
{
if((fp=fopen("waitlist.txt","r"))==NULL)
{
printf("\n无法打开文件!\n");
exit(0);
}
else
{ printf("waitlist: number telephonenumber\n");
{
printf("\t时间输入错误!\n");
printf("\t在(8-20)之间输入您要搜索的时间:");
scanf("%d",&time);
}
else
;
if((fp=fopen("waitlist.txt","r"))==NULL)
{
printf("\nCannot open file!\n");
应用《数据结构》知识,设计抽象数据类型、构思算法、完成系统的设计。
3)结合《数据结构》理论知识,编写程序求解指定问题,程序设计语言推荐使用C/C++,
程序书写规范,源程序需加必要的注释。
4)认真完成系统的调试与测试工作,测试数据要完备,详细记录测试结果。
5)规范撰写课程设计报告。
(2)课程设计论文撰写要求
(2)机位查询函数调用了通用函数库同时用if的判断语句来处理查询问题
(3)机位预订函数调用了通用函数和之前建立的数组结构体,同时在这个函数中建立文本文档的的数据库用以储存用户想要储存的信息
4.编码实现
4.
void Menu() /*主界面*/
{
int n,w;
do
{
printf("\t\t\t\t机房机位预约系统\n");
printf("\t\t\t\t菜单\n");
printf("\t\t\t 1.查询某时间段机位状态\n"); /*查询某时间段机位状态*/
printf("\t\t\t 2.预定空机位\n"); /*预定空机位*/
printf("\t\t\t 3.取消预订\n"); /*取消预订*/
printf("\t\t\t 4.查询等待信息\n"); /*查询等待信息*/
printf("\t预订成功!\n");
getchar();
Menu();
}
else
{
printf("这是在这个时间段内未预定的电脑!\n");
for(i=T+1;i<6;i++)
{ time=9+2*i;
detail(time); /*函数调用*/
if(sum[T]>0)
printf("\t最近的空闲时间是 %d,%d\n",2*i+8,2*i+10);break;
(4)利用结构体构造所需的要的数组以及线性表,线性表采用顺序储存。
3.系统设计
3.1
程序主要是用一维数组以及二维数组作为程序的样本库,用顺序表顺序储存所有的信息,然后用文本转换函数将其转换成文本文档存储。其中信息包括预定的机位、预定的时间段、以及预定所用的电话号码。
3.2
(1)主函数包含菜单,所以用while判断语句来进行处理。
prin/tf("输在 (8-20)范围内的时间:");
scanf("%d",&time);
if(time<8||time>20)
{printf("\t时间输入错误!\n");
printf("输入在 (8-20)范围内的时间:");
scanf("%d",&time);
}
detail(time); /*函数调用*/
printf("\t\t\t 5.退出\n"); /*退出*/
printf("选择菜单号(1-5):");
scanf("%d",&n);
if(n<1||n>5)
{w=1;getchar();}
else
w=0;
}while(w==1);
switch(n)
{
case 1:shijianchaxun();break;
法的设计、调试及测试过程认真写出设计分析报告。
2.课程设计的要求及任务
(1)基本要求
1)初步掌握软件开发过程的问题分析、系统设计、程序编码、调试等基本方法和技能。
2)要求从问题需求入手,完成系统的分析与设计,独立完成系统的数据和功能分析,
exit(0);
}
printf("\n\t请输入你想要预定的机号,并且留下你的电话号码!:\n");
scanf("%s %s",wait[i].number,wait[i].telephonenumber);
for(i=0;i<1;i++)
fwrite(&wait[i],sizeof(struct waitlist),1,fp);
(3)退出预定,根据输入的时间撤销该时间的预定。
(4)查询是否有等待信息,若有则按顺序显示联系方式,若无则显示提示信息。
提高部分:利用外部.txt文件同步记录所有数据。
学生签名:
2017年1月2日
课程设计(论文)评审意见
(1)考勤和态度:优( )、良( )、中( )、一般( )、差( )
(2)任务难易及设计思路 :优( )、良( )、中( )、一般( )、差( )
printf("\t在(8-20)时间范围内输入你已经预定的时间:");
scanf("%d",&time);
}
else
{printf("\t输入你预定的机号 :");
scanf("%d",&number);}
detail(time);
sum[T]++; /*预定后该时间段空机位数加1*/
computer[T][number]=0; /*预定后该机状态变为0*/
(3)编码及调试能力:优( )、良( )、中( )、一般( )、差( )
(4)论文撰写水平及规范性:优( )、良( )、中( )、一般( )、差( )
评阅人:职称:副教授
年月日
目 录
2. 需求分析.......................................................................................1
3.1数据结构.................................................................................................1
4.2机位查询..................................................................................................4
课程设计(论文)任务书
软件学 院软件+信控专 业1班
一、课程设计(论文)题目机房机位预约模拟系统的设计与实现
二、课程设计(论文)工作自2017年1月2日起至2017年1月6日止。
三、课程设计(论文)地点:南区 创新大楼东楼406
四、课程设计(论文)内容要求:
1.课程设计的目的
《数据结构》课程设计是计算机科学与技术专业集中实践性环节之一,是学习完
case 2:yuding();break;
case 3:quxiaoyuding();break;
case 4:dengdaixinxi();break;
case 5:exit(0);break;
}
getchar();
}
4.2
*时间查询*/
void shijianchaxun()
{
int time;
4)论文撰写的水平、格式的规范性。
(4)课程设计进度安排
内容天数 地点
构思及收集资料1图书馆
程序设计与调试3计算机房
撰写论文1图书馆
具体任务:20台机器,从早8点到晚8点,每两个小时一个时间段。实现如下功能:
(1)机位空闲查询,查询空闲机位;
(2)机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则提供最近时间段的空机信息。另外,如果用户要求在非空时间上机,则将用户信息插入该时间段的等待列表。
printf("\t取消成功!\n");
getchar();
Menu();
}
4
/*查看等待信息*/
void dengdaixinxi()
{
int time,i;
FILE *fp;
printf("\t在(8-20)之间输入您要搜索的时间:");
scanf("%d",&time);
if(time<8||time>20)
if((fp=fopen("waitlist.txt","a"))==NULL)
{
printf("\n无法打开文件!\n");
exit(0);
}
scanf("%s %s",wait[i].number,wait[i].telephonenumber);
for(i=0;i<1;i++)
fwrite(&wait[i],sizeof(struct waitlist),1,fp);
getchar();
Menu();
}
4
/*预定函数*/
void yuding()
{int time,i=0,x,y;
FILE *fp;
char c;
printf("在(8-20)时间范围内输入你想要预定的时间:");
scanf("%d",&time);
if(time<8||time>20)
{
printf("\t时间输入错误!\n");
1)按照书稿的规格撰写打印课程设计论文;
2)论文包括任务书、目录、绪论、正文、总结、参考文献、附录等;
3)正文中要有问题描述与分析、数据结构的设计、算法的设计、算法的实现、调
试分析与结果;
4)课程设计论文装订按学校的统一要求完成
(3)课设考核
1)考勤和态度;
2)任务的难易程度及设计思路;
3)编码及调试能力;
1
1.1
机房预约系统的设计与实现
操作系统:Windows
软件:Visual C++ 6.0软件
1.
2.需求分析
(1).建立一个比较完善的菜单系统保证可以满足用户的所有需求;
(2).利用二维数组和一维数组建立一个模拟数据库,使查询系统建立在数据库上进行查询;
(3)将程序模块化处理方便修改并且比较有条理,用函数来实现菜单的各种功能;
for(i=0;!feof(fp);i++)
{
fscanf(fp,"%s %s",&wait[i].number,&wait[i].telephonenumber);
}
fclose(fp);
}
for(i=0;i<10;i++)
{ prione(i);}
printf("\n\t请输入您想预定的机号并留下您的联系方式!:\n");
exit(0);
}
else
{ printf("waitlist: number telephonenumber\n");
for(i=0;!feof(fp);i++)
{
fclose(fp); /*若等待,就用文件的方式列出当时的等待列表并提示输入你的等待序号和联系方式*/
printf("再次输入电脑的序号!\n");
scanf("%d",&y);
sum[T]--;
computer[T][y]=1;
printf("\t好了,请等待我们的电话!\n");
Menu();
printf("\t在(8-20)时间范围内输入你想要预定的时间:");
scanf("%d",&time);
}
detail(time); /*函数调用*/
if(sum[T]>0)
{ if((fp=fopen("waitlist.txt","a"))==NULL)
{Βιβλιοθήκη Baidu
printf("\n无法打开文件!\n");
}
else Menu();
}
}
4
/*取消预订*/
void quxiaoyuding()
{
int time,number;
printf("在(8-20)时间范围内输入你已经预定的时间:");
scanf("%d",&time);
if(time<8||time>20)
{
printf("\t输入时间错误!\n");
《数据结构》课程后进行的一次全面的综合练习。目的是要达到理论与实际应用相结
合,使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际
问题在计算机内部表示出来,并培养良好的程序设计技能。
要求能从实际应用问题出发,合理地选择数据结构,设计相应的数据处理算法,
并对算法进行必要的分析;合理选择编程工具,实现数据的物理结构和相应的数据处
fclose(fp);/*向文本文档添加一个结构体单元*/
printf("\t再次输入你想要预定的时间!\n");
scanf("%d",&x);
if (time+x>20)
printf("\t预定时间错误请重新输入\t\n");
sum[T]--; /*预定后该时间段空机位数减1*/
computer[T][x]=1; /*预定后该机状态变为1*/
}
printf("\t你想要预定吗?:y/n?");
scanf("%s",&c);
getchar();
if(c=='Y'||c=='y')
{
if((fp=fopen("waitlist.txt","r"))==NULL)
{
printf("\n无法打开文件!\n");
exit(0);
}
else
{ printf("waitlist: number telephonenumber\n");
{
printf("\t时间输入错误!\n");
printf("\t在(8-20)之间输入您要搜索的时间:");
scanf("%d",&time);
}
else
;
if((fp=fopen("waitlist.txt","r"))==NULL)
{
printf("\nCannot open file!\n");
应用《数据结构》知识,设计抽象数据类型、构思算法、完成系统的设计。
3)结合《数据结构》理论知识,编写程序求解指定问题,程序设计语言推荐使用C/C++,
程序书写规范,源程序需加必要的注释。
4)认真完成系统的调试与测试工作,测试数据要完备,详细记录测试结果。
5)规范撰写课程设计报告。
(2)课程设计论文撰写要求
(2)机位查询函数调用了通用函数库同时用if的判断语句来处理查询问题
(3)机位预订函数调用了通用函数和之前建立的数组结构体,同时在这个函数中建立文本文档的的数据库用以储存用户想要储存的信息
4.编码实现
4.
void Menu() /*主界面*/
{
int n,w;
do
{
printf("\t\t\t\t机房机位预约系统\n");
printf("\t\t\t\t菜单\n");
printf("\t\t\t 1.查询某时间段机位状态\n"); /*查询某时间段机位状态*/
printf("\t\t\t 2.预定空机位\n"); /*预定空机位*/
printf("\t\t\t 3.取消预订\n"); /*取消预订*/
printf("\t\t\t 4.查询等待信息\n"); /*查询等待信息*/
printf("\t预订成功!\n");
getchar();
Menu();
}
else
{
printf("这是在这个时间段内未预定的电脑!\n");
for(i=T+1;i<6;i++)
{ time=9+2*i;
detail(time); /*函数调用*/
if(sum[T]>0)
printf("\t最近的空闲时间是 %d,%d\n",2*i+8,2*i+10);break;
(4)利用结构体构造所需的要的数组以及线性表,线性表采用顺序储存。
3.系统设计
3.1
程序主要是用一维数组以及二维数组作为程序的样本库,用顺序表顺序储存所有的信息,然后用文本转换函数将其转换成文本文档存储。其中信息包括预定的机位、预定的时间段、以及预定所用的电话号码。
3.2
(1)主函数包含菜单,所以用while判断语句来进行处理。
prin/tf("输在 (8-20)范围内的时间:");
scanf("%d",&time);
if(time<8||time>20)
{printf("\t时间输入错误!\n");
printf("输入在 (8-20)范围内的时间:");
scanf("%d",&time);
}
detail(time); /*函数调用*/
printf("\t\t\t 5.退出\n"); /*退出*/
printf("选择菜单号(1-5):");
scanf("%d",&n);
if(n<1||n>5)
{w=1;getchar();}
else
w=0;
}while(w==1);
switch(n)
{
case 1:shijianchaxun();break;