文档详情

机房机位预约模拟系统的设计与实现--课程设计报告.doc

hs****ma
实名认证
店铺
DOC
229.88KB
约26页
文档ID:552633708
机房机位预约模拟系统的设计与实现--课程设计报告.doc_第1页
1/26

课程设计(论文)任务书 软件  学  院  软件+ 信控  专  业  1 班 一、课程设计(论文)题目 机房机位预约模拟系统的设计与实现   二、课程设计(论文)工作自 2017 年 1 月 2 日起至 2017 年 1 月 6 日止三、课程设计(论文) 地点: 南区 创新大楼东楼406 四、课程设计(论文)内容要求:1.课程设计的目的《数据结构》课程设计是计算机科学与技术专业集中实践性环节之一,是学习完《数据结构》课程后进行的一次全面的综合练习目的是要达到理论与实际应用相结合,使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养良好的程序设计技能要求能从实际应用问题出发,合理地选择数据结构,设计相应的数据处理算法,并对算法进行必要的分析;合理选择编程工具,实现数据的物理结构和相应的数据处理算法;对算法进行调试和测试,并对调试及测试结果进行分析;针对数据结构及算法的设计、调试及测试过程认真写出设计分析报告。

2.课程设计的要求及任务(1)基本要求 1)初步掌握软件开发过程的问题分析、系统设计、程序编码、调试等基本方法和技能 2)要求从问题需求入手,完成系统的分析与设计,独立完成系统的数据和功能分析,应用《数据结构》知识,设计抽象数据类型、构思算法、完成系统的设计3)结合《数据结构》理论知识,编写程序求解指定问题,程序设计语言推荐使用C/C++,程序书写规范,源程序需加必要的注释4)认真完成系统的调试与测试工作,测试数据要完备,详细记录测试结果5)规范撰写课程设计报告2)课程设计论文撰写要求1)按照书稿的规格撰写打印课程设计论文;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)论文撰写水平及规范性:优( )、良( )、中( )、一般( )、差( )评阅人:   职称: 副教授 年 月 日目 录1. 绪论 11.1 设计题目 11.2 模块划分 12. 需求分析.......................................................................................13. 系统设计 1 3.1数据结构.................................................................................................13.2 系统包含的函数 24. 编码实现 24.1主菜单 34.2机位查询..................................................................................................44.3机位预定 44.4取消预定 74.5查询等待信息 85. 调试及运行结果 106. 课程设计心得 12参考文献 13附 录 14华东交通大学课程设计1.绪论1.1 设计题目 机房预约系统的设计与实现 操作系统:Windows 软件:Visual C++ 6.0软件1.2 模块划分机房机位预约系统查询机位预定机位退出预定查询等待信息 2.需求分析(1) .建立一个比较完善的菜单系统保证可以满足用户的所有需求;(2) .利用二维数组和一维数组建立一个模拟数据库,使查询系统建立在数据库上进行查询;(3) 将程序模块化处理方便修改并且比较有条理,用函数来实现菜单的各种功能;(4) 利用结构体构造所需的要的数组以及线性表,线性表采用顺序储存。

3.系统设计3.1 数据结构 程序主要是用一维数组以及二维数组作为程序的样本库,用顺序表顺序储存所有的信息,然后用文本转换函数将其转换成文本文档存储其中信息包括预定的机位、预定的时间段、以及预定所用的号码3.2 系统包含的函数(1) 主函数包含菜单,所以用while判断语句来进行处理2) 机位查询函数调用了通用函数库同时用if的判断语句来处理查询问题(3) 机位预订函数调用了通用函数和之前建立的数组结构体,同时在这个函数中建立文本文档的的数据库用以储存用户想要储存的信息 4.编码实现4.1 主函数 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\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; case 2:yuding();break; case 3:quxiaoyuding();break; case 4:dengdaixinxi();break; case 5:exit(0);break; } getchar();}4.2机位查询*时间查询*/void shijianchaxun(){ int time; prin/tf("输在 (8-20)范围内的时间:"); scanf("%d",&time); if(time<8||time>20) {printf("\t时间输入错误!\n"); printf("输入在 (8-20)范围内的时间:"); scanf("%d",&time); } detail(time); /*函数调用*/ getchar(); Menu();}4.3机位预定/*预定函数*/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"); printf("\t在(8-20)时间范围内输入你想要预定的时间:"); scanf("%d",&time); } detail(time); /*函数调用*/if(sum[T]>0){ if((fp=fopen("waitlist.txt","a"))==NULL) { printf("\n无法打开文件!\n"); 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); 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预订成功!\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; } 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 。

下载提示
相似文档
正为您匹配相似的精品文档