下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 c语言课程设计 机房机位预定系统 绝对正确,附源代码

c语言课程设计 机房机位预定系统 绝对正确,附源代码.doc

c语言课程设计 机房机位预定系统 绝对正确,附源代码

he建香
2018-05-20 0人阅读 举报 0 0 暂无简介

简介:本文档为《c语言课程设计 机房机位预定系统 绝对正确,附源代码doc》,可适用于领域

c语言课程设计机房机位预定系统绝对正确,附源代码设计目的机房机位预定系统任务概述台机器编号到从早八点到晚八点。两小时一个时间段每次可预定一个时间段。功能要求:()系统以菜单方式工作()查询根据输入时间输出机位信息。)机位预定根据输入的时间查询是否有空机位若有则预约若无则提供最近的时间(段另:若用户在非空时间上机则将用户信息列入等待列表。()退出预定根据输入的时间机器号撤销该事件的预定~()查询是否有等待信息若有则提供最优解决方案(等待时间尽量短)若无则显示提示信息。模块划分机房机位预约系统查询机位预定机位退出预定查询等待信息主要函数说明及其NS图主函数:intmain(){Menu()*当前状态函数*}voidMenu()*主界面*{intn,wdo{puts("tt****************机房机位预约系统*******************n")puts("tt*************************菜单***************************n")C语言课程设计puts("ttt查询某时间段机位状态")*查询某时间段机位状态*puts("ttt预定空机位")*预定空机位*puts("ttt取消预订")*取消预订*puts("ttt查询等待信息")*查询等待信息*puts("ttt退出")*退出*puts("tt********************************************************n")printf("选择菜单号():")scanf("d",n)if(n<||n>){w=getchar()}elsew=}while(w==)switch(n){case:Situation()breakcase:Book()breakcase:Cancel()breakcase:SearchWaiting()breakcase:exit()break}getch()}机位查询:voidSituation(){inttimeprintf("输在()范围内的时间:")scanf("d",time)if(time<||time>)第页共页{printf("t时间输入错误!n")printf("输入在()范围内的时间:")scanf("d",time)}detail(time)*函数调用*getchar()Menu()}机位预定:voidBook(){inttime,i=,x,yFILE*fpcharcprintf("在()时间范围内输入你想要预定的时间:")scanf("d",time)if(time<||time>){printf("t时间输入错误!n")printf("t在()时间范围内输入你想要预定的时间:")scanf("d",time)}detail(time)*函数调用*if(sumT>){if((fp=fopen("waitlisttxt","a"))==){printf("n无法打开文件!n")exit()}printf("nt请输入你想要预定的机号并且留下你的电话号码!:n")C语言课程设计scanf("ss",waitinumber,waititelephonenumber)for(i=i<i)fwrite(waiti,sizeof(structwaitlist),,fp)fclose(fp)*向文本文档添加一个结构体单元*printf("t再次输入你想要预定的时间!n")scanf("d",x)*sumT*预定后该时间段空机位数减**computerTx=*预定后该机状态变为*printf("t预订成功!n")getchar()Menu()}else{printf("这是在这个时间段内未预定的电脑!n")for(i=Ti<i){time=*idetail(time)*函数调用*if(sumT>)printf("tThelatestfreetimeisd,dn",*i,*i)break}printf("t你想要预定吗:yn")scanf("s",c)getchar()if(c=='Y'||c=='y'){if((fp=fopen("waitlisttxt","r"))==){printf("n无法打开文件!n")exit()}else{printf("waitlist:numbertelephonenumbern")for(i=!feof(fp)i){fscanf(fp,"ss",waitinumber,waititelephonenumber)}fclose(fp)}for(i=i<i){prione(i)}printf("nt请输入你想要预定的机号并且留下你的电话号码!:n")第页共页if((fp=fopen("waitlisttxt","a"))==){printf("n无法打开文件!n")exit()}scanf("ss",waitinumber,waititelephonenumber)for(i=i<i)fwrite(waiti,sizeof(structwaitlist),,fp)fclose(fp)*若等待就用文件的方式列出当时的等待列表并提示输入你的等待序号和联系方式*printf("再次输入电脑的序号!n")scanf("d",y)sumTcomputerTy=printf("t好了,请等待我们的电话!n")Menu()}elseMenu()}}N取消预定:voidCancel(){inttime,numberprintf("在()时间范围内输入你已经预定的时间:")scanf("d",time)C语言课程设计if(time<||time>){printf("t输入时间错误!n")printf("t在()时间范围内输入你已经预定的时间:")scanf("d",time)}else{printf("t输入你预定的机号:")scanf("d",number)}detail(time)*sumT*预定后该时间段空机位数加**computerTnumber=*预定后该机状态变为*printf("t取消成功!n")getchar()Menu()}查询等待信息:voidSearchWaiting(){inttime,iFILE*fpprintf("tInputtimeyouwanttosearchbetween():")scanf("d",time)if(time<||time>){printf("tWrongtime!n")printf("tInputtimeyouwanttosearchbetween():")scanf("d",time)}第页共页elseif((fp=fopen("waitlisttxt","r"))==){printf("nCannotopenfile!n")exit()}else{printf("waitlist:numbertelephonenumbern")for(i=!feof(fp)i){fscanf(fp,"ss",waitinumber,waititelephonenumber)}fclose(fp)}for(i=i<i){prione(i)}Menu()}程序运行数据及其结果主菜单:C语言课程设计机位查询:机位预定:第页共页查询等待信息:课程设计心得课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程随着科学技术发展的日新日异当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握一些基本的软件开发技术是十分重要和必要的。回顾起此次课程设计至今我仍感慨颇多的确自从拿到题目到完成整个编程从理论到实践在整整一个星期的日子里可以学到很多很多的的东西同时不仅可以巩固了以前所学过的知识而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂C语言课程设计得了理论与实际相结合是很重要的只有理论知识是远远不够的只有把所学的理论知识与实践相结合起来从理论中得出结论从而提高自己的实际动手能力和独立思考的能力这样才能真正为体会和认识它才能写出一个完整的程序代码才能使自己在过程中得到锻炼和提高。在设计的过程中遇到问题这毕竟独立做的难免会遇到过各种各样的问题同时在设计的过程中发现了自己的不足之处对以前所学过的知识理解得不够深刻掌握得不够牢固比如说结构体的建立,指针的应用等都不太熟练。通过这次课程设计也使我对以前所学过的知识重新温故和加强。程序设计过程有如解决一实际问题从解决实际问题的角度我们可以这样来看:首先要了解这个问题的基本要求即输入、输出、完成从输入到输出的要求是什么其次从问题的要害入手从前到后的解决问题的每个方面即从输入开始入手着重考虑如何从输入导出输出在这个过程中可确定所需的变量、数组、函数然后确定处理过程,,算法最后可得结论。通过这次课程设计我深刻地体会到:<>细节决定成败:在学习的过程中要注意每一个细节要知道一个分隔符或一个括号都会使整个程序出现错误。<>要熟练掌握一些经典的结构和方法如选择排序递归递推等在遇到问题是可直接应用快速解决问题。<>要熟悉一些标准数据库对一些可直接利用的函数就直接利用没必要重新定义。<>在设计过程中最好使程序模块化既便于阅读也可增加其移植性。<>熟能生巧。平时应该多加训练要知道即使我们能完全看懂一个程序但要让你自己写出一个时仍是很困难的。它要求你对每一个语句每一个变量每一个函数每一个模块都充分的熟悉要知道它们的作用作用域等等。因此只有平时做的多了到时候才会游刃有余。我有过山穷水尽的困惑有过柳暗花明的惊喜一个多礼拜的时间我经一个多礼拜中,历了很多也收获了很多。与其说它是体力与脑力的作业不如说它是合作精神和毅力的考验。经过这次课程设计我不仅学到了很多知识和技能,更重要的是我学会了如何运用所学知识去解决实际问题第页共页附录:#include<stdioh>#include<stdlibh>#include<stringh>#defineN#defineT(time)intsum={}intcomputer={{,,,,,,,,,,,,,,,,,,,},{,,,,,,,,,,,,,,,,,,,},{,,,,,,,,,,,,,,,,,,,},{,,,,,,,,,,,,,,,,,,,},{,,,,,,,,,,,,,,,,,,,},{,,,,,,,,,,,,,,,,,,,}}*该数组表示假设某天某人查询时机房各个时间段机位数情况*voidMenu()voidSituation()voidBook()voidCancel()voidSearchWaiting()voiddetail(inttime)voidprione(inti)structwaitlist*等待列表*{charnumberC语言课程设计chartelephonenumber}waitNvoidprintone(inti)intmain(){Menu()*当前状态函数*}voidMenu()*主界面*{intn,wdo{puts("tt****************机房机位预约系统************************n")puts("tt*************************菜单***************************n")puts("ttt查询某时间段机位状态")*查询某时间段机位状态*puts("ttt预定空机位")*预定空机位*puts("ttt取消预订")*取消预订*puts("ttt查询等待信息")*查询等待信息*puts("ttt退出")*退出*puts("tt********************************************************n")printf("选择菜单号():")scanf("d",n)if(n<||n>){w=getchar()}elsew=}while(w==)switch(n){case:Situation()breakcase:Book()breakcase:Cancel()breakcase:SearchWaiting()breakcase:exit()break}getch()}*时间查询*voidSituation(){inttimeprintf("输在()范围内的时间:")第页共页scanf("d",time)if(time<||time>){printf("t时间输入错误!n")printf("输入在()范围内的时间:")scanf("d",time)}detail(time)*函数调用*getchar()Menu()}*预定函数*voidBook(){inttime,i=,x,yFILE*fpcharcprintf("在()时间范围内输入你想要预定的时间:")scanf("d",time)if(time<||time>){printf("t时间输入错误!n")printf("t在()时间范围内输入你想要预定的时间:")scanf("d",time)}detail(time)*函数调用*if(sumT>){if((fp=fopen("waitlisttxt","a"))==){printf("n无法打开文件!n")exit()}printf("nt请输入你想要预定的机号并且留下你的电话号码!:n")scanf("ss",waitinumber,waititelephonenumber)for(i=i<i)fwrite(waiti,sizeof(structwaitlist),,fp)fclose(fp)*向文本文档添加一个结构体单元*printf("t再次输入你想要预定的时间!n")scanf("d",x)*sumT*预定后该时间段空机位数减**computerTx=*预定后该机状态变为*printf("t预订成功!n")getchar()Menu()C语言课程设计}else{printf("这是在这个时间段内未预定的电脑!n")for(i=Ti<i){time=*idetail(time)*函数调用*if(sumT>)printf("t最近的空闲时间是d,dn",*i,*i)break}printf("t你想要预定吗:yn")scanf("s",c)getchar()if(c=='Y'||c=='y'){if((fp=fopen("waitlisttxt","r"))==){printf("n无法打开文件!n")exit()}else{printf("waitlist:numbertelephonenumbern")for(i=!feof(fp)i){fscanf(fp,"ss",waitinumber,waititelephonenumber)}fclose(fp)}for(i=i<i){prione(i)}printf("nt请输入您想预定的机号并留下您的联系方式!:n")if((fp=fopen("waitlisttxt","a"))==){printf("n无法打开文件!n")exit()}scanf("ss",waitinumber,waititelephonenumber)for(i=i<i)fwrite(waiti,sizeof(structwaitlist),,fp)fclose(fp)*若等待就用文件的方式列出当时的等待列表并提示输入你的等待序号和联系方式*第页共页printf("再次输入电脑的序号!n")scanf("d",y)sumTcomputerTy=printf("t好了,请等待我们的电话!n")Menu()}elseMenu()}}*取消预订*voidCancel(){inttime,numberprintf("在()时间范围内输入你已经预定的时间:")scanf("d",time)if(time<||time>){printf("t输入时间错误!n")printf("t在()时间范围内输入你已经预定的时间:")scanf("d",time)}else{printf("t输入你预定的机号:")scanf("d",number)}detail(time)*sumT*预定后该时间段空机位数加**computerTnumber=*预定后该机状态变为*printf("t取消成功!n")getchar()Menu()}*查看等待信息*voidSearchWaiting(){inttime,iFILE*fpprintf("t在()之间输入您要搜索的时间:")scanf("d",time)if(time<||time>){printf("t时间输入错误!n")C语言课程设计printf("t在()之间输入您要搜索的时间:")scanf("d",time)}elseif((fp=fopen("waitlisttxt","r"))==){printf("nCannotopenfile!n")exit()}else{printf("waitlist:numbertelephonenumbern")for(i=!feof(fp)i){fscanf(fp,"ss",waitinumber,waititelephonenumber)}fclose(fp)}for(i=i<i){prione(i)}Menu()}*公共函数*voiddetail(inttime)*此函数功能是实现查找每个时间段空机位总数和空机位号*{inti,j=,k,s=intvfor(i=i<i){if(computerTi==){svj=i}}sumT=sprintf("t目前空置的电脑:dn",sumT)for(k=k<jk)printf("t空置的电脑是:dn",vk)}voidprione(inti)*此函数功能是实现输出等待列表到屏幕*第页共页{printf("ttssn",waitinumber,waititelephonenumber)}

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/24

c语言课程设计 机房机位预定系统 绝对正确,附源代码

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利