C语言 机房机位预约程序Word文档格式.docx
- 文档编号:16138529
- 上传时间:2022-11-20
- 格式:DOCX
- 页数:22
- 大小:256.55KB
C语言 机房机位预约程序Word文档格式.docx
《C语言 机房机位预约程序Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言 机房机位预约程序Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
根据输入的时间段查询是否有空机位,若有则预约,若无则提供最近空机时间段。
另外,若用户要求在非空时间上机,则将用户信息插入该时间段的等待列表。
(3)退出预定。
根据输入的时间撤销该时间的预定。
(4)查询是否有等待信息。
若有则按顺序显示联系方式,若无则显示提示信息。
2功能实现设计
主菜单设计如下:
1>
查询机位信息.
2>
机位预定.
3>
退出预定.
4>
查询等待信息.
3模块流程图
1主函数流程图:
2查询机位信息流程图:
3机位预定流程图:
4机位退订流程图:
5查询等待信息流程图
5程序代码设计
1)主函数
主函数的设计简洁,只提供加输入,排序,统计和显示等函数的调用和加载功能。
其中各功能模块用菜单方式选择。
并将main()函数体内的界面选择部分部分语句单独抽出来做一个独立的函数,目的在于系统执行完每部分功能模块后能更方便返回到系统界面。
menu()函数从主函数中独立出来后,表面的主函数只是起一个程序开始的作用,其主要功能被独立出来的被调用的menu()函数所取代。
menu()函数主要完成菜单的输出和被选择的项目的输入和相应执行函数的调用。
[程序]
#include"
stdio.h"
stdlib.h"
voidReadInformation();
voidSearch();
voidComputerPrecontract();
voidOutPrecontract();
voidSearchWait();
voidMenu();
inta[20][6];
voidmain()
{
ReadInformation();
Menu();
}
voidMenu()
inti;
printf("
*****欢迎进入机房机位预约模拟系统!
*****\n"
);
**\n"
*1>
查询机位信息.*\n"
*2>
机位预定.*\n"
*3>
退出预定.*\n"
*4>
查询等待信息.*\n"
*5>
退出系统.*\n"
***************************************\n"
请输入功能模块(1~5):
[]\b\b"
scanf("
%d"
&
i);
switch(i)
{
case1:
Search();
break;
case2:
ComputerPrecontract();
case3:
OutPrecontract();
case4:
SearchWait();
case5:
exit(0);
}
2)子函数
在各个子函数中完成各要求,并成功后将返回到menu()函数继续选择并执行其他操作。
主要运用结构体和for语句来完成。
子函数1:
读取机位信息
输入时间,则显示在该时段的空机位
[程序]
voidReadInformation()
charch[5];
FILE*fp;
if((fp=fopen("
computerinformation.dat"
"
r"
))==NULL)
{
printf("
cannotopenfile!
\n"
return;
for(inti=0;
i<
20;
i++)
for(intj=0;
j<
6;
j++)
{
fscanf(fp,"
%s"
ch);
a[i][j]=atoi(ch);
}
fclose(fp);
子函数2:
机位查询信息
voidSearch()
system("
cls"
intm=0,n=0;
inti,j,t;
loop:
printf("
请输入查询的时间(8~20):
[]\b\b\b"
t);
if(t<
=8||t>
=20)
printf("
输入时间信息错误!
gotoloop;
j=int((t-8)/2);
此时段的空闲机位:
"
for(i=0;
if(a[i][j]==0)
m++;
if(m>
=1)
%d"
i+1);
else
n++;
if(n==20)
\n此时间没有空闲的机位!
Menu();
子函数3:
机位预订
输入时间,则显示在该时间段的空机位,并预定
voidComputerPrecontract()
请输入机位预定的时间(8~20):
if(t<
printf("
gotoloop;
a[i][j]=1;
%d号机位已经为你预定!
FILE*fp;
if((fp=fopen("
w"
{
return;
}
for(inti=0;
for(intj=0;
{
fprintf(fp,"
a[i][j]);
}
fprintf(fp,"
break;
if(i==19)
此时段机位已满!
子函数4:
退出预定
输入几号和时间,则显示退出预定
voidOutPrecontract()
intn,t;
请输入退订机位号(1~20):
n);
请输入退订时间(8~20):
t=int((t-8)/2);
if(a[n-1][t]==1)
a[n-1][t]=0;
FILE*fp;
if((fp=fopen("
return;
for(inti=0;
for(intj=0;
fprintf(fp,"
%d号机位已经为你退订!
n);
fclose(fp);
elseprintf("
输入信息错误!
子函数5:
查询是否有等待信息
以列表形式显示是否有等待信息
voidSearchWait()
inti,j;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~机位信息~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
时段1234567891011121314151617181920\n"
%2d~%2d"
i*2+8,i*2+10);
for(j=0;
if(a[j][i]==1)
Y"
else
N"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
6系统测试
主菜单
查询机位信息
机位预定
退出预定
5>
查询是否有等待信息
7.程序设计总结
在这几天的C语言编程实习中,我不仅在实习的过程中巩固了以前学习的C语言知识,还对计算机编程有了更多的了解。
刚开始我还对用C语言编程并不是了解,只是按照老师布置的任务一边编程一边把以前学过的C语言知识重新回忆起来,特别是对算法的复习,重新体验了一下考等级考试是的学习气氛。
接下来学习了C语言编程中各个模块的功能程序的编写,这要求我们对其功能十分熟悉,能够有一定阅读程序的能力。
通过那几天的实习我按照实习报告的要求编写学习了数据结构体的基本用法,掌握了一些常见问题的基本算法,以及怎样对程序进行调制。
接下来几天的实习内容是编写整个具有特定功能的程序,虽说是按照实习报告上面编好的程序进行编写,但在编程的过程中,特别是在调试的过程中我学到了很多东西,比如如何进行程序的模块的编排,如何查找错误并将其改正,如何运行编好的程序,还学习了编写的程序的功能,并且能够自行编写某些具有特定功能的模块程序,我相信这些东西只有在不断的编程实习的过程中才能学到。
在编写程序的过程中需要我们运用之前学习的C语言编程知识根据功能补充完整其模块程序。
在最后阶段自己好像对C元编程产生了一定兴趣,同学间讨论激烈,互相帮助,交流C语言学习经验,老师也在一旁帮助学生共同解决难题。
许多同学都通过自己的努力顺利地完成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言 机房机位预约程序 语言 机房 机位 预约 程序