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

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

1设计目的机房机位预定系统2任务概述20台机器,编号1到20,从早八点到晚八点。两小时一个时间段,每次可预定一个时间段。功能要求(1)系统以菜单方式工作(2)查询,根据输入时间,输出机位信息。(3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另若用户在非空时间上机,则将用户信息列入等待列表。(4)退出预定,根据输入的时间,机器号撤销该事件的预定(5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。3模块划分机房机位预约系统查询机位预定机位退出预定查询等待信息4主要函数说明及其NS图1主函数INTMAIN{MENU/当前状态函数/}VOIDMENU/主界面/{INTN,WDO{PUTS“\T\T机房机位预约系统\N“PUTS“\T\T菜单\N“C语言课程设计第1页共17页PUTS“\T\T\T1查询某时间段机位状态“/查询某时间段机位状态/PUTS“\T\T\T2预定空机位“/预定空机位/PUTS“\T\T\T3取消预订“/取消预订/PUTS“\T\T\T4查询等待信息“/查询等待信息/PUTS“\T\T\T5退出“/退出/PUTS“\T\T\N“PRINTF“选择菜单号15“SCANF“D“,IFN5{W1GETCHAR}ELSEW0}WHILEW1SWITCHN{CASE1SITUATIONBREAKCASE2BOOKBREAKCASE3CANCELBREAKCASE4SEARCHWAITINGBREAKCASE5EXIT0BREAK}GETCH}2机位查询VOIDSITUATION{INTTIMEPRINTF“输在820范围内的时间“SCANF“D“,IFTIME20C语言课程设计第2页共17页{PRINTF“\T时间输入错误\N“PRINTF“输入在820范围内的时间“SCANF“D“,}DETAILTIME/函数调用/GETCHARMENU}3机位预定VOIDBOOK{INTTIME,I0,X,YFILEFPCHARCPRINTF“在820时间范围内输入你想要预定的时间“SCANF“D“,IFTIME20{PRINTF“\T时间输入错误\N“PRINTF“\T在820时间范围内输入你想要预定的时间“SCANF“D“,}DETAILTIME/函数调用/IFSUMT0{IFFP“WAITLISTTXT“,“A“NULL{PRINTF“\N无法打开文件\N“EXIT0}PRINTF“\N\T请输入你想要预定的机号,并且留下你的电话号码\N“C语言课程设计第3页共17页SCANF“SS“,WAITINUMBER,WAITITELEPHONENUMBERFORI0I0PRINTF“\TTHELATESTFREETIMEISD,D\N“,2I8,2I10BREAK}PRINTF“\T你想要预定吗Y/N“SCANF“S“,GETCHARIFC Y ||C Y {IFFP“WAITLISTTXT“,“R“NULL{PRINTF“\N无法打开文件\N“EXIT0}ELSE{PRINTF“WAITLISTNUMBERTELEPHONENUMBER\N“FORI0FEOFFPI{FSCANFFP,“SS“,}FCLOSEFP}FORI0I20{PRINTF“\T输入时间错误\N“PRINTF“\T在820时间范围内输入你已经预定的时间“SCANF“D“,}ELSE{PRINTF“\T输入你预定的机号“SCANF“D“,}DETAILTIME/SUMT/预定后该时间段空机位数加1//COMPUTERTNUMBER0/预定后该机状态变为0/PRINTF“\T取消成功\N“GETCHARMENU}5查询等待信息VOIDSEARCHWAITING{INTTIME,IFILEFPPRINTF“\TTIMEYOUWANTTOSEARCHBETWEEN820“SCANF“D“,IFTIME20{PRINTF“\TWRONGTIME\N“PRINTF“\TTIMEYOUWANTTOSEARCHBETWEEN820“SCANF“D“,}C语言课程设计第6页共17页ELSEIFFP“WAITLISTTXT“,“R“NULL{PRINTF“\NCANNOTOPENFILE\N“EXIT0}ELSE{PRINTF“WAITLISTNUMBERTELEPHONENUMBER\N“FORI0FEOFFPI{FSCANFFP,“SS“,}FCLOSEFP}FORI0I细节决定成败在学习的过程中,要注意每一个细节,要知道一个分隔符或一个括号都会使整个程序出现错误。要熟练掌握一些经典的结构和方法,如选择排序,递归,递推等,在遇到问题是可直接应用,快速解决问题。要熟悉一些标准数据库,对一些可直接利用的函数就直接利用,没必要重新定义。在设计过程中最好使程序模块化,既便于阅读,也可增加其移植性。熟能生巧。平时应该多加训练,要知道,即使我们能完全看懂一个程序,但要让你自己写出一个时仍是很困难的。它要求你对每一个语句,每一个变量,每一个函数,每一个模块都充分的熟悉,要知道它们的作用,作用域等等。因此只有平时做的多了,到时候才会游刃有余。一个多礼拜中,我有过山穷水尽的困惑;有过柳暗花明的惊喜;一个多礼拜的时间我经历了很多,也收获了很多。与其说它是体力与脑力的作业,不如说它是合作精神和毅力的考验。经过这次课程设计,我不仅学到了很多知识和技能,更重要的是我学会了如何运用所学知识去解决实际问题C语言课程设计第10页共17页附录INCLUDEINCLUDEINCLUDEDEFINEN20DEFINETTIME8/2INTSUM6{0}INTCOMPUTER620{{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}}/该数组表示假设某天某人查询时机房各个时间段机位数情况/VOIDMENUVOIDSITUATIONVOIDBOOKVOIDCANCELVOIDSEARCHWAITINGVOIDDETAILINTTIMEVOIDPRIONEINTISTRUCTWAITLIST/等待列表/{CHARNUMBER3C语言课程设计第11页共17页CHARTELEPHONENUMBER11}WAITNVOIDPRINTONEINTIINTMAIN{MENU/当前状态函数/}VOIDMENU/主界面/{INTN,WDO{PUTS“\T\T机房机位预约系统\N“PUTS“\T\T菜单\N“PUTS“\T\T\T1查询某时间段机位状态“/查询某时间段机位状态/PUTS“\T\T\T2预定空机位“/预定空机位/PUTS

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值