《c 课程设计》上。机。
报。告。
院系: 机械与电子信息学院。
班级。姓名。
学号。题目: 25.机房机位预约模拟。
成绩。二 o 一 o 年七月。
25.机房机位预约模拟。
要求]20台机器,从早8点到晚8点,每两个小时一个时间段。
需要实现功能:
1) 查询,根据输入时间,输出机位信息。
2) 机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则提供最近空机时间段。另:若用户要求在非空时间上机,则将用户信息输入该时间段的等待列表。
3) 退出预定,根据输入的时间,撤销该时间的预订。
4) 查询是否有等待信息,若有则按顺序显示****,若无则显示提示信息。
一.需求分析。
根据题目要求,程序应该提供“日期时间,用户信息”的输入、输出操作;在程序中需要浏览机位信息和用户等待信息,应提供显示、查找、排序等功能;通过文件的删除操作删除撤销的时间预定;提供文件的添加操作来增加新的用户预约信息;另外还需要提供键盘式选择菜单以实现功能选择。
二.总体设计。
根据以上的需求分析,可以将这个系统的设计分为以下模块:
三.详细设计。
1.定义。#include <>
#include <>
#include <>
#include <>
#define size 20
void display();
void search();
void book();
void quit();
void wait();
void searchwait();
void exit();定义的一些相关的函数:查询,预约,退订,查询等待,退出*/
int computernum[12]=;自己定义的每个时间段剩下的电脑数*/
struct waitlist
char number[3];
char phonenumber[12];
wait[size];/一个结构体,等待的序号和****,共20台电脑的,只定义了20个等待的列表*/
2.主函数及主界面。
主函数提供输入,处理和输出部分的函数调用。其功能模块用菜单方式选择。
流程图:main()
display();
void display() 一个总的函数,用case分别引出各个函数*/
int c;
printf("");
printf("\t\t\t\t机房机位预约");
printf("");
printf("\t 选择: ");
printf("");
printf("\t 1: 查询 ");
printf("\tn");
printf("\t 2: 预定 ");
printf("\tn");
printf("\t 3: 退出预定 ");
printf("\tn");
printf("\t 4: 查询等待信息 ");
printf("\tn");
printf("\t 0: 退出 ");
printf("\tn");
printf("\t请输入你的选择(1/2/3/4/0): n");
scanf("\t %d",&c);
printf("");
switch(c)
3..各功能模块的设计。
1)查询模块。
通过输入者的数据以及本身存入的数据进行判断。
流程图:输入要查询的时间n,判断n是否属于8-20yn
根据n值查询剩余机位数量。
警告:输入的时间有误。
程序如下:void search() 查询函数,通过输出的时间查出剩下的电脑数。同时可以连续查询*/
int time;
char c;
printf("\tn");
printf("\t\t\t\t查询 ");
printf("\tn");
printf("\t请输入你要查询的时间(8-20,包括8:00):"
scanf("%d",&time);
while(time<8||time>19)
printf("\t还剩下机位数量: %d",computernum[time-8]);
printf("\t是否继续查询? y/n ")
c=getche();
printf("");
if(c=='y'||c=='y')
search();
else display();
2)预定模块。
根据输入者的数据和已有数据进行判断,如有空机位,则显示成功预定;如无空机位,则显示出所有排队者的数据并存入当前预约者的数据中。
流程图。程序如下。
void book() 预约函数*/
int time,i;
file *fp;
char c;
printfn");
printf("\t\t\t\t预定 ");
printf("\tn");
printf("\t请输入你要预定的时间(8-20,包括8:00):"
scanf("%d",&time);
while(time<8||time>19)
if(cnum[time-8]>0)
else
printf("\t当前没有剩余机位!");
for(i=(time-8)+1;i<12;i++)
if(cnum[i]>0)
printf("\t最近空机时间段: %d-%d",(i+9)/2*2,(i+11)/2*2);
printf("\t是否等待? y/n ");电脑数为0的时候选择是否等待*/
c=getche();
if(c=='y'||c=='y')
if((fp=fopen(""r"))null)
printf("文件无法打开!");
exit(0);
for(i=0;!feof(fp);i++)
fread(&wait[i],sizeof(struct waitlist),1,fp);
printf("等待列表如下: 序号****");
for(i=0;i<10;i++)
printf("\t\t%s %s",wait[i].number,wait[i].phonenumber);
C 课程设计
自动走迷宫小游戏。根据课堂讲授内容,做相应的自主练习,消化课堂所讲解的内容 通过调试典型例题或习题积累调试c 程序的经验 通过完成辅导教材中的编程题,逐渐培养学生的编程能力 用计算机解决实际问题的能力。同时在设计的过程中发现自己的不足之处,对以前所学过的知识理解的更加深刻,掌握得更加牢固。迷宫生成。...
c 课程设计
哈尔滨 课程设计报告。课程 c 学号 姓名 班级 教师 1.管理系统的功能说明。课程信息管理 能够增加数据,删除数据,显示数据,修改数据,按姓名和首字母查询数据和一些基本的程序功能。2.存储数据的描述。coursenumber 课程号coursename 课程名subject 所属专业xingzhi...
C课程设计
面向对象程序设计课程设计。一 设计要求。1 课程设计以3 4人为一组,每人一个模块 2 课程设计时间为1周 在处理系统的时候,要从分析系统的需求入手,根据系统需求进行详细分析,明确系统功能,然后设计系统整体架构以及划分系统模块,按照模块分配小组中每个组员的具体任务,完成设计。二 系统设计规范。1 命...