版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上C语言课程设计 题 目:机房机位预约 设 计 者:费小丽 专 业:资源勘查工程 班 号:07 指导老师:童恒建 所属院系:资源学院 2011年1月6日1题目与要求 1.1 题目:20台机器,从早8点到晚8点,每两小时一个时间段。1.2 本系统涉及的知识点:数组,函数,文件,宏定义,循环,结构体,选择结构。1.3 功能要求:(1)查询。根据输入时间输出机位信息。(2)机位预定。根据输入的时间段查询是否有空机位,若有则预约,若无则提供最近空机时间段。另外,若用户要求在非空时间上机,则将用户信息插入该时间段的等待列表。(3)退出预定。根据输入的时间撤销该时间的预定。(4)查
2、询是否有等待信息。若有则按顺序显示联系方式,若无则显示提示信息。2功能实现设计 主菜单设计如下:1>查询机位信息. 2>机位预定. 3>退出预定. 4>查询等待信息. 3模块流程图1 主函数流程图:2 查询机位信息流程图:3 机位预定流程图:4 机位退订流程图:5 查询等待信息流程图5 程序代码设计 1)主函数主函数的设计简洁,只提供加输入,排序,统计和显示等函数的调用和加载功能。其中各功能模块用菜单方式选择。并将main()函数体内的界面选择部分部分语句单独抽出来做一个独立的函数,目的在于系统执行完每部分功能模块后能更方便返回到系统界面。menu()函数从主函数中独立
3、出来后,表面的主函数只是起一个程序开始的作用,其主要功能被独立出来的被调用的menu()函数所取代。menu()函数主要完成菜单的输出和被选择的项目的输入和相应执行函数的调用。 程序#include "stdio.h"#include "stdlib.h"void ReadInformation();void Search();void ComputerPrecontract();void OutPrecontract();void SearchWait();void Menu();int a206;void main()ReadInformation(
4、); Menu();void Menu()int i;printf("*欢迎进入机房机位预约模拟系统!*n"); printf("* *n");printf("* 1> 查询机位信息. *n");printf("* 2> 机位预定. *n");printf("* 3> 退出预定. *n");printf("* 4> 查询等待信息. *n");printf("* 5> 退出系统. *n"); printf("* *n&
5、quot;);printf("*n");printf("请输入功能模块(15): bb"); scanf("%d",&i);switch(i) case 1: Search();break;case 2: ComputerPrecontract();break; case 3: OutPrecontract();break;case 4: SearchWait();break;case 5: exit(0); 2)子函数在各个子函数中完成各要求,并成功后将返回到menu()函数继续选择并执行其他操作。主要运用结构体和for语句
6、来完成。子函数1:读取机位信息输入时间,则显示在该时段的空机位程序void ReadInformation()char ch5;FILE*fp;if (fp=fopen("computer information.dat","r")=NULL)printf("cannot open file!n");return;for (int i=0;i<20;i+)for (int j=0;j<6;j+)fscanf(fp,"%s",&ch);aij=atoi(ch);fclose(fp);子函数2:机位
7、查询信息输入时间,则显示在该时段的空机位程序void Search()system("cls");int m=0,n=0;int i,j,t; loop:printf("请输入查询的时间(820): bbb");scanf("%d",&t); if (t<=8|t>=20) printf("输入时间信息错误!n"); goto loop; j=int(t-8)/2);printf("此时段的空闲机位:");for (i=0;i<20;i+)if(aij=0) m+;if
8、(m>=1)printf("%d ",i+1);elsen+;if(n=20)printf("n此时间没有空闲的机位!n");printf("n");Menu();子函数3:机位预订输入时间,则显示在该时间段的空机位,并预定程序void ComputerPrecontract()system("cls");int i,j,t; loop:printf("请输入机位预定的时间(820): bbb");scanf("%d",&t);if (t<=8|t>
9、=20) printf("输入时间信息错误!n"); goto loop;j=int(t-8)/2);for (i=0;i<20;i+)if(aij=0)aij=1;printf("%d号机位已经为你预定!n",i+1);FILE*fp;if (fp=fopen("computer information.dat","w")=NULL)printf("cannot open file!n");return;for (int i=0;i<20;i+)for (int j=0;j<
10、6;j+)fprintf(fp,"%d ",aij);fprintf(fp,"n"); fclose(fp);break;if (i=19)printf("此时段机位已满!n");Menu();子函数4:退出预定输入几号和时间,则显示退出预定程序void OutPrecontract()system("cls");int n,t;printf("请输入退订机位号(120): bbb");scanf("%d",&n); loop:printf("请输入退订时间
11、(820): bbb");scanf("%d",&t);if (t<=8|t>=20) printf("输入时间信息错误!n"); goto loop;t=int(t-8)/2);if (an-1t=1)an-1t=0;FILE*fp;if (fp=fopen("computer information.dat","w")=NULL)printf("cannot open file!n");return;for (int i=0;i<20;i+)for (in
12、t j=0;j<6;j+)fprintf(fp,"%d ",aij);fprintf(fp,"n");printf("%d号机位已经为你退订!n",n);fclose(fp);else printf("输入信息错误!n");Menu();子函数5:查询是否有等待信息以列表形式显示是否有等待信息程序void SearchWait()system("cls");int i,j;ReadInformation();printf("机位信息n");printf("时段
13、 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20n");for (i=0;i<6;i+)printf("%2d%2d ",i*2+8,i*2+10);for (j=0;j<20;j+)if (aji=1)printf("Y ");elseprintf("N ");printf("n");printf("n");Menu();6系统测试1> 主菜单2> 查询机位信息3> 机位预定4> 退出预定 5&
14、gt; 查询是否有等待信息 7.程序设计总结在这几天的C语言编程实习中,我不仅在实习的过程中巩固了以前学习的C语言知识,还对计算机编程有了更多的了解。刚开始我还对用C语言编程并不是了解,只是按照老师布置的任务一边编程一边把以前学过的C语言知识重新回忆起来,特别是对算法的复习,重新体验了一下考等级考试是的学习气氛。接下来学习了C语言编程中各个模块的功能程序的编写,这要求我们对其功能十分熟悉,能够有一定阅读程序的能力。通过那几天的实习我按照实习报告的要求编写学习了数据结构体的基本用法,掌握了一些常见问题的基本算法,以及怎样对程序进行调制。接下来几天的实习内容是编写整个具有特定功能的程序,虽说是按照
15、实习报告上面编好的程序进行编写,但在编程的过程中,特别是在调试的过程中我学到了很多东西,比如如何进行程序的模块的编排,如何查找错误并将其改正,如何运行编好的程序,还学习了编写的程序的功能,并且能够自行编写某些具有特定功能的模块程序,我相信这些东西只有在不断的编程实习的过程中才能学到。在编写程序的过程中需要我们运用之前学习的C语言编程知识根据功能补充完整其模块程序。在最后阶段自己好像对C元编程产生了一定兴趣,同学间讨论激烈,互相帮助,交流C语言学习经验,老师也在一旁帮助学生共同解决难题。许多同学都通过自己的努力顺利地完成了老师布置的任务。为期几天的实习不仅加强了我们对C语言的认识,巩固我们的C语
16、言知识,还增强了我们学习C语言的兴趣。除了在实习过程中感触良多,我还在编程过程中收获颇多,在没有源程序的情况下,我只能运用自己实习学到的知识,从主函数的流程图设计开始,不断查找修改模块的功能,借阅实习过程中的程序,加上网络资源的帮助,基本完成所设计系统的大部分功能,当整个程序基本编完时,我感受到一种成就感。但程序还有许多地方需要调试,我觉得调试的难度并不比编写程序轻松,特别是在调试的过程中需要充分利用以前学到的C 语言的各种知识,还很考验自己的耐心意志力,通过修改与尝试,终于完成了整个系统程序的编写。 总之,通过此次C语言实习与设计,我不仅收获的是知识,还明白做一件事满怀热情,还要有耐心,一定
17、要做好的决心,这样才能够把一件事做好。在此也感谢老师这段时间对于我们的辛勤指导与帮助。8.参考文献 【1】谭浩强,C程序设计(第三版),北京:清华大学出版社,2005.1 【2】张冬梅,刘远兴,王媛妮,陈晶主编的C语言课程设计与学习指导书,中国铁道出版社,2008.7附录:1 源程序#include "stdio.h"#include "stdlib.h"void ReadInformation();void Search();void ComputerPrecontract();void OutPrecontract();void SearchWait
18、();void Menu();int a206;void main()ReadInformation(); Menu();void ReadInformation()char ch5;FILE*fp;if (fp=fopen("computer information.dat","r")=NULL)printf("cannot open file!n");return;for (int i=0;i<20;i+)for (int j=0;j<6;j+)fscanf(fp,"%s",&ch);aij
19、=atoi(ch);fclose(fp);void Search()system("cls");int m=0,n=0;int i,j,t; loop:printf("请输入查询的时间(820): bbb");scanf("%d",&t); if (t<=8|t>=20) printf("输入时间信息错误!n"); goto loop; j=int(t-8)/2);printf("此时段的空闲机位:");for (i=0;i<20;i+)if(aij=0) m+;if(
20、m>=1)printf("%d ",i+1);elsen+;if(n=20)printf("n此时间没有空闲的机位!n");printf("n");Menu();void ComputerPrecontract()system("cls");int i,j,t; loop:printf("请输入机位预定的时间(820): bbb");scanf("%d",&t);if (t<=8|t>=20) printf("输入时间信息错误!n"
21、;); goto loop;j=int(t-8)/2);for (i=0;i<20;i+)if(aij=0)aij=1;printf("%d号机位已经为你预定!n",i+1);FILE*fp;if (fp=fopen("computer information.dat","w")=NULL)printf("cannot open file!n");return;for (int i=0;i<20;i+)for (int j=0;j<6;j+)fprintf(fp,"%d ",a
22、ij);fprintf(fp,"n"); fclose(fp);break;if (i=19)printf("此时段机位已满!n");Menu();void OutPrecontract()system("cls");int n,t;printf("请输入退订机位号(120): bbb");scanf("%d",&n); loop:printf("请输入退订时间(820): bbb");scanf("%d",&t);if (t<=8|
23、t>=20) printf("输入时间信息错误!n"); goto loop;t=int(t-8)/2);if (an-1t=1)an-1t=0;FILE*fp;if (fp=fopen("computer information.dat","w")=NULL)printf("cannot open file!n");return;for (int i=0;i<20;i+)for (int j=0;j<6;j+)fprintf(fp,"%d ",aij);fprintf(fp,"n");printf("%d号机位已经为你退订!n",n);fclose(fp);else printf("输入信息错误!n");Menu();void SearchWait()system("cls");int i,j;ReadInformation();printf("机位信息n");printf("时段 1 2 3 4 5 6 7 8 9 10 11 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六年级科学上册第二单元形状与结构7桥的形状和结构教案教科版
- 2024-2025学年新教材高中语文第一单元以意逆志知人论世第2课自主赏析湘夫人学案新人教版选修中国古代诗歌散文欣赏
- 2024年床上用织物制品项目合作计划书
- 2024-2025学年新教材高中英语Unit1CulturalHeritageReadingforWriting同步基础练习新人教版必修第二册
- 2024-2025学年新教材高中英语课时分层作业二Unit1Laughoutloud含解析外研版选择性必修第一册
- 玉溪师范学院《健康教育学》2021-2022学年第一学期期末试卷
- 玉溪师范学院《城市绿地系统规划》2023-2024学年第一学期期末试卷
- 2024小型维修合同
- 2024干货调料食品配送合同
- 2024标准建设工程设计合同模板
- 硝酸钾安全技术说明书MSDS
- 如何做好谈话笔录演示文稿
- 耐酸泵厂家排名前十耐酸碱泵十大品牌
- 第三单元《工具与技术》知识点-教科版六年级科学上册
- 小学道德与法治人教三上册安全护我成长心中的(吴运芝)
- 主通风机司机巡回检查制度
- TD-T 1056-2019 县级国土调查生产成本定额
- 出监教育内容2
- 四川省乡村机耕道建设规范和技术标准(试行)
- 中建八局建筑工程绿色施工技术及管理手册(420余页 图文并茂)
- 娃娃家区角游戏方案
评论
0/150
提交评论