C课程设计机房

发布 2022-09-30 16:56:28 阅读 4992

《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 命...