机房预约系统课程设计报告
c语言课程设计--机房机位预定系统

c语言课程设计--机房机位预定系统1 设计目的机房机位预定系统2 任务概述20台机器,编号1到20,从早八点到晚八点。
两小时一个时间段,每次可预定一个时间段。
功能要求:(1)系统以菜单方式工作(2)查询,根据输入时间,输出机位信息。
(3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。
(4)退出预定,根据输入的时间,机器号撤销该事件的预定!(5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。
.........3 模块划分4 主要函数说明及其N-S图1. 主函数:int main(){Menu(); /*当前状态函数*/}void Menu() /*主界面*/{int n,w;do{puts("\t\t****************机房机位预约系统*******************\n");puts("\t\t*************************菜单***************************\n");puts("\t\t\t 1.查询某时间段机位状态"); /*查询某时间段机位状态*/puts("\t\t\t 2.预定空机位"); /*预定空机位*/puts("\t\t\t 3.取消预订"); /*取消预订*/puts("\t\t\t 4.查询等待信息"); /*查询等待信息*/puts("\t\t\t 5.退出"); /*退出*/puts("\t\t****************************************** **************\n");printf("选择菜单号(1-5):");scanf("%d",&n);if(n<1||n>5){w=1;getchar();}elsew=0;}while(w==1);switch(n){case 1:Situation();break;case 2:Book();break;case 3:Cancel();break;case 4:SearchWaiting();break;case 5:exit(0);break;}getch();}2.机位查询:void Situation(){int time;printf("输在(8-20)范围内的时间:");scanf("%d",&time);if(time<8||time>20){printf("\t时间输入错误!\n");printf("输入在(8-20)范围内的时间:");scanf("%d",&time);}detail(time); /*函数调用*/getchar();Menu();}3.机位预定:void Book(){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"))==NUL L){printf("\n无法打开文件!\n");exit(0);}printf("\n\t请输入你想要预定的机号,并且留下你的电话号码!:\n");scanf("%s %s",wait[i].number,wait[i].teleph onenumber);for(i=0;i<1;i++)fwrite(&wait[i],sizeof(struct waitlist),1,fp);fclose(fp);/*向文本文档添加一个结构体单元*/printf("\t再次输入你想要预定的时间!\n");scanf("%d",&x);/*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("\tThe latest free time is %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{ printf("waitlist:number telephonenumber\n");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");if((fp=fopen("waitlist.txt","a"))==NULL){printf("\n无法打开文件!\n");exit(0);}scanf("%s %s",wait[i].number,wait[i].teleph onenumber);for(i=0;i<1;i++)fwrite(&wait[i],sizeof(struct waitlist),1,fp);fclose(fp); /*若等待,就用文件的方式列出当时的等待列表并提示输入你的等待序号和联系方式*/printf("再次输入电脑的序号!\n");scanf("%d",&y);sum[T]--;computer[T][y]=1;printf("\t好了,请等待我们的电话!\n");Menu();}else Menu();}}N4.取消预定:void Cancel(){int time,number;printf("在(8-20)时间范围内输入你已经预定的时间:");scanf("%d",&time);if(time<8||time>20){printf("\t输入时间错误!\n");printf("\t在(8-20)时间范围内输入你已经预定的时间:");scanf("%d",&time);}else{printf("\t输入你预定的机号:");scanf("%d",&number);}detail(time);/* sum[T]++; / *预定后该时间段空机位数加1*//*computer[T][number]=0; / *预定后该机状态变为0*/printf("\t取消成功!\n");getchar();Menu();}5.查询等待信息:void SearchWaiting(){int time,i;FILE *fp;printf("\tInput time you want to search between(8-20):");scanf("%d",&time);if(time<8||time>20){printf("\tWrong time!\n");printf("\tInput time you want to search between(8-20):");scanf("%d",&time);}else;if((fp=fopen("waitlist.txt","r"))==NULL){printf("\nCannot open file!\n");exit(0);}else{ printf("waitlist:number telephonenumber\n");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);}Menu();}5 程序运行数据及其结果1.主菜单:2.机位查询:3.机位预定:4.查询等待信息:6 课程设计心得课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。
机房机位预定系统报告书报告机位预订预订机位

机房机位预定系统报告书报告机位预订预订机位机房机位预订系统设计报告书一、需求分析1、引言由于机房在使用时存在着机位的查询、预订与退订的过程,这就使机房管理者在一定程度上需要对机房进行有效的信息化管理并且使用者在机房预订机位时会出现许多问题,所以设计了此项程序旨在帮助机房更好的管理机位,以及使机房管理信息化的同时便于机房使用者更有效的节约时间。
所以,从总体上来说,本次的机房机位预订系统对机房的管理、使用者自身的实际情况有着很大的意义。
2、简述题目需要解决的问题设计一个机房机位预订系统,能够对机房的第二天的机位进行预订。
设某机房有40台机器,编号从1到40,从早上九点到晚上九点,两个小时为一个时间段,每次可预订第二天的某一个时间段。
(1) 系统以菜单方式运行(2) 查询,根据输入时间,输出机位信息。
(3) 机位预订,根据输入的时间输出是否有空机位,若有则进行预订(在该时段写入预订学生的信息),若无则提供最近时间段。
(4) 撤销预订,根据输入的时间段、机器号撤销之前的预订机位。
输出预订,可将第二天的预订情况打印输出。
3、规定软件做什么此款软件依据具体情况而定,有很大的实用性,所以软件在设计时充分地考虑了一些实际的情况并且做了有效的改进。
首先,软件在总体上要有系统以菜单方式运行,实现此项功能,采用了Display()函数作为菜单的输出,便于使用者清晰的选择所需的菜单。
其次,采用编号制的Switch()语句使用户选择菜单更加具体。
当用户选择查询时,系统由switch()语句进入Search( )函数从而进行查询功能。
同理,程序也以此进行了预订、退订、退出系统等功能。
在实现以上功能的同时,增加了对用户姓名的录入,便于下一位用户更好的查询。
二、算法设计1、机房机位预订系统的总程序结构如下图所示机房机位预订系统机位查询机位预订机位退订系统退出2、总体程序中的函数调用机执行情况主函数main()调用类ComList的类对象 fanClass ComList{ }fan.CreatList( ) ComList::CreatList( )fan.Display( ) ComList::Display()Switch ( )Search( ) Book( ) Quit( ) Exit( )3、各个执行函数的详细阐述(1)主函数void main(){ComList fan;fan.CreatList();fan.Display();}主函数中,先定义ComList类的类对象fan,再调用CreatList()函数和Display()函数分别执行对应的功能。
java机房机位预约系统课程设计

java机房机位预约系统课程设计一、课程目标知识目标:1. 学生能理解Java语言面向对象编程的基本概念,掌握类的定义、属性和方法的创建。
2. 学生能掌握Java异常处理机制,能够编写健壮的代码处理预约系统中可能出现的异常情况。
3. 学生能够运用Java的集合框架,存储和管理机房机位预约信息。
4. 学生理解多线程的概念,并能够运用多线程技术提高预约系统的并发处理能力。
技能目标:1. 学生能够运用所学知识,设计并实现一个机房机位预约系统的基本功能,包括用户注册、登录、机位预约、预约查询和取消预约等。
2. 学生能够通过编程实践,掌握使用Java GUI库(如Swing)构建用户界面的方法,提升用户体验。
3. 学生能够利用数据库知识,存储和管理预约数据,实现数据的持久化。
4. 学生能够通过小组合作,进行项目的需求分析、设计、编码、测试和文档编写,形成完整的软件开发流程体验。
情感态度价值观目标:1. 学生通过项目实践,培养团队协作意识,提升沟通和协调能力。
2. 学生在编程过程中,养成积极面对问题、主动解决问题的良好习惯。
3. 学生能够认识到编程对于解决现实问题的重要性,提高对计算机科学的兴趣和热爱。
4. 学生能够遵循软件开发规范,养成良好的编程习惯,注重代码的可读性和可维护性。
本课程目标针对性强,结合学生年级特点和教学要求,旨在培养学生运用Java 语言解决实际问题的能力,同时注重团队合作和价值观的培养,为学生的未来发展奠定坚实基础。
二、教学内容1. Java面向对象编程基础:复习类的定义、构造函数、成员变量和成员方法;讲解封装、继承和多态的概念及应用。
教材章节:《Java语言程序设计》第4章 面向对象编程基础。
2. Java异常处理:介绍异常的概念、分类,讲解try-catch-finally结构,演示异常处理的使用场景。
教材章节:《Java语言程序设计》第6章 异常处理。
3. Java集合框架:讲解Collection接口、List、Set、Map等常用集合类及其实现类的使用方法。
机房预约系统课程设计报告

机房预约系统课程设计报告Last updated on the afternoon of January 3, 2021课程设计(论文)任务书软件学院软件+ 信控专业 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)论文撰写的水平、格式的规范性。
机房机位预订系统课程设计实验报告

目录一、题目及要求 (1)二、需求分析 (1)三、算法设计 (2)五、用户手册 (18)六、调试及测试 (18)1、预定功能: (19)2、查询功能 (19)3、查询预定机位的功能 (20)4、取消功能 (20)七、总结 (21)参考文献: (23)一、题目及要求课程设计名称:机房机位预定系统设计内容:设计一个机房机位预定系统,该系统要求对机房电脑机位进行管理和维护。
20台机器,从早八点到晚八点,每两个小时一个时间段.任务和要求:20台机器,编号1到20,从早八点到晚八点。
两小时一个时间段,每次可预定一个时间段。
设计一个机房机位预定系统,通过该系统实现对机房机位的预定管理。
二、需求分析可行研究阶段的目标是:使工作人员从繁琐的机位管理工作中解放出来;提高工作质量,使供需双方都获得满意的结果;促进报表,提高工作效率。
本系统包含的主要模块有:(1)界面—系统以菜单方式工作。
(2)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。
(3)查询,根据输入时间,输出机位信息。
(4)退出预定,根据输入的时间,机器号撤销该事件的预定!(5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。
程序达到的功能:三、算法设计1.宏定义#include<stdio.h>#include<stdlib.h>#include<string.h>#define time 6#define MAX 20#define T(r) (r-8)/2#define NULL 0struct yonghu/*用户信息*/{int jh;char data[10];struct yonghu *next;};struct yonghu *head;struct cell/*排队的队列*/{int CNum;struct yonhu *first; /*指向队列开头*/struct yonghu *middle; /*指向排队队列*/struct yonghu *last; /*指向对结尾*/}Time[time];1..主函数主函数一般设计的比较简洁,只提供输入,处理和输出部分的函数调用.其中个功能模块用菜单方式选择。
C语言课程设计报告—机房机位预约模拟系统95372

程序设计报告C语言程序设计编程实践是学习C语言程序设计的一重要环节,为提高学生程序设计能力,通过课堂和上机实践练习使学生的程序设计能力上一台阶。
通过前四单元温顾而知新、庖丁解牛、举一反三、熟能生巧等过程的练习设计下面一个完整的程序1.题目要求设计机房机位预约模拟系统”要求:20台机器,从早8点到晚8点,每两个小时一个时间段。
需要实现功能:1,查询,根据输入时间,输出机位信息。
2,即为预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则提供最近空机时间段。
另:若用户要求在非空时间上机,则将用户信息插入该时间段的等待列表.3,退出预定,根据输入的时间,撤销该时间的预定。
4,查询是否有等待的信息,若有则按顺序显示联系方式,若无则显示提示信息。
2需求分析根据题目要求在程序中需实现查询,预定,排队等功能的操作,所以需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的3总体设计整个系统可分为3个模块查询模块预定模块取消模块机房机位预约模拟< 系统查询模块预定模块取消模块___________ )详细设计主函数比较简洁,只提供输入、功能处理和输出部分的函数调用。
(开始显示一系列功能选择结束mai n(){int i;for(i=0;i<LENGTH;i++){TimeQueue[i].CNum=0;TimeQueue[i].first=NULL;TimeQueue[i].middle=NULL;TimeQueue[i].last=NULL;}while(1){printf("请输入序号!:\n");输入n ,判断m是否是0到6? N根据n 值调用各功能模块函数printf("1.查询预定的机位 2.查询空机位3•预定4.取消预定5.等待列表6.查询等待者列表0.退出\n");sea nf("%d",&i);switch(i){case 1:1 nq uir();break;case 2:i nq uir();break;case 3:book in g();break;case 4:ca ncel();break;case 5:wait in g();break;case 6:i nqu ir_wait in g();break;case 0:exit(0);default:pri ntf("error\ n");}}}void Inq uir(){int n;char Infor[10];struct node *Rem;printf(” 输入查询时间(24 hours 8~20 o'clock」nclude 8o'clock)\n"); sca nf("%d",&n);if(n >=8&&n <20){n=S( n);printf("请输入学号\n");sca nf("%s",l nfor);Rem=TimeQueue[ n].first;for(;Rem->n ext!=NULL;Rem=Rem->n ext)if(strcmp(Rem->data,l nfor)==0)break;if(Rem->locat!=0)prin tf("The computer nu mber is %d\n ”,Rem->locat);else printf("对不起•你依旧在等待列表中或者没有预定”);}else printf("错误,请再次输入.\n");}void inq uir(){int n;printf("输入想要查询的时间(24 hours 8~20o'clock,include 8 o'clock)\n"); sca nf("%d",&n);if(n >=8&&n <20){n=S( n);if(TimeQueue[ n].CNum<MAX)prin tf("There are %d empty computer!\n",MAX-TimeQueue[ n].CNum); else printf("对不起.没有空余机位\n");}else printf("错误,再次输入.\n"); }预定模块void book ing()int n;char In for[10];struct node *Rem;struct node *p;printf("输入想要预定的时间\n");sca nf("%d",&n);if(n >=8&&n< 20){ n=S( n);if(TimeQueue[ n].CNum<MAX){ printf("请输入你的学号\n");sca nf("%s",I nfor);if(TimeQueue[ n].first==NULL){Rem=(struct node *)malloc(sizeof(struct no de)); Rem->locat=1; strcpy(Rem->data,l nfor);Rem-> next=NULL;TimeQueue [n ].first=Rem;TimeQueue[ n].last=Rem;TimeQueue[ n].CNum++;printf("成功预定\n");}else{Rem=(struct node *)malloc(sizeof(struct no de)); strcpy(Rem->data,I nfor);Rem-> next=NULL;p=TimeQueue[ n].last;Rem->locat=TimeQueue[ n].CNum+1;prin tf("%d",Rem->locat);TimeQueue[ n].last=Rem;p->n ext=Rem;TimeQueue[ n].CNum++;printf("成功预定\n");}}else printf("没有空余机位!");}else printf(”错误•请再次输入.\n");}void wait in g(){int n;char Infor[10];struct node *Rem;struct node *p;printf("请输入想要排队的时间\n");sca nf("%d",&n);if(n >=8&&n <20){n=S( n);if(TimeQueue[ n].CNum>=MAX){printf("请输入你的学号\n”);scanf("%s",lnfor );if((TimeQueue[ n].CNum)==MAX){Rem=(struct node *)malloc(sizeof(struct no de)); strcpy(Rem->data,l nfor);Rem-> next=NULL;Rem->locat=0;p=TimeQueue[ n].last;TimeQueue[ n].last=Rem;p->n ext=Rem;TimeQueue[ n].middle=Rem;下载可编辑TimeQueue[ n].CNum++;printf("成功排队\n");}else{Rem=(struct node *)malloc(sizeof(struct no de));strcpy(Rem->data,I nfor);Rem-> next=NULL;Rem->locat=0;p=TimeQueue[ n].last;TimeQueue[ n].last=Rem;p->n ext=Rem;TimeQueue[ n].CNum++;printf("成功排队\n");}}下载可编辑else printf(”有空余机位,无须等待\n");}else printf("错误•再次输入.\n");}取消模void can cel(){int n;int i;char In for[10]; struct node *Rem; struct node *q;struct node *p;printf("请输入预定的时间\n");sea nf("%d",&n);if(n >=8&&n <20){prin tf("Please in put your No.!\n");sca nf("%s",l nfor);n=S( n);Rem=TimeQueue[ n].first;q=Rem;for(i=1;;q=Rem,Rem=Rem-> next,i++)if(strcmp(Rem->data,I nfor)==0)break; if(i>MAX){ if(Rem-> next==NULL){q-> next=NULL;TimeQueue [n ].last=q;free(Rem);TimeQueue[ n].CNum--;prin tf("Succeed to out the queue!\n");}else{q->n ext=Rem->n ext;free(Rem);TimeQueue[ n].CNum--;prin tf("Succeed to out the queue!' n");}}else{if(TimeQueue[ n].CNum>MAX){TimeQueue [n ].middle->locat=Rem->locat; TimeQueue[ n].middle=TimeQueue[ n].middle-> next; }if(i==1) TimeQueue [n ].first=Rem-> next;else q->n ext=Rem->n ext;free(Rem);TimeQueue[ n].CNum--;printf(”成功取消预定!\n");附录源代码:#include<stdio.h>#in clude<stdlib.h>#in clude<stri ng.h>#defi ne LENGTH 6#defi ne MAX 20#defi ne S(r) (r-8)/2#defi ne NULL 0struct no de{in t locat;char data[10];struct node *n ext;};struct node *head;struct cell{int CNum;struct node *first; struct node *middle; struct node *last;}TimeQueue[LENGTH];void Inq uir(){int n;char Infor[10];struct node *Rem;printf(” 输入查询时间(24 hours 8~20 o'clock」nclude 8o'clock)\n"); sca nf("%d",&n);if(n >=8&&n <20){n=S( n);printf("请输入学号\n");sca nf("%s",l nfor);Rem=TimeQueue[ n].first;for(;Rem->n ext!=NULL;Rem=Rem->n ext)if(strcmp(Rem->data,I nfor)==0)break;if(Rem->locat!=0)prin tf("The computer nu mber is %d\n ”,Rem->locat);else printf("对不起•你依旧在等待列表中或者没有预定”);}else printf("错误,请再次输入.\n");}void inq uir(){int n;printf("输入想要查询的时间(24 hours 8~20o'clock,include 8 o'clock)\n");sea nf("%d",&n);if(n >=8&&n <20){n=S( n);if(TimeQueue[ n].CNum<MAX)prin tf("There are %d empty computer!' n",MAX-TimeQueue[ n].CNum); else printf("对不起.没有空余机位\n");}else printf("错误,再次输入.\n");}void book in g(){int n;char In for[10];struct node *Rem;struct node *p;printf("输入想要预定的时间\n");sca nf("%d",&n);if(n >=8&&n <20){if(TimeQueue[ n].CNum<MAX){n=S( n);if(TimeQueue[ n].CNum<MAX){printf("请输入你的学号\n”);sea nf("%s",l nfor);if(TimeQueue[ n].first==NULL){Rem=(struet node *)malloc(sizeof(struct no de));Rem->locat=1; strcpy(Rem->data,l nfor);Rem-> next=NULL;TimeQueue [n ].first=Rem;TimeQueue[ n].last=Rem;TimeQueue[ n].CNum++;printf("成功预定\n");}else{Rem=(struct node *)malloc(sizeof(struct no de)); strcpy(Rem->data,I nfor); Rem-> next=NULL;p=TimeQueue[ n].last;Rem->locat=TimeQueue[ n].CNum+1;prin tf("%d",Rem->locat);TimeQueue[ n].last=Rem;p->n ext=Rem;下载可编辑TimeQueue[ n].CNum++;printf(” 成功预定\n");}}else printf("没有空余机位!");}else printf("错误.请再次输入.\n");}void wait in g(){int n;char Infor[10];struct node *Rem;struct node *p;printf("请输入想要排队的时间\n");sca nf("%d",&n);if(n >=8&&n <20){n=S( n);if(TimeQueue[ n].CNum>=MAX){printf("请输入你的学号\n”);sca nf("%s",l nfor);下载可编辑if((TimeQueue[ n].CNum)==MAX){Rem=(struct node *)malloc(sizeof(struct no de)); strcpy(Rem->data,l nfor); Rem-> next=NULL;Rem->locat=0;p=TimeQueue[ n].last;TimeQueue[ n].last=Rem;p->n ext=Rem;TimeQueue[ n].middle=Rem;TimeQueue[ n].CNum++;printf("成功排队\n");}else{Rem=(struct node *)malloc(sizeof(struct no de)); strcpy(Rem->data,I nfor); Rem-> next=NULL;Rem->locat=0;p=TimeQueue[ n].last;TimeQueue[ n].last=Rem;p->n ext=Rem;TimeQueue[ n].CNum++;下载可编辑prin tf("Please in put your No.!\n"); .专业.整理.printf (” 成功排队 \n");}else printf ("有空余机位,无须等待\n");}else printf ("错误•再次输入.\n");void can cel(){int n;int i;char In for[10];struct node *Rem;struct node *q;struct node *p;printf("请输入预定的时间\n ”); sca nf("%d",&n);if(n >=8&&n <20){ sca nf("%s",l nfor);n=S( n);Rem=TimeQueue[ n].first;q=Rem;下载可编辑for(i=1;;q=Rem,Rem=Rem-> next,i++) if(strcmp(Rem->data,l nfor)==0)break; if(i>MAX){if(Rem-> next==NULL){q-> next=NULL;TimeQueue [n ].last=q;free(Rem);TimeQueue[ n].CNum--;prin tf("Succeed to out the queue!' n");}else{q->n ext=Rem->n ext;free(Rem);TimeQueue[ n].CNum--;prin tf("Succeed to out the queue!' n");}}else{if(TimeQueue[ n].CNum>MAX){TimeQueue [n ].middle->locat=Rem->locat; TimeQueue[ n].middle=TimeQueue[ n].middle-> next; } if(i==1) TimeQueue[n].first=Rem->next;else q->n ext=Rem->n ext;free(Rem);TimeQueue[ n].CNum--;printf(”成功取消预定!\n");}}else printf("错误,请再次输入.\n");}void inqu ir_wait in g(){int n;struct node *q;printf("查询其他等待者的预定时间\n");sca nf("%d",&n);if(n >=8&&n <20){n=S( n);if(TimeQueue[ n].CNum>MAX){printf("等待列表are:\n”);q=TimeQueue[ n].middle;for(;q->n ext!=NULL;q=q_>n ext) prin tf("%s\n",q_>data); prin tf("%s\n",TimeQueue[ n] .last->data);}else printf("这个时间段没有预定者\n");}else printf("错误。
预约系统的课程设计

预约系统的课程设计一、教学目标本课程旨在让学生了解和掌握预约系统的相关知识,包括其原理、应用和操作方法。
知识目标要求学生能够描述预约系统的组成部分,理解其工作原理,并掌握基本的操作技巧。
技能目标则要求学生能够独立设置和取消预约,熟练使用预约系统进行资源管理和时间规划。
情感态度价值观目标则在于培养学生对预约系统的正确使用态度,使其认识到预约系统在提高工作效率、优化资源分配中的重要性。
二、教学内容本课程的教学内容主要包括预约系统的概念、功能、应用场景和操作方法。
具体包括以下几个部分:1.预约系统的定义和分类:介绍预约系统的概念,区分不同类型的预约系统。
2.预约系统的工作原理:讲解预约系统的工作流程,包括预约请求的接收、处理和反馈。
3.预约系统的功能:介绍预约系统的主要功能,如预约管理、资源分配、时间规划等。
4.预约系统的应用场景:分析预约系统在日常生活和工作中的应用场景。
5.预约系统的操作方法:讲解如何使用预约系统进行预约、取消预约、查看预约状态等操作。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学。
具体包括:1.讲授法:用于讲解预约系统的概念、原理和功能。
2.案例分析法:通过分析实际案例,使学生更好地理解预约系统的应用和操作方法。
3.实验法:让学生亲自动手操作预约系统,提高其实际操作能力。
4.讨论法:鼓励学生就预约系统的使用心得和问题进行讨论,促进彼此的交流和学习。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用内容丰富、结构清晰的预约系统教材,为学生提供理论学习的参考。
2.参考书:提供相关领域的参考书籍,拓宽学生的知识视野。
3.多媒体资料:制作课件、教学视频等多媒体资料,增强课堂教学的趣味性和互动性。
4.实验设备:准备预约系统软件和相应的实验设备,为学生提供实践操作的机会。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,各部分所占比例分别为40%、30%和30%。
机房预约系统实习报告

实习报告:机房预约系统开发一、实习背景与目的随着信息化进程的不断推进,学校机房作为重要的教育教学资源,其预约管理显得尤为重要。
本次实习旨在开发一套机房预约系统,解决学校机房使用中的重复预约问题,提高机房资源利用率,方便师生预约使用。
实习目的是通过实践锻炼自己的软件开发能力,掌握系统分析、设计、实现和测试的全过程,提高团队协作和沟通能力。
二、实习内容与过程1. 需求分析在实习初期,我们对机房预约系统进行了需求分析。
机房预约系统需要支持三种用户身份:学生、教师和管理员。
学生可以申请预约机房,教师负责审核预约申请,管理员负责创建账号。
系统中有三种机房,分别容纳20人、50人和100人。
学生可以预约未来一周的机房使用,预约日期为周一至周五,并选择时段(上午或下午)。
教师审核预约申请,决定通过或不通过。
系统要求用户登录,并提供相应的身份验证。
每个身份都有相应的子菜单功能。
系统还有退出功能,方便用户随时退出。
2. 系统设计根据需求分析,我们设计了机房预约系统的总体架构,分为前端展示层、业务逻辑层和数据访问层。
前端展示层负责展示用户界面,业务逻辑层处理业务逻辑,数据访问层负责与数据库交互。
同时,我们设计了系统数据库表结构,包括用户表、机房表、预约表等。
3. 系统实现在系统实现阶段,我们采用了C++语言进行开发,利用面向对象的思想,实现了身份基类和具体的学生、教师、管理员类,以便于扩展和维护。
同时,我们编写了相关的测试用例,对系统功能进行了测试,确保系统稳定可靠。
4. 系统运行与维护实习期间,我们对系统进行了运行和维护。
在实际使用过程中,不断收集用户反馈意见,对系统进行优化调整,提高用户体验。
同时,我们定期检查系统运行状况,确保系统正常运行。
三、实习收获与反思通过本次实习,我深入了解了机房预约系统的开发过程,掌握了系统分析、设计、实现和测试的技能,提高了自己的软件开发能力。
同时,实习过程中,我学会了如何与团队成员沟通协作,锻炼了自己的团队协作和沟通能力。
机房上机预约系统

XX大学《信息资源管理与开发导论》课程实验报告——《机房上机预约系统》技术报告专业:网络工程班级:网络082班组别:第三组组长:成员:完成日期:2011-5-4目录系统规划报告 (5)1.引言 (5)1.1编写目的 (5)1.2 背景 (5)2 现行系统调查 (5)2.1 组织机构与业务范围 (5)2.2 组织信息处理流程 (6)2.3 现行系统存在的问题 (7)3 新系统概述 (8)3.1 系统目标 (8)3.2 新系统功能范围及划分说明 (8)4 可行性综合评述 (8)4.1 经济可行性 (8)4.2 技术可行性 (9)4.3 操作可行性等 (9)5.方案选择 (9)5.1首选方案 (9)5.2其它可选方案 (9)5.3方案对比 (9)6.项目实施计划 (9)需求规格说明书 (11)1.概述 (11)1.1项目的目的与目标 (11)1.2相关文档 (11)2.问题初始分析 (11)2.1 场景描述 (11)2.目标系统功能需求 (12)4.目标系统性能需求 (17)4.1 性能需求点列表 (17)5.目标系统界面与接口需求 (18)5.1 界面需求 (18)5.2 接口需求 (18)6.目标系统其他需求 (18)7.目标系统假设与约束条件 (18)设计规格说明书 (20)1.引言 (20)1.1目的 (20)1.2 命名规则 (20)1.3 术语定义 (20)1.4 参考资料 (21)1.5 相关文档 (21)2.系统设计 (21)2.1 体系结构设计 (21)2.2 子系统设计 (22)2.3 类设计 (22)2.4 类说明 (24)3.数据库结构设计 (24)3.1 数据库表名清单 (24)3.2 数据库表之间关系 (25)3.3 数据库表的详细清单 (25)4.系统动态模型系统界面原型 (27)5.系统组件图或部署图 (30)系统实现结果 (31)1系统界面原型 (31)小组实验工作总结 (36)2.小组成员工作情况自评及互评 (37)个人实验总结 (37)个人工作总结 (37)个人工作总结 (37)个人工作总结 (38)个人工作总结 (38)个人工作总结 (39)个人工作总结 (39)各个阶段实验总结 (40)系统规划阶段工作总结 (40)需求分析阶段的工作总结 (40)详细设计阶段工作总结 (41)会议纪录 (42)第一次会议记录 (42)第二次会议记录 (42)第三次会议记录 (42)第四次会议记录 (43)系统规划报告1.引言1.1编写目的本系统的设计的目的在于实现实验室管理的信息化、规范化和科学化,使学生可以在网站上预约机房的电脑,从而能够使机房电脑的合理地被学生利用。
机房预约系统项目报告

机房预约系统项目报告机房预约系统项目报告项目概述:机房预约系统是一个方便学生和教师进行机房预约的在线平台。
该系统可以实现学生和教师注册登录账号,查看机房的可用时间段并进行预约。
项目目标:1. 提供一个便捷的方式给学生和教师进行机房预约。
2. 减少教师和学生之间进行机房预约的沟通成本。
3. 提供一个统一管理的平台,方便管理员进行机房资源的调配和管理。
项目功能:1. 学生和教师注册登录:学生和教师可以通过邮箱注册和登录账号,使其能够使用系统的所有功能。
2. 查看机房可用时间段:学生和教师可以在系统中查看机房的可用时间段。
3. 预约机房:学生和教师可以在系统中选择机房和预约时间段进行机房的预约。
4. 取消预约:学生和教师可以取消自己已经预约的机房。
5. 管理员功能:管理员可以查看学生教师的预约情况,并进行机房资源的分配和管理。
开发过程:1. 需求分析:与用户交流,了解用户的需求,并将其转化为系统的功能需求。
2. 系统设计:根据需求分析的结果,设计系统的数据库结构和界面交互流程。
3. 编码实现:根据系统设计的结果,使用编程语言实现系统的各个功能模块。
4. 软件测试:对系统进行功能测试,确保系统的各项功能正常运行。
5. 部署上线:将系统部署到服务器上,使其能够在网络上运行。
6. 运行维护:对系统进行运行监控和维护,及时修复系统中出现的问题。
总结:通过本次项目的开发,我们成功实现了一个机房预约系统,该系统可以方便学生和教师进行机房预约,并为管理员提供了机房资源的管理功能。
该系统能够提高学生和教师进行机房预约的效率,减少其之间的沟通成本。
在项目开发过程中,我们遇到了一些挑战,但通过团队协作和解决问题的能力,我们成功地完成了该项目,并将其上线运行。
通过本次项目的开发经验,我们进一步提升了开发能力和团队协作能力。
机房机位预约模拟管理系统设计

《高级语言程序设计》课程设计说明书设计题目:机房机位预约模拟管理系统设计目录课程设计题目*******************************3 需求分析***********************************5 详细设计***********************************5 用户使用说明******************************12 测试结果**********************************13 设计小结**********************************17参考文献**********************************18 附录(源程序)****************************18一.机房机位预约模拟管理系统设计1、数据结构顾客信息结构体:Struct CusInfo{ Char name[20];//顾客姓名Int sex; //性别Char tel[11]; //电话}CInfo;机位信息结构体:Struct{ Int State[6]; //机位状态,每 2 个小时为一个时间段,08:00-20:00 共 6 个时间段。
0 表示有空机位,1 表示没有空机位CInfo waitlist[6]; //各个时间段的运行客户Int year; Int month; Int day; //日期}PCInfo;PCInfo info[100]; //存放 100 天的机位信息2、具体实现(1)查询输入时间,则遍历 info 数组,查看日期(year/month/day),如果日期匹配,则把机位信息输出。
(2)机位预订输入日期(或时间段)查询机位信息文件,如果日期符合,再查看状态字段,若相应字段为0,则预约(即把该用户信息加入写入机位waitlist 相应时间段中);若相应字段为 1,则查看本天其他时间段,寻找最近空时间段。
课程设计 机房机位预约

《C 课程设计》上机报告院系:班级:姓名:学号:题目:25.机房机位预约模拟成绩:二O 一O 年七月25.机房机位预约模拟[要求]20台机器,从早8点到晚8点,每两个小时一个时间段。
需要实现功能:(1)查询,根据输入时间,输出机位信息。
(2)机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则提供最近空机时间段。
另:若用户要求在非空时间上机,则将用户信息输入该时间段的等待列表。
(3)退出预定,根据输入的时间,撤销该时间的预订。
(4)查询是否有等待信息,若有则按顺序显示联系方式,若无则显示提示信息。
一.需求分析根据题目要求,程序应该提供“日期时间,用户信息”的输入、输出操作;在程序中需要浏览机位信息和用户等待信息,应提供显示、查找、排序等功能;通过文件的删除操作删除撤销的时间预定;提供文件的添加操作来增加新的用户预约信息;另外还需要提供键盘式选择菜单以实现功能选择。
二.总体设计根据以上的需求分析,可以将这个系统的设计分为以下模块:三.详细设计1.定义#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <string.h>#define SIZE 20void Display();void Search();void Book();void Quit();void Wait();void SearchWait();void Exit(); /*定义的一些相关的函数:查询,预约,退订,查询等待,退出*/ int computernum[12]={20,18,0,15,10,8,12,4,10,1,1,0};/*自己定义的每个时间段剩下的电脑数*/struct waitlist{char number[3];char phonenumber[12];}wait[SIZE];/*一个结构体,等待的序号和联系方式,共20台电脑的,只定义了20个等待的列表*/2.主函数及主界面主函数提供输入,处理和输出部分的函数调用.其功能模块用菜单方式选择。
机房预约系统实习报告

一、实习背景随着计算机技术的飞速发展,计算机应用已经成为各个行业不可或缺的一部分。
在我国,高校计算机教学也日益重视实践环节,为学生提供了丰富的实验资源和平台。
然而,传统的机房管理模式存在诸多弊端,如机房资源分配不均、预约流程繁琐、预约时间冲突等问题。
为了解决这些问题,提高机房资源利用率,我们团队在实习期间开发了一套机房预约系统。
二、实习目标1. 熟悉机房预约系统的设计原则和开发流程。
2. 掌握数据库设计、前端界面设计、后端开发等技术。
3. 提高团队协作能力和项目管理能力。
4. 完成机房预约系统的设计与开发,实现机房资源的合理分配。
三、实习内容1. 需求分析在实习初期,我们通过查阅相关资料、与老师沟通、调查学生需求等方式,明确了机房预约系统的功能需求。
主要包括以下内容:(1)用户注册与登录:学生、教师、管理员等不同角色可以注册并登录系统。
(2)机房资源展示:展示学校所有机房的名称、位置、容纳人数、可用时间等信息。
(3)预约申请:用户可以根据需求选择机房、时间段进行预约。
(4)预约审核:管理员可以查看预约申请,并进行审核。
(5)预约查询:用户可以查询自己的预约记录,包括预约时间、机房、状态等信息。
(6)预约取消:用户可以取消自己的预约。
2. 系统设计(1)数据库设计:采用MySQL数据库,设计用户表、机房表、预约表等数据表,存储用户信息、机房信息、预约信息等数据。
(2)前端界面设计:使用HTML、CSS、JavaScript等技术,设计简洁、易用的用户界面。
(3)后端开发:使用PHP语言编写后端代码,实现用户注册、登录、机房展示、预约申请、预约审核、预约查询、预约取消等功能。
3. 系统实现(1)用户注册与登录:用户可以通过邮箱、手机号等方式注册账号,并进行登录。
(2)机房资源展示:系统展示学校所有机房的名称、位置、容纳人数、可用时间等信息。
(3)预约申请:用户可以根据需求选择机房、时间段进行预约。
(4)预约审核:管理员可以查看预约申请,并进行审核。
机房预约系统课程设计报告

(4)利用结构体构造所需的要的数组以及线性表,线性表采用顺序储存。
3.系统设计
3.1 数据结构
程序主要是用一维数组以及二维数组作为程序的样本库,用顺序表顺序储存所有的信息,然后用文本转换函数将其转换成文本文档存储。其中信息包括预定的机位、预定的时间段、以及预定所用的电话号码。
{
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"); /*取消预订*/
4)论文撰写的水平、格式的规范性。
(4)课程设计进度安排
内容 天数 地点
构思及收集资料 1 图书馆
程序设计与调试 3 计算机房
撰写论文 1 图书馆
具体任务:20台机器,从早8点到晚8点,每两个小时一个时间段。实现如下功能:
(1)机位空闲查询,查询空闲机位;
(2)机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则提供最近时间段的空机信息。另外,如果用户要求在非空时间上机,则将用户信息插入该时间段的等待列表。
1)按照书稿的规格撰写打印课程设计论文;
2)论文包括任务书、目录、绪论、正文、总结、参考文献、附录等;
3)正文中要有问题描述与分析、数据结构的设计、算法的设计、算法的实现、调
C语言实习报告材料-机房机位预约系统

C语言课程实习报告所在院系班级学号姓名程序已存档指导老师评分二零一零年七月十五目录一.题目要求 (3)二.需求分析 (3)三.总体设计 (3)掌握四.详细设计 (4)1.主函数 (4)(1)流程图 (4)(2)主函数程序 (5)2.各功能模块 (7)(1).查询模块 (7)〈1〉流程图 (7)〈2〉程序 (8)(2)机位预定模块 (9)〈1〉流程图 (9)〈2〉程序 (10)(3)退出预定模块 (11)〈1〉流程图 (11)〈2〉程序 (11)五.总结 (14)一.题目要求设计“机房机位预约系统”,要实现查询,机位预定,退出预定,查询是否有等待信息等功能模块,机位信息一文件存放,功能选择用菜单实现,要求:有20台机器,从早8点到晚8点,每两小时为一个时间段。
二.需求分析根据题目要求,由于机位信息是存放在文件中,所以应提供文件输入输出等操作;在程序中需要查询机位信息和预定机位,应提供显示,查找等操作,另外还要提供键盘式选择菜单实现功能选择。
三.总体设计四.详细设计1.主函数主函数一般设计的比较简洁,只提供输入,功能处理和输出部分的函数调用。
其中各功能模块用菜但方式选择;另外,菜单部分也可以写成函数。
流程图如下:程序:#include<stdio.h>#include<string.h>void search();void place();void call();struct cinformation{int number;int condition[6];}computer[21];int d[20];char b[ ]="placed";void main( ){int n,w1;int i,j;for(i=1;i<=20;i++){computer[i].number=i;for(j=0;j<6;j++)computer[i].condition[j]=0; }while(1){do{puts("\t\t***************主菜单****************\n\n"); puts("\t\t\t\t 1.机位查询");puts("\t\t\t\t 2.机位预定");puts("\t\t\t\t 3.退出预定");puts("\t\t\t\t 4.退出");puts("\n\n\t\t************************************\n"); printf("Choice your number(1-4):[ ]\b\b");scanf("%d",&n);if(n<1||n>4){w1=1;getchar();}else w1=0;}while(w1==1);switch(n){case 1:search();break;/*查询*/case 2:place();break;/*机位预定*/case 3:call();break;/*退出预定*/case 4:return;/*退出*/}}}运行结果:2.各功能模块设计(1)查询[流程图][程序] void search(){int i,j;for(i=1;i<=20;i++){ printf("computer %2d: ",i);for(j=0;j<6;j++)if(computer[i].condition[j]==0) printf("time %2d ",j);printf("\n");}getchar();getchar();}运行结果:[流程图][程序] void place(){int m,n;printf("选择预约机号:[ ]\b\b"); scanf("%d",&m);printf("选择预约时间段:[ ]\b\b"); scanf("%d",&n);if(computer[m].condition[n]==0) {computer[m].condition[n]=1;printf("预约成功\n");}else if(computer[m].condition[n]==1) printf("已被预约");return;}运行结果:(3)退出预定模块[流程图][程序] void call(){char x;int i,j;printf("输入欲退出预约的机号:[ ]\b\b");scanf("%d",&i);printf("输入欲退出预约的时间段:[ ]\b\b");scanf("%d",&j);printf("确定退出预约:“是”输入y),“否”输入n):[ ]\b\b");getchar(); scanf("%c",&x);if(x=='y'){computer[i].condition[j]=0;printf("退出预约成功");}if(x=='n'){computer[i].condition[j]=computer[i].condition[j];}getchar();getchar();}运行结果:五.总结一周的实习终于结束了,经过一个星期的实践,我才发现原来我的c语言掌握得并不象期末考试成绩反映的那样,通过这一次实习,让我感受到了上课听课的重要性,最典型的就是如果上课不听课,我就不知“b\b”是什么了。
机房预定位系统

合肥学院计算机科学与技术系课程设计报告20 12 ~20 13 学年第一学期课程C语言课程设计课程设计题目机房机位预订系统学生姓名学号1204032015专业班级网络工程(2)班指导教师20 13 年 1 月目录一、课程设计目的 (2)二、课程设计名称及内容 (2)三、对任务和要求的分析 (2)四.详细设计及实现 (3)五、源代码 (18)六、程序测试 (24)七、总结 (25)一、课程设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。
通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《C语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。
(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。
(3)利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。
(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
(5)掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。
(6)熟练掌握C语言的基本语法,灵活运用各种数据类型。
(7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。
二、课程设计名称及内容课程设计名称:机房机位预定系统设计内容:设计一个机房机位预定系统,该系统要求对机房电脑机位进行管理和维护。
20台机器,从早八点到晚八点,每两个小时一个时间段.任务和要求:20台机器,编号1到20,从早八点到晚八点。
两小时一个时间段,每次可预定一个时间段。
设计一个机房机位预定系统,通过该系统实现对机房机位的预定管理。
三、对任务和要求的分析可行研究阶段的目标是:使工作人员从繁琐的机位管理工作中解放出来;提高工作质量,使供需双方都获得满意的结果;促进报表,提高工作效率。
教室预定系统实验报告(3篇)

第1篇一、实验目的本次实验旨在设计和实现一个教室预定系统,通过该系统实现对教室资源的有效管理和合理分配。
实验目标包括:1. 理解并掌握面向对象编程的基本概念和方法。
2. 学习使用数据库进行数据存储和管理。
3. 掌握Java语言在图形用户界面(GUI)开发中的应用。
4. 实现教室预定功能的模块化设计和实现。
二、实验环境1. 操作系统:Windows 102. 开发工具:Eclipse IDE3. 编程语言:Java4. 数据库:MySQL5. GUI框架:Swing三、实验内容1. 需求分析- 系统应具备用户登录功能,区分管理员和学生用户。
- 管理员可以查看所有教室的使用情况,并分配教室资源。
- 学生可以查看空闲教室,并预定教室。
- 系统应具备教室使用记录的查询和统计功能。
2. 系统设计- 数据库设计:设计用户表(User)、教室表(Classroom)、预定表(Reservation)等。
- 界面设计:设计登录界面、管理员界面、学生界面、查询界面等。
- 功能模块设计:实现用户登录、教室预定、教室查询、预定记录查询等功能。
3. 系统实现- 使用Java Swing实现图形用户界面。
- 使用MySQL数据库存储用户信息、教室信息和预定信息。
- 使用Java语言实现各功能模块的逻辑。
四、实验步骤1. 数据库设计- 创建数据库和表,定义字段和数据类型。
- 实现数据库的增删改查操作。
2. 界面设计- 使用Swing组件设计登录界面、管理员界面、学生界面等。
- 设置组件的布局和样式。
3. 功能实现- 实现用户登录功能,验证用户名和密码。
- 实现管理员界面,允许管理员查看教室使用情况,分配教室资源。
- 实现学生界面,允许学生查看空闲教室并预定。
- 实现查询界面,允许用户查询教室使用记录。
4. 系统测试- 对系统进行功能测试,确保各功能模块正常运行。
- 对系统进行性能测试,确保系统响应速度快,资源消耗低。
五、实验结果1. 系统成功实现了用户登录、教室预定、教室查询、预定记录查询等功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(4)课程设计进度安排
内容天数 地点
构思及收集资料1图书馆
程序设计与调试3计算机房
撰写论文1图书馆
具体任务:20台机器,从早8点到晚8点,每两个小时一个时间段。实现如下功能:
(1)机位空闲查询,查询空闲机位;
(2)机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则提供最近时间段的空机信息。另外,如果用户要求在非空时间上机,则将用户信息插入该时间段的等待列表。
(2)机位查询函数调用了通用函数库同时用if的判断语句来处理查询问题
(3)机位预订函数调用了通用函数和之前建立的数组结构体,同时在这个函数中建立文本文档的的数据库用以储存用户想要储存的信息
4.编码实现
4.
void Menu() /*主界面*/
{
int n,w;
do
{
printf("\t\t\t\t机房机位预约系统\n");
3.1数据结构.................................................................................................1
4.2机位查询..................................................................................................4
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;
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);
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++)
{
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");
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;
应用《数据结构》知识,设计抽象数据类型、构思算法、完成系统的设计。
3)结合《数据结构》理论知识,编写程序求解指定问题,程序设计语言推荐使用C/C++,
程序书写规范,源程序需加必要的注释。
4)认真完成系统的调试与测试工作,测试数据要完备,详细记录测试结果。
5)规范撰写课程设计报告。
(2)课程设计论文撰写要求
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");
getchar();
Menu();
}
4
/*查看等待信息*/
void dengdaixinxi()
{
int time,i;
FILE *fp;
printf("\t在(8-20)之间输入您要搜索的时间:");
scanf("%d",&time);
if(time<8||time>20)
《数据结构》课程后进行的一次全面的综合练习。目的是要达到理论与实际应用相结
合,使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际
问题在计算机内部表示出来,并培养良好的程序设计技能。
要求能从实际应用问题出发,合理地选择数据结构,设计相应的数据处理算法,
并对算法进行必要的分析;合理选择编程工具,实现数据的物理结构和相应的数据处
fclose(fp); /*若等待,就用文件的方式列出当时的等待列表并提示输入你的等待序号和联系方式*/
printf("再次输入电脑的序号!\n");
scanf("%d",&y);
sum[T]--;
computer[T][y]=1;
printf("\t好了,请等待我们的电话!\n");
Menu();
(3)编码及调试能力:优( )、良( )、中( )、一般( )、差( )
(4)论文撰写水平及规范性:优( )、良( )、中( )、一般( )、差( )
评阅人:职称:副教授
年月日
目 录
2. 需求分析.......................................................................................1
}
else Menu();
}
}
4
/*取消预订*/
void quxiaoyuding()
{
int time,number;
printf("在(8-20)时间范围内输入你已经预定的时间:");
scanf("%d",&time);
if(time<8||time>20)
{
printf("\t输入时间错误!\n");
prin/tf("输在 (8-20)范围内的时间:");
scanf("%d",&time);
if(time<8||time>20)
{printf("\t时间输入错误!\n");
printf("输入在 (8-20)范围内的时间:");
scanf("%d",&time);
}
detail(time); /*函数调用*/
1)按照书稿的规格撰写打印课程设计论文;
2)论文包括任务书、目录、绪论、正文、总结、参考文献、附录等;
3)正文中要有问题描述与分析、数据结构的设计、算法的设计、算法的实现、调
试分析与结果;
4)课程设计论文装订按学校的统一要求完成
(3)课设考核
1)考勤和态度;
2)任务的难易程度及设计思路;
3)编码及调试能力;
case 2:yuding();break;
case 3:quxiaoyuding();break;
case 4:dengdaixinxi();break;