机房机位预约模拟系统—C语言课程设计
更新时间:2023-05-31 05:21:01 阅读量: 实用文档 文档下载
- 机房机位预定系统推荐度:
- 相关推荐
本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。
机房机位预约模拟
一.题目要求
20台机器,从早八点到晚八点,每两个小时一个时间段. 需要实现的功能:
(1) 查询,根据输入的时间,输出机位信息.
(2) 机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则
提供最近空机时间段.另:若用户要求在非空时间上机,则将用户信息插入该时间段的等待列表.
(3) 退出预定,根据输入的时间,撤消该时间的预定.
(4) 查询是否有等待信息,若有则按顺序显示联系方式,若无则显示提示信息.
二.需求分析
根据题目要求,在程序中应实现查询,机位预定,插入等待列表,退出预定,查询等待信息等功能。还应提供键盘式选择菜单实现功能选择。而等待信息放在文件里,所以在相关的模块应提供文件的输入、输出操作。
三.总体设计
根据上面的需求分析,将这个系统的设计分为下面4个模块:
4.详细设计
本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。
1.预处理命令及函数声明
#include<stdio.h> #include<stdlib.h> #include<string.h> #define N 20
#define T (time-8)/2 int sum[6]={0};
int computer[6][20]={{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1}, {1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1}, {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, {1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1}, {1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,0},
{1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1}};/*该数组表示假设某天某人查询时机房各个时间段机位数情况*/ void Menu(); void Situation(); void Book(); void Cancel();
void SearchWaiting(); void Exit();
void detail(int time);
void printf_one(int i); struct waitlist {
char number[3];
char telephonenumber[12]; } wait[N];
2.主函数
主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。其流程图如图所示:
本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。
2./*主函数*/ void main() {
Menu(); /*当前状态函数*/ }
void Menu() /*主界面*/ {
int n,w; do {
本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。
puts("\t\t****************COMPUTER BOOK SYSTERM*******************\n");
puts("\t\t*************************MENU***************************\n"); puts("\t\t\t 1.Search the current situation"); /*查询某时间段机位状态*/ puts("\t\t\t 2.Book the vacant computer"); /*预定空机位*/ puts("\t\t\t 3.Cancel booking"); /*取消预订*/
puts("\t\t\t 4.Search waiting"); /*查询等待信息*/ puts("\t\t\t 5.Exit"); /*退出*/
puts("\t\t********************************************************\n"); printf("Choose your number(1-5): [ ]\b\b"); scanf("%d",&n); if(n<1||n>5)
{w=1;getchar();} else w=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; } }
3.状态查询函数
流程图
本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。
/*查询模块*/
/*查询当前状态*/ void Situation()
{
int time;
printf("Input time between (8-20):"); scanf("%d",&time); if(time<8||time>20)
{printf("\tWrong time!\n");
printf("Please input time between (8-20):"); scanf("%d",&time); }
detail(time); /*函数调用*/ getchar(); Menu(); }
4.预定模块函数
流程图
本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。
程序:
/*预定模块*/ void Book()
本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。
{int time,i=0,x,y;
FILE *fp; char c;
printf("Input time you want to book between(8-20):"); scanf("%d",&time); if(time<8||time>20) {
printf("\tWrong time!\n");
printf("\tInput time you want to book between(8-20):"); scanf("%d",&time); }
detail(time); /*函数调用*/ if(sum[T]>0)
{ if((fp=fopen("waitlist.txt","a"))==NULL) { printf("\nCannot open file!\n"); exit(0); }
printf("\n\tPlease Input the number you want to book and leave your telephonenumber!:\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("\tInput the number you want to book again!\n"); scanf("%d",&x);
sum[T]--; / *预定后该时间段空机位数减1*/ computer[T][x]=1; / *预定后该机状态变为1*/ printf("\tBook succeed!\n"); getchar(); Menu(); } else {
printf("There is no vacant computer at that time!\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; }
本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。
printf("\tDo you want to wait?:y/n?"); scanf("%s",&c); getchar(); if(c=='Y'||c=='y') { 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++) { printf_one(i);}
printf("\n\tPlease Input the number you want to book and leave your telephonenumber!:\n");
if((fp=fopen("waitlist.txt","a"))==NULL) { printf("\nCannot open file!\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);
fclose(fp); /*若等待,就用文件的方式列出当时的等待列表并提示输入你的等待序号和联系方式*/ printf("Input the number of the computer again!\n"); scanf("%d",&y); sum[T]--; computer[T][y]=1;
printf("\tOk,please wait our phone!\n"); Menu(); }
else Menu();
本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。
} }
5,取消预订模块函数
流程图
/*取消预订模块*/
void Cancel() {
int time,number;
本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。
printf("Input time you have booked between(8-20):"); scanf("%d",&time); if(time<8||time>20) {
printf("\tWrong time!\n");
printf("\tInput time you have booked between(8-20):"); scanf("%d",&time); } else
{printf("\tInput number you have booked :"); scanf("%d",&number);} detail(time);
sum[T]++; / *预定后该时间段空机位数加1*/
computer[T][number]=0; / *预定后该机状态变为0*/
printf("\tCancel succeed!\n"); getchar(); Menu(); }
6查询等待信息模块
流程图
本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。
/*查询等待信息模块*/ 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++) { printf_one(i);} Menu(); }
本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。
7.公共函数
程序
void detail(int time) /*此函数功能是实现查找每个时间段空机位总数和空机位号*/ {
int i,j=0,k,s=0; int v[30];
for(i=0;i<20;i++)
{if(computer[T][i]==0) { s++; v[j++]=i; } }
sum[T]=s;
printf("\tCurrent vacant computers:%d\n",sum[T]); for(k=0;k<j;k++)
printf("\tThe vacant computers are:%d\n",v[k]); }
void printf_one(int i) /*此函数功能是实现输出等待列表到屏幕*/ {
printf("\t\t%s %s \n",wait[i].number,wait[i].telephonenumber); }
8运行界面
1,选1.,进入查询当前状态
本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。
2 选2,进入预定函数
本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。
3.选4.进入查询当前状态函数
4.选3.取消预订
本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。
5.选2.当某时间段没有空机位时,进入下一个时间段的查询和预定
6.选5.退出界面
正在阅读:
机房机位预约模拟系统—C语言课程设计05-31
本科学生自主管理与自我职业生涯规划浅论03-01
某某县国家税务局依法治税工作总结08-03
搞笑小学作文06-15
语音信号非线性分析04-15
护士实习个人总结_护士实习总结优秀8篇03-23
《珍爱生命、安全第一》国旗下的讲话范文03-23
关于学生心理健康教育演讲稿04-23
会计信息造假及审计规范开题报告06-24
意外的惊喜作文600字07-16
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 机位
- 预约
- 机房
- 模拟
- 语言
- 课程
- 设计
- 系统
- 最完整初中生物知识点总结归纳济南版(精华版)
- 9.3一元一次不等式组应用题
- 筹资方式案例分析
- 浙江省镇海中学2010届高考考前模拟预测试题(理综)
- 备份属于 网络咨询 教育局分忧
- 干式厌氧发酵水稻秸秆产沼气试验研究
- 教育公平的内涵剖析
- labnotes_bearing(滚柱轴承的基础知识)
- 上海萨帕材料介绍
- 普通高职高专专业与普通本科专业对照表
- 清华大学法律硕士(非法学)14年专硕研究生招生简章
- 第一章 矢量分析
- 机械运动复习学案
- 幼儿园安全教育计划
- 编程开发--程序维护手册
- 2002年政治考研真题(理科)及参考答案
- 初中语文多样性作业设计初探
- 北京华联综合超市股份有限公司2004年年度报告
- 10kV欧式箱变技术规范书
- 0D-05辽宁省危险化学品生产企业安全生产许可证颁发管理实施细则