c语言课程设计--机房机位预定系统

合集下载

C语言飞机订票系统课程设计

C语言飞机订票系统课程设计

第一章绪论:项目背景描述1、课程设计性质与目的:C语言程序设计是一门实践性很强的课程。

C程序课程设计是学习C语言程序设计的非常重要的实践环节,通过本课程设计使学生进一步巩固课堂所学,全面熟悉,掌握C语言程序设计的基本方法和技巧,进一步提高编写程序、分析程序及上机操作、调试程序的能力,让学生加深理解,提高动手操作能力及分析问题和解决问题的能力。

2、课程设计包含的知识点:1.掌握并熟练利用C语言的基本数据类型与各种表达式,程序的流程控制语句。

2.掌握数组的基本概念。

掌握一维数组与二维数组的使用,掌握字符数组与字符串的关系。

3.熟练掌握指针、地址、指针类型的概念及其使用。

掌握指针变量的定义与初始化、指针的间接访问和表达式,掌握指针与数组、函数、字符串的联系4.掌握函数的定义,函数的返回值,函数的调用,函数的声明,函数的形式参数和实际参数之间的关系,了解函数的作用区间。

5.掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示。

结构体与指针、函数的关系。

第二章可行性分析一、问题描述:假设某航空公司只有N架X个座位的飞机,每架飞机每天飞行一趟。

通过该系统来实现机票的订购问题。

二、功能要求:1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:起飞地、目的地航班号、航班定额。

2、本系统显示这样的菜单:1.)录入:可以录入航班情况(数据可以存储在一个数据文件中)2.)浏览:航班信息浏览功能需要提供显示操作;1、查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。

(1)输入航班信息(2)输出航班信息(3)查找航班信息(4)订票预约(5)删除定票预约(6)退出系统2、本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,并且它们都允许用户收回其输入。

3、查找航班信息既可按线路查,也可按目的地查。

C语言机房机位预约系统课设(附源码)

C语言机房机位预约系统课设(附源码)

C语言机房机位预约系统课设项目说明本系统基于C语言开发,适用于刚入门的C语言新手项目课设,开发软件采用VC++6.0开发,VS,DEV C++等均可运行。

(书生)项目运行截图代码界面截图完整源码#include<stdio.h>#include<stdlib.h>#include<string.h>#include<time.h>int timeone();/*机位、顾客信息结构体*/typedef struct PCInfo{int State[6]; //机位状态,2小时为一个时间段,8时到20时共6个时间段,0表示有空位,1表示无空位char name[20]; //各时间段运行顾客char sex[30];char tel[20];int year;int month;int day;int start_Time;int end_Time;}PCInfo;PCInfo info[100][100]; //存放100天,20台机位信息int Month[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; /*数组定义每月天数*/int date[12][31]; /*定义日期和机位信息数组*//******************************空白函数模块*****************************/void s_line(int n) /*空行*/{int i;for (i = 1; i <= n; i++)printf("\n");}void space(int n) /*空白*/{int i;for (i = 1; i <= n; i++){printf(" ");}}/******************************清空机位信息模块*****************************/void Empty(){int i,j,k,a;for (i = 0; i <=20 ; i++) /*此循环作用是将0赋给机位状态*/{for (a = 0; a <= 20; a++){for (j = 0; j <= 6; j++){info[i][a].State[j] = 0;}}}for (j = 0; j <= 12; j++) /*此循环作用是将0赋给日期*/{for (k = 0; k <= 31; k++){date[j][k] = 0;}}}/******************************查询机位信息模块*****************************/void Query(){int year, month, day, start_Time, end_Time, time,a=1;int n = 0;int i;while (1){printf("\t\t ********************此处你可以输入时间来查看20个计算机的机位信息********************\n\n");printf("\t\t\t\t 请输入您想要查询的日期时间:(例如:2016/7/22/8-10表示)\n\n");scanf("%d/%d/%d/%d-%d", &year, &month, &day, &start_Time, &end_Time); /*输入查询时间*/if ((start_Time - 8) / 2 >= 0 && (start_Time - 8) / 2 <= 6){time = (start_Time - 8) / 2;}else{printf("输入时间段错误!\n");system("pause");return;}if (month < 1 || month > 12 || day < 0 || day > Month[month])/*如果输入时间不对就回出错,显示出错信息并且给出提示*/ {printf(" 输入错误!\n");printf(" 请选择输入指令:1.重新输入 2.返回菜单\n");scanf("%d", &n);if (n == 2) { break; }if (n == 1){break;}}else break; //未出错则跳出循环,继续执行后面程序}if (n == 2) return;printf("当前您要查询第几次预约的机位信息?(相同日期视为一次)\n\n");scanf("%d", &a);for (i = 1; i <= 20; i++) /*此循环的作用是判断是否有空的机位*/{if (date[month][day] == 1 && info[i][a].State[time] == 1)printf("\t\t\t\t 第%d 号计算机在这段时间已经被预定. \n\n", i);elseprintf("\t\t\t\t 第%d 号计算机在这段时间内没有被预定. \n\n", i);}system("pause"); /*系统暂停,按任意键继续*/}/******************************机位预定模块*****************************/void book_computer() /*此函数的作用是预定机位*/{int year, month, day, start_Time, end_Time, time;int b = 0, m = 0;int n = 0, i = 0, j, k, s,t;while (1){printf("\t\t********************此处你可以输入(年/月/日/XX-XX时间段)来查看是否有空位计算机********************\n\n");printf("\t\t如果有空闲机位将会自动预约,如果无空位,您可以选择最近时间段空位计算机进行预约!\n\n");printf("\t\t\t\t 请输入您想要预约的日期时间:(例如:2016/7/22/8-10表示)\n");scanf("%d/%d/%d/%d-%d",&year,&month, &day, &start_Time, &end_Time);/*输入查询时间*/if ((start_Time - 8) / 2 >= 0 && (start_Time - 8) / 2 <= 6){time = (start_Time - 8) / 2;}else{printf(" 输入时间段错误!\n");}if (month < 1 || month > 12 || day < 0 || day > Month[month])/*检验查询时间是否出错,并给出提示信息*/{printf(" 输入错误!\n");printf(" 请选择输入指令:1.重新输入 2.返回菜单\n");scanf("%d", &n);if (n == 2) break;}else break; //未出错则跳出循环,继续执行后面程序}if (n == 2) return;int a=0;s = timeone(); //该函数负责将不同时间段信息放置在二维数组结构体的不同列printf(" 请选择预约模式:\n");printf(" 1.按顺序预约 2.选择编号预约\n");scanf("%d", &a);if (a == 1) //顺序预约模块{for (i = 1; i <= 20; i++){if (date[month][day] == 0 || info[i][s].State[time] == 0){date[month][day] = 1;info[i][s].State[time] = 1;printf("\t\t ==================第%d 号计算机已经成功预约!==================\n ", i);printf("\t\t ================您可以在预约的时间段内使用计算机!============= \n \n ");printf("\t\t 本次为机位预约模拟系统第%d次预约(不同时期).请留意次数. \n", s);system("pause");return; //有一个符合条件的计算机,则return跳出该函数}}printf("您查询的时间段内无空闲机位!\n\n");printf("是否仍在非空闲时间段内使用电脑:\n\n");printf("1.是(加入等待队列)\n");printf("2.否(查找临近的空位计算机)\n");scanf("%d", &n);if (n == 1) /*如果加入等待列表,就输入相关的姓名,性别,电话和机位号*/{printf("请输入您想要等待的机位号::\n\n");scanf("%d", &m);printf("请输入您的姓名:\n\n");scanf("%s", info[m][s].name, 20);printf("请输入您的性别:(男或女)\n\n");scanf("%s", info[m][s].sex, 30);printf("请输入您的电话号码:\n\n");scanf("%s", info[m][s].tel, 20);info[m][s].year = year;info[m][s].month = month;info[m][s].day = day;info[m][s].start_Time = start_Time;info[m][s].end_Time = end_Time;printf("您已经成功加入等待队列......\n");system("pause");return;}/*通过四层嵌套循环寻找顺次向后推时间段内空机位信息*/for (i = month; i <= 12; i++) //月份{for (j = day; j <= Month[i]; j++) //日期{for (k = 1; k <= 6; k++) //0-6时间段{for (m= 1; m < 20; m++) //1-20号机器{if (date[i][j] == 0 || info[m][s].State[time] == 0){printf("你可以预约到的最近时间段的计算机:第%d 号计算机%d年%d月%d日%d时-%d时\n", s, year, i, j, (2 * k + 6), (2 * k + 8));printf(" 1.预约第%d 号计算机的该段时间\n", s);printf(" 2.不预约并退出\n");printf(" 请输入1&2进行选择: \n");scanf("%d", &n);if (n == 1){printf("\t\t ==================第%d 号计算机已经成功预约!==================\n ", m);printf("\t\t ================您可以在预约的时间段内使用计算机!============= \n \n ");printf("\t\t 本次为机位预约模拟系统第%d次预约(不同时期).请留意次数. \n", s);date[i][j] = 1; /*将机位状态调整为1*/info[m][s].State[time] = 1;}system("pause"); /*系统暂停,按任意键继续*/return;}}}}}}if (a == 2) /*选择编号进行预约*/{printf("请输入您要预约的计算机机位号:\n");scanf("%d", &i);if (date[month][day] == 0 || info[i][s].State[time] == 0){date[month][day] = 1;info[i][s].State[time] = 1;printf("\t\t ==================第%d 号计算机已经成功预约!==================\n ", i);printf("\t\t ================您可以在预约的时间段内使用计算机!============= \n \n ");printf("\t\t 本次为机位预约模拟系统第%d次预约(不同时期).请留意次数. \n", s);system("pause");}else{printf("第%d号机位已经被他人预约!",i); /*重复之前等待信息载入代码*/printf("是否仍在非空闲时间段内使用电脑:\n");printf("1.是(加入等待队列)\n");printf("2.否(查找临近的空位计算机)\n");scanf("%d", &n);if (n == 1) /*如果预定机位,就输入相关的姓名,性别,时间段*/{printf("请输入您想要等待的机位号::\n\n");scanf("%d", &b);printf("请输入您的姓名:\n\n");scanf("%s", info[b][s].name,30);printf("请输入您的性别:(男或女)\n\n");scanf("%s", info[b][s].sex, 30);printf("请输入您的电话号码:\n\n");scanf("%s", info[b][s].tel, 20);info[b][s].year = year;info[b][s].month = month;info[b][s].day = day;info[b][s].start_Time = start_Time;info[b][s].end_Time = end_Time;printf("您已经成功加入等待队列......\n");system("pause");return;}for (i = month; i <= 12; i++) //月份{for (j = day; j <= Month[i]; j++) //日期{for (k = 1; k <= 6; k++) //0-6时间段{for (t = 1; t < 20; t++) //1-20号机器{if (date[i][j] == 0 || info[t][s].State[time] == 0){printf("你可以预约到的最近时间段的计算机:第%d号计算机%d年%d月%d日%d时-%d时\n\n", t, year, i, j, (2 * k + 6), (2 * k + 8));printf(" 1.预约第%d 号计算机的该段时间\n\n", t);printf(" 2.不预约并退出\n\n");printf(" 请输入1&2进行选择: \n\n");scanf("%d", &n);if (n == 1){printf("****************第%d 号计算机已经成功预约!**************** \n ", t);printf("***************您可以在该时间段内使用计算机!************** \n ");date[i][j] = 1;info[t][s].State[time] = 1;}system("pause");return;}}}}}}}}/******************************取消预约模块*****************************/void book_exit() /*此函数的作用是退出预定*/ {int year,month, day, start_Time, end_Time,time,s=0;int n = 0;while (1){printf("\n在此处您可以取消预约已预订的计算机\n");system("pause");printf("\n请输入您想要取消预约的日期时间:(例如:2016/7/22/8-10表示)\n");scanf("%d/%d/%d/%d-%d", &year,&month, &day, &start_Time, &end_Time);if ((start_Time - 8) / 2 >= 0 && (start_Time - 8) / 2 <= 6){time = (start_Time - 8) / 2;}else{printf("\n输入时间段错误!\n");system("pause");return;}if (month < 1 || month > 12 || day < 0 || day > Month[month]){printf(" 输入错误!\n");printf(" 请选择输入指令:1.重新输入 2.返回菜单\n");scanf("%d", &n);if (n == 2) break;}else break;}if (n == 2) return;printf("请输入您想要取消预约的计算机编号:.\n");scanf("%d", &n);printf("您要取消预约第几次预约的计算机机位:.\n");scanf("%d", &s);if (info[n][s].State[time] == 1){info[n][s].State[time] = 0;printf("第%d号机位取消预约成功!\n",n);}else{printf("在该段时间内您没有预约任何编号的计算机!\n");}system("pause");}/******************************查询等待信息模块*****************************/void Look_wait() /*此函数的作用是查询等待机位的人,并按序显示*/{int m;int year, month, day, start_Time, end_Time,s;printf("请输入您想要查询的日期时间:(例如:2016/7/22/8-10表示)\n\n");scanf("%d/%d/%d/%d-%d", &year, &month, &day, &start_Time, &end_Time);printf("请输入您要查询等待信息的机位号:\n\n");scanf("%d", &m);printf("正在查询,请稍候~\n\n");printf("第%d号计算机:\n\n", m);printf(" 您准备查找第几次预约的信息?\n\n ");scanf("%d", &s);printf("姓名:%s\n\n", info[m][s].name);printf("性别:%s\n\n", info[m][s].sex);printf("联系方式:%s\n\n", info[m][s].tel);printf("该成员于%d年%d月%d日加入本台计算机的等待队列\n\n", info[m][s].year, info[m][s].month, info[m][s].day);system("pause");return;}/******************************预约次数(不同时期)判别模块*****************************/int timeone() /*为了便于对不同预约时间相同机位信息判别加设*/ {int n=0,k;int s = 1;printf("如果在本系统首次预约请选择1 ,再次预约请选择2\n\n");scanf("%d", &n);if (n == 1){return s;}if (n == 2){int i=0;printf("预约日期与前几次是否相同? 1.相同 2.不同\n\n");scanf("%d",& i);if (i == 1){s = 0;printf("预约日期与第几次相同?\n");scanf("%d", &k);s = s + k;return s;}if (i == 2){s = 0;printf("本次为第几次预约(不同时期)?\n");scanf("%d", &k);s = s + k;printf("本次为机位预约模拟系统第%d次预约(不同时期).请留意次数. \n",s);return s;}}}/**********************************主函数模块*************************************/main(){Empty();int num;while (1){system("cls"); /* 清除文本模式窗口*/s_line(4);space(40);printf("********************主菜单********************\n"); /*使用空行函数排版*/s_line(2);space(55);printf("1.查询机位信息\n");s_line(1);space(55);printf("2.预约机位\n");s_line(1);space(55);printf("3.取消机位预约\n");s_line(1);space(55);printf("4.查询等待人员信息\n");s_line(1);space(55);printf("5.退出系统\n");s_line(2);space(40);printf("********************************************\n\n");printf("请输入1~5进行功能操作: \n");scanf("%d", &num); /*输入数字进行相应的函数的调用*/if (num == 5) break;switch (num){case 1:Query();break;case 2:book_computer();break;case 3:book_exit();break;case 4:Look_wait();break;default:printf("输入错误!\n");system("pause");exit(0);}}}。

机房预定位系统(可编辑修改word版)

机房预定位系统(可编辑修改word版)

合肥学院计算机科学与技术系课程设计报告20 12 ~20 13 学年第一学期课程 C 语言课程设计课程设计题目机房机位预订系统学生姓名学号1204032015专业班级网络工程(2)班指导教师20 13 年 1 月目录一、课程设计目的 (2)二、课程设计名称及内容 (2)三、对任务和要求的分析 (2)四.详细设计及实现 (3)五、源代码 (18)六、程序测试 (24)七、总结 (25)一、课程设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。

通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《C 语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。

(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

(3)利用所学知识,开发小型应用系统,掌握运用 C 语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。

(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。

(5)掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。

(6)熟练掌握 C 语言的基本语法,灵活运用各种数据类型。

(7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。

二、课程设计名称及内容课程设计名称:机房机位预定系统设计内容:设计一个机房机位预定系统,该系统要求对机房电脑机位进行管理和维护。

20 台机器,从早八点到晚八点,每两个小时一个时间段.任务和要求:20 台机器,编号 1 到 20,从早八点到晚八点。

两小时一个时间段,每次可预定一个时间段。

设计一个机房机位预定系统,通过该系统实现对机房机位的预定管理。

三、对任务和要求的分析可行研究阶段的目标是:使工作人员从繁琐的机位管理工作中解放出来;提高工作质量,使供需双方都获得满意的结果;促进报表,提高工作效率。

c语言实习报告机房机位预约模拟

c语言实习报告机房机位预约模拟

c语言实习报告机房机位预约模拟C语言课程设计院系:工程学院姓名:杨文和学号:20051003679班号:05205222指导教师:王老师日期:2007年9月机房机位预约模拟一.题目要求20台机器,从早八点到晚八点,每两个小时一个时间段.需要实现的功能:(1)查询,根据输入的时间,输出机位信息.(2)机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则提供最近空机时间段.另:若用户要求在非空时间上机,则将用户信息插入该时间段的等待列表.(3)退出预定,根据输入的时间,撤消该时间的饿预定.(4)查询是否有等待信息,若有则按顺序显示联系方式,若无则显示提示信息.二.需求分析根据题目要求,需要提供机位信息和预约信息,应该用链表来存储,应提供指针的操作:在程序中,需要查询是否有空机位和等待者和处理预约和取消预约问题,应提供查询,显示,预定,删除,修改等操作;另外还要提供键盘式选择菜单实现功能选择.三.总体设计现在分析整个一下整个系统,根据上面的需求分析,可以将这个系统的设计分为如下六大模块:查询我的预约状态,查询空位,预约,取消预约,排队,查询等待信息.机房机位模拟系统我的预约状态查询空位预约取消预约排队查询等带信息四.详细设计1.宏定义#include<stdio.h>#include<stdlib.h>#include<string.h>#define LENGTH 6/*总时段数*/#define MAX 2#define S(r) (r-8)/2/*计算在哪个时段数*/struct node{int locat;char data[10];/*学号,假设为联系方式*/struct node *next;};struct node *head;struct cell{int CNum;/*连接在该时段头结点的总机器数目*/struct node *first;/*指向整个队列的开头*/struct node *middle;/*指向等待预约队列*/struct node *last;/*指向整个队列的结尾*/}TimeQueue[LENGTH];2..主函数主函数一般设计的比较简洁,只提供输入,处理和输出部分的函数调用.其中个功能模块用菜单方式选择。

机房上机C语言课程设计

机房上机C语言课程设计

机房上机C语言课程设计一、课程目标知识目标:1. 理解C语言的基本语法和程序结构;2. 学会使用C语言进行变量定义、数据类型转换和运算符的使用;3. 掌握C语言中的控制结构,包括顺序结构、分支结构和循环结构;4. 熟悉数组、函数和指针在C语言中的应用;5. 了解C语言中的文件操作和简单的输入输出处理。

技能目标:1. 能够独立编写简单的C语言程序,实现基础算法和数据处理;2. 能够运用控制结构进行程序流程的控制;3. 能够运用数组和函数对数据进行组织和模块化编程;4. 能够运用指针解决特定问题,提高程序性能;5. 能够进行简单的文件操作,读写文件数据。

情感态度价值观目标:1. 培养学生对编程的兴趣和热情,提高自主学习编程的积极性;2. 培养学生良好的编程习惯,注重代码规范和逻辑性;3. 培养学生面对编程问题时,具备解决问题的耐心和毅力;4. 培养学生团队合作意识,学会与他人共同分析问题和解决问题;5. 培养学生遵守机房上机规定,爱护设备,维护机房环境。

课程性质:本课程为实践性较强的学科,通过机房上机操作,让学生在实际编程中掌握C语言的基本知识和技能。

学生特点:学生具备一定的计算机操作基础,对编程有一定兴趣,但个体差异较大,需针对不同学生进行个性化教学。

教学要求:结合学生特点,采用任务驱动和案例教学相结合的方法,注重理论与实践相结合,提高学生的动手实践能力。

在教学过程中,关注学生个体差异,提供差异化指导,确保课程目标的达成。

通过课程学习,使学生能够具备基本的C语言编程能力,为后续学习打下坚实基础。

二、教学内容本课程教学内容主要包括以下几部分:1. C语言概述:介绍C语言的发展历史、特点和应用领域,使学生了解C语言的重要性。

2. 基本语法和数据类型:讲解变量定义、数据类型、常量和变量、运算符和表达式等基本概念。

3. 控制结构:- 顺序结构:介绍C语言程序的基本结构;- 分支结构:讲解if语句、switch语句及其应用;- 循环结构:讲解for循环、while循环和do-while循环的用法。

c语言机房机位预定系统

c语言机房机位预定系统

课程设计说明书学院、系:专业:学生姓名:学号:设计题目:学生考勤系统起迄日期:指导教师:日期: 2017年5月11日1 设计目的模拟考勤过程,根据考勤评分给出考勤分数。

2 任务概述1>菜单界面:选择操作项目。

2>信息录入:输入学生身份信息与考勤次数,并存入文件。

3>修改功能:通过姓名或学号查找,对学生的考勤次数进行修改。

4>查询功能:通过姓名或学好查找,输出学生信息。

5>评分功能:设定标准考勤次数,按照考勤次数占标准考勤次数的百分比给分。

3 模块划分图1,模块划分图4 主要函数说明及其流程图main主函数:图2,主函数主函数:设计了初始界面,使程序的界面友好化。

给用户选择操作项目,让用户对程序的功能一目了然。

调用功能函数,完成设计目的。

图3,input()函数录入函数:通过使用循环体和判断语句,可实现重复输入学生数据和是否确定输入的功能。

使得用户操作起来更加自如。

图4,change()函数修改函数:通过学号和姓名两种方式可以查询到学生的信息,然后将考勤次数重新赋值并写入文件。

这样可以避免出现错误无法修改以至于重新输入的情况。

search()函数:图5,search()函数查询函数:通过学号和姓名两种方式可以选择查找方式,将文件的内容读出,可以看到学生的身份信息和修改后的考勤次数。

确定该生信息存在。

evaluate()函数:图6,evaluate()函数评分函数:输入标准考勤次数,将实际考勤次数占标准考勤次数的百分比作为最后分数。

5 程序运行数据及其结果姓名:张三学号:1性别:男考勤次数:5修改后考勤次数:10标准考勤次数:10考勤分数:1006 课程设计心得通过编写这次C语言课程设计,对C语言的基本语法,选择,循环等结构有了更深刻的认识。

深入地练习了函数的调用和文件的读写方法,熟悉了结构体的使用,和一些算法的运用。

在整个设计的过程中,遇到了很多问题。

当出现语法错误的时候,首先自己看书,看书上的语法和在例题中的应用,从而对该语法的记忆进一步加深。

机房机位预约模拟系统—C语言课程设计

机房机位预约模拟系统—C语言课程设计

机房机位预约模拟系统—C语言课程设计本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。

一.题目要求20台机器,从早八点到晚八点,每两个小时一个时间段.需要实现的功能:(1)查询,根据输入的时间,输出机位信息.(2)机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则提供最近空机时间段.另:若用户要求在非空时间上机,则将用户信息插入该时间段的等待列表.(3)退出预定,根据输入的时间,撤消该时间的预定.二.需求分析根据题目要求,在程序中应实现查询,机位预定,插入等待列表,退出预定,查询等待信息等功能。

还应提供键盘式选择菜单实现功能选择。

而等待信息放在文件里,所以在相关的模块应提供文件的输入、输出操作。

三.总体设计根据上面的需求分析,将这个系统的设计分为下面4个模块:4.详细设计本报告内容全面翔实质量上乘,程序运行稳定质量高,是获得优秀成绩评定的报告,可以充分满足上机等要求,欢迎交流!本专辑为华中某985重点高校的整个大二班级30份暑期C语言实习报告,涵盖了C语言实习题库的近乎全部内容。

1.预处理命令及函数声明#include<tdio.h>#include<tdlib.h>#include<tring.h>#defineN20 {1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1}};/某该数组表示假设某天某人查询时机房各个时间段机位数情况某/voidMenu();voidSituation();voidBook();voidCancel();voidSearchWaiting();voidE某it();voidprintf_one(inti);tructwaitlit{charnumber[3];chartelephonenumber[12];}wait[N];2.主函数主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。

c语言飞机订票系统课程设计

c语言飞机订票系统课程设计

c语言飞机订票系统课程设计一、课程目标知识目标:1. 让学生掌握C语言的基本语法和程序结构,特别是数组、结构体和函数的应用。

2. 使学生了解飞机订票系统的基本原理和功能需求,掌握相关数据结构和算法。

3. 帮助学生理解文件操作在飞机订票系统中的应用,学会读写数据文件。

技能目标:1. 培养学生运用C语言设计小型系统的能力,特别是模块化编程和代码组织能力。

2. 提高学生分析问题、解决问题的能力,学会运用所学知识解决实际订票问题。

3. 培养学生的团队协作能力,通过分组合作完成课程设计。

情感态度价值观目标:1. 激发学生对编程的兴趣,培养计算机编程的思维习惯。

2. 培养学生认真负责、严谨细致的学习态度,注重代码规范和程序调试。

3. 使学生认识到计算机技术在生活中的应用,增强对信息技术的认识和尊重。

课程性质:本课程设计属于实践性课程,以项目为导向,注重培养学生的实际操作能力和团队协作能力。

学生特点:学生已具备C语言基础知识,有一定的编程基础,但缺乏实际项目经验。

教学要求:教师需引导学生掌握飞机订票系统的基本原理,注重培养学生的编程实践能力,关注学生在课程设计过程中的情感态度变化,及时给予指导和鼓励。

在教学过程中,将课程目标分解为具体的学习成果,便于后续的教学设计和评估。

二、教学内容1. C语言基础回顾:复习数组、结构体、函数等基本概念和用法,确保学生具备扎实的编程基础。

相关教材章节:第3章 数组,第4章 结构体和联合,第6章 函数。

2. 飞机订票系统需求分析:讲解飞机订票系统的基本功能需求,如用户注册、航班查询、订票、退票等。

相关教材章节:第12章 项目设计。

3. 数据结构和算法设计:介绍飞机订票系统中涉及的数据结构(如链表、树等)和算法(如排序、查找等)。

相关教材章节:第7章 数据结构,第8章 算法。

4. C语言编程实践:指导学生运用所学知识编写飞机订票系统的各个功能模块。

相关教材章节:第9章 指针,第10章 文件操作。

C语言程序设计课程设计飞机订票系统的设计

C语言程序设计课程设计飞机订票系统的设计

一、设计内容与设计要求一、设计内容:飞机订票系统1.1问题描述:假设某航空公司只有M架N个座位的飞机,每架飞机每天飞行一趟。

通过该系统来实现机票的订购问题。

1.2功能要求:1)、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:起飞地、目的地航班号、座次号码、座次订出与否标记、订座者的姓名和订座者的身份证号码。

2)、本系统显示这样的菜单:(1)输入航班信息(2)输出航班信息(3)查找航班信息a.显示空座的数量b.显示空座的信息c.显示已订座的信息d.起飞时间(4)订票预约(5)删除定票预约(6)退出系统1、本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,并且它们都允许用户收回其输入。

2、查找航班信息既可按线路查,也可按目的地查。

4、在两次运行之间,数据被保存于一个文件里,当本程序重新开始的时候,它首先从该文件读入数据1.3 算法提示:1、数据结构:结构体类型数组2、数据库结构:下表构成该系统的基本数据库。

1.4测试数据:每架飞机的座位N=12,M=51.5 其它:对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。

二、设计要求1).设计正确,方案合理。

2).界面友好,使用方便。

3).程序精炼,结构清晰。

4).设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。

5).上机演示。

二、进度安排第 18 周星期一上午课题讲解查阅资料星期一下午系统需求分析模块设计星期二上午算法、数据结构设计主程序设计星期二下午各功能模块程序设计修改完善程序星期五下午各功能模块程序设计修改完善程序第 19 周时间待定星期五下午答辩目录一、需求分析 (4)1、程序的功能 (4)2、输入输出的要求 (6)二、概要设计 (9)三、详细设计 (11)1、数据类型 (11)2、模块分析 (12)3、函数的调用关系 (12)四、调试分析以及设计体会 (13)1、测试数据 (13)2、调试分析 (13)3、心得体会 (14)五、使用说明 (15)六、附录 (17)1、参考书目 (17)2、源程序清单(带注释) (17)七、计算机科学与技术系课程设计评分表 (40)一、需求分析1.1 系统功能需求1.1.1程序的功能1.系统管理员功能:1)录入和修改航班和机票的信息:输入航班号,输入起飞港,途径港,到达港,录入起飞时间,到达时间,飞行总共用时,可随时修改航班信息2)输出航班的信息:输入航班号便可输出之前输入的航班信息2.客户需要的功能:1)查找航班信息:a.显示空座的数量b.显示空座的信息c.显示已订座的信息d.起飞时间2)订票预约:查询航班信息后,提前订票预约需要的飞机票,3)删除定票预约4)退出系统1.1.2 主要模块流程图1.1.3 功能描述1.1.4各功能模块的功能描述(1)显示菜单函数:FLIGHT fltlist[5]; PASSENGER psglist[5][12]; ReadFlight(fltlist);PASSENGER* k;k=(PASSENGER*) psglist; ReadPassenger(k);用户可以根据菜单提示,选择相关菜单。

C语言课程设计报告——机房管理系统

C语言课程设计报告——机房管理系统

目录一.设计内容二.设计要求(1)题目要求(2)输入/输出要求三.整体设计思路四.流程图(1)层次模块图(2)空机号查询N—S图五.主函数及功能菜单说明六.各模块简要说明七.心得体会附录一.源程序代码二.各模块运行结果截图一:设计内容题目:机房管理系统设计机房管理系统,要求由菜单进行管理。

(1)上机前先检查是否有空机位,有则将其显示出,无则提示无空位。

(2)还有空位置时,运行进入,并记录下位置号以及序号,与上机时间。

(3)可对上机者上机信息进行查询,修改与删除。

(4)设计相关模块,显示上机者的上机费用。

(5)显示所有上机者的上机信息。

二:设计要求题目要求:(1)为各项操作功能设计一个菜单。

应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。

(2)要求以上功能分别用函数实现。

输入/输出要求:(1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。

进入每个操作后,根据程序的提示输入相应的信息。

(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。

三:整体设计思路在设计该程序时,要将系统的不同功能分成各个模块。

每个模块由一个函数定义,整个程序由函数调用来实现。

每个模块是一个子函数,由一个主函数调用各个子函数。

在定义子函数时,根据不同的功能选择不同的语句,如需要使用循环时可以用“do……while”来实现;需要使用选择时可以用“switch”或“if”语句来实现等。

设计以菜单方式工作的机房管理系统,主要包括六个模块,分别是上机者信息输入模块,上机者信息查询模块,上机者信息修改模块,上机者信息删除模块,上机者上机费用计算模块,所有上机者信息显示模块。

每个模块由组员相应完成。

另外考虑到机房的特殊要求,新增一个上课模式,此模式功能是将所有机子开启,统一赋上上机者相关信息,避免管理员一个一个的给机子输入信息。

本系统程序关键在于一个空机位的检索,亦是本程序核心之所在。

c课程设计机房管理系统(源代码)

c课程设计机房管理系统(源代码)

c课程设计机房管理系统(源代码)在进行C课程设计的过程中,设计一个机房管理系统是非常重要的一步。

机房管理系统的设计可以帮助学校或企业更好地管理机房资源,提高机房的利用率,保证机房的安全和稳定运行。

本文将从系统的需求分析、系统的设计、源代码实现等多个方面,详细介绍机房管理系统的设计过程。

一、系统需求分析机房管理系统的需求主要包括以下几个方面:1.1 机房资源管理:包括机房的基本信息管理(如机房编号、机房名称、机房位置等),机房设备的管理(如服务器、交换机等设备的信息管理)。

1.2 设备借还管理:包括设备借出、归还的记录管理,借出设备的有效期管理等。

1.3 机房安全管理:包括机房门禁的管理,设备的报警和监控等。

1.4 机房使用统计:包括机房的使用情况统计、设备的使用情况统计等。

1.5 系统权限管理:包括管理员权限管理、用户权限管理等。

二、系统设计2.1 数据库设计:根据系统需求,设计合适的数据库表结构来存储机房和设备的信息,设备借还记录等。

2.2 界面设计:设计用户友好的界面,方便用户进行相关操作,提高系统的易用性。

2.3 功能模块设计:根据系统需求,将系统功能进行模块化设计,并分别实现各个功能模块。

2.4 系统架构设计:设计合适的系统架构,包括前端界面与后端逻辑的交互方式,数据传输方式等。

三、源代码实现基于上述系统设计,我们使用C语言来实现机房管理系统的源代码。

以下是一个简单的示例:```c#include <stdio.h>// 定义机房结构体struct Classroom {int number;char name[100];char location[100];};// 定义设备结构体struct Device {int id;char name[100];char type[100];};// 定义设备借还记录结构体struct BorrowRecord {int deviceId;char borrower[100];char returnDate[100];};// 机房资源管理函数void manageClassroom() {// 实现机房资源管理功能的代码逻辑}// 设备借还管理函数void manageDeviceBorrow() {// 实现设备借还管理功能的代码逻辑}// 机房安全管理函数void manageClassroomSecurity() {// 实现机房安全管理功能的代码逻辑}// 机房使用统计函数void manageClassroomUsage() {// 实现机房使用统计功能的代码逻辑}// 系统权限管理函数void manageSystemPermission() {// 实现系统权限管理功能的代码逻辑}int main() {int choice;while(1) {printf("---- 机房管理系统 ----\n"); printf("1. 机房资源管理\n");printf("2. 设备借还管理\n");printf("3. 机房安全管理\n");printf("4. 机房使用统计\n");printf("5. 系统权限管理\n");printf("0. 退出系统\n");printf("请输入您的选择:");scanf("%d", &choice);switch(choice) {case 1:manageClassroom();break;case 2:manageDeviceBorrow();break;case 3:manageClassroomSecurity(); break;case 4:manageClassroomUsage(); break;case 5:manageSystemPermission();break;case 0:printf("感谢使用,再见!\n");return 0;default:printf("输入错误,请重新输入!\n");}}return 0;}```以上是一个简单的机房管理系统的C语言源代码示例,包含了机房资源管理、设备借还管理、机房安全管理、机房使用统计、系统权限管理等功能。

课程设计 机房机位预约

课程设计  机房机位预约

《C 课程设计》上机报告院系:班级:姓名:学号:题目:25.机房机位预约模拟成绩:二O 一O 年七月25.机房机位预约模拟[要求]20台机器,从早8点到晚8点,每两个小时一个时间段。

需要实现功能:(1)查询,根据输入时间,输出机位信息。

(2)机位预定,根据输入的日期和时间段查询是否有空机位,若有则预约,若无则提供最近空机时间段。

另:若用户要求在非空时间上机,则将用户信息输入该时间段的等待列表。

(3)退出预定,根据输入的时间,撤销该时间的预订。

(4)查询是否有等待信息,若有则按顺序显示联系方式,若无则显示提示信息。

一.需求分析根据题目要求,程序应该提供“日期时间,用户信息”的输入、输出操作;在程序中需要浏览机位信息和用户等待信息,应提供显示、查找、排序等功能;通过文件的删除操作删除撤销的时间预定;提供文件的添加操作来增加新的用户预约信息;另外还需要提供键盘式选择菜单以实现功能选择。

二.总体设计根据以上的需求分析,可以将这个系统的设计分为以下模块:三.详细设计1.定义#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <string.h>#define SIZE 20void Display();void Search();void Book();void Quit();void Wait();void SearchWait();void Exit(); /*定义的一些相关的函数:查询,预约,退订,查询等待,退出*/ int computernum[12]={20,18,0,15,10,8,12,4,10,1,1,0};/*自己定义的每个时间段剩下的电脑数*/struct waitlist{char number[3];char phonenumber[12];}wait[SIZE];/*一个结构体,等待的序号和联系方式,共20台电脑的,只定义了20个等待的列表*/2.主函数及主界面主函数提供输入,处理和输出部分的函数调用.其功能模块用菜单方式选择。

C语言飞机订票系统课程设计报告

C语言飞机订票系统课程设计报告

第一章绪论1.1:项目背景描述1、课程设计性质与目的:C语言程序设计是一门实践性很强的课程。

C程序课程设计是学习C语言程序设计的非常重要的实践环节,通过本课程设计使学生进一步巩固课堂所学,全面熟悉,掌握C语言程序设计的基本方法和技巧,进一步提高编写程序、分析程序及上机操作、调试程序的能力,让学生加深理解,提高动手操作能力及分析问题和解决问题的能力。

2、课程设计包含的知识点:1.掌握并熟练利用C语言的基本数据类型与各种表达式,程序的流程控制语句。

2.掌握数组的基本概念。

掌握一维数组与二维数组的使用,掌握字符数组与字符串的关系。

3.熟练掌握指针、地址、指针类型的概念及其使用。

掌握指针变量的定义与初始化、指针的间接访问和表达式,掌握指针与数组、函数、字符串的联系4.掌握函数的定义,函数的返回值,函数的调用,函数的声明,函数的形式参数和实际参数之间的关系,了解函数的作用区间。

5.掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示。

结构体与指针、函数的关系。

第二章可行性分析一、问题描述:假设某航空公司只有N架X个座位的飞机,每架飞机每天飞行一趟。

通过该系统来实现机票的订购问题。

二、功能要求:1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:起飞地、目的地航班号、航班定额。

2、本系统显示这样的菜单:1.)录入:可以录入航班情况(数据可以存储在一个数据文件中)2.)浏览:航班信息浏览功能需要提供显示操作;1、查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。

(1)输入航班信息(2)输出航班信息(3)查找航班信息(4)订票预约(5)删除定票预约(6)退出系统2、本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,并且它们都允许用户收回其输入。

c语言课程设计--飞机订票系统

c语言课程设计--飞机订票系统

c语言课程设计–飞机订票系统一、教学目标本课程的教学目标是使学生掌握C语言编程的基本知识,能够使用C语言设计并实现一个简单的飞机订票系统。

具体分为以下三个部分:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等编程基础。

2.技能目标:学生能够运用C语言进行程序设计,解决实际问题,如设计飞机订票系统的各个功能模块。

3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生解决问题的能力,培养学生的团队合作精神。

二、教学内容教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等编程基础,以及如何使用C语言设计并实现一个简单的飞机订票系统。

具体安排如下:1.C语言基本语法和数据类型2.C语言运算符和控制结构3.C语言函数和数组4.C语言指针和字符串5.飞机订票系统的设计和实现三、教学方法为了达到课程目标,我们将采用以下教学方法:1.讲授法:用于讲解C语言的基本语法、数据类型、运算符、控制结构、函数等编程基础。

2.案例分析法:通过分析实际案例,让学生了解如何使用C语言设计并实现飞机订票系统。

3.实验法:让学生动手编写代码,实现飞机订票系统的各个功能模块。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C程序设计语言》或《C语言程序设计》2.参考书:《C Primer Plus》或《C和指针》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、网络环境五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过课堂参与、提问、小组讨论等环节,评估学生的学习态度和积极性。

2.作业:布置课后编程作业,评估学生对C语言知识的掌握程度及编程能力。

3.考试:期末进行闭卷考试,评估学生对C语言编程基础知识的掌握情况。

4.项目实践:要求学生分组设计并实现一个简单的飞机订票系统,评估学生的实际编程能力和团队协作能力。

机房预定位系统

机房预定位系统

合肥学院计算机科学与技术系课程设计报告20 12 ~20 13 学年第一学期课程C语言课程设计课程设计题目机房机位预订系统学生姓名学号1204032015专业班级网络工程(2)班指导教师20 13 年 1 月目录一、课程设计目的 (2)二、课程设计名称及内容 (2)三、对任务和要求的分析 (2)四.详细设计及实现 (3)五、源代码 (18)六、程序测试 (24)七、总结 (25)一、课程设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。

通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《C语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。

(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

(3)利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。

(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。

(5)掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。

(6)熟练掌握C语言的基本语法,灵活运用各种数据类型。

(7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。

二、课程设计名称及内容课程设计名称:机房机位预定系统设计内容:设计一个机房机位预定系统,该系统要求对机房电脑机位进行管理和维护。

20台机器,从早八点到晚八点,每两个小时一个时间段.任务和要求:20台机器,编号1到20,从早八点到晚八点。

两小时一个时间段,每次可预定一个时间段。

设计一个机房机位预定系统,通过该系统实现对机房机位的预定管理。

三、对任务和要求的分析可行研究阶段的目标是:使工作人员从繁琐的机位管理工作中解放出来;提高工作质量,使供需双方都获得满意的结果;促进报表,提高工作效率。

C语言-机房机位预约程序

C语言-机房机位预约程序

C语言课程设计题目:机房机位预约设计者:费小丽专业:资源勘查工程班号:021091—07指导老师:童恒建所属院系:资源学院2011年1月6日1题目与要求1.1 题目:20台机器,从早8点到晚8点,每两小时一个时间段。

1.2 本系统涉及的知识点:数组,函数,文件,宏定义,循环,结构体,选择结构。

1.3 功能要求:(1)查询。

根据输入时间输出机位信息。

(2)机位预定。

根据输入的时间段查询是否有空机位,若有则预约,若无则提供最近空机时间段。

另外,若用户要求在非空时间上机,则将用户信息插入该时间段的等待列表。

(3)退出预定。

根据输入的时间撤销该时间的预定。

(4)查询是否有等待信息。

若有则按顺序显示联系方式,若无则显示提示信息。

2功能实现设计主菜单设计如下:1>查询机位信息.2>机位预定.3>退出预定.4>查询等待信息.3模块流程图1 主函数流程图:2 查询机位信息流程图:3 机位预定流程图:4 机位退订流程图:5 查询等待信息流程图5 程序代码设计1)主函数主函数的设计简洁,只提供加输入,排序,统计和显示等函数的调用和加载功能。

其中各功能模块用菜单方式选择。

并将main()函数体内的界面选择部分部分语句单独抽出来做一个独立的函数,目的在于系统执行完每部分功能模块后能更方便返回到系统界面。

menu()函数从主函数中独立出来后,表面的主函数只是起一个程序开始的作用,其主要功能被独立出来的被调用的menu()函数所取代。

menu()函数主要完成菜单的输出和被选择的项目的输入和相应执行函数的调用。

[程序]#include "stdio.h"#include "stdlib.h"void ReadInformation();void Search();void ComputerPrecontract();void OutPrecontract();void SearchWait();void Menu();int a[20][6];void main(){ReadInformation();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");printf("***************************************\n");printf("请输入功能模块(1~5):[ ]\b\b");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()函数继续选择并执行其他操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c语言课程设计--机房机位预定系统1 设计目的机房机位预定系统2 任务概述20台机器,编号1到20,从早八点到晚八点。

两小时一个时间段,每次可预定一个时间段。

功能要求:(1)系统以菜单方式工作(2)查询,根据输入时间,输出机位信息。

(3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。

(4)退出预定,根据输入的时间,机器号撤销该事件的预定!(5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。

.........3 模块划分4 主要函数说明及其N-S图1. 主函数:int main(){Menu(); /*当前状态函数*/}void Menu() /*主界面*/{int n,w;do{puts("\t\t****************机房机位预约系统*******************\n");puts("\t\t*************************菜单***************************\n");puts("\t\t\t 1.查询某时间段机位状态"); /*查询某时间段机位状态*/puts("\t\t\t 2.预定空机位"); /*预定空机位*/puts("\t\t\t 3.取消预订"); /*取消预订*/puts("\t\t\t 4.查询等待信息"); /*查询等待信息*/puts("\t\t\t 5.退出"); /*退出*/puts("\t\t****************************************** **************\n");printf("选择菜单号(1-5):");scanf("%d",&n);if(n<1||n>5){w=1;getchar();}elsew=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;}getch();}2.机位查询:void Situation(){int time;printf("输在(8-20)范围内的时间:");scanf("%d",&time);if(time<8||time>20){printf("\t时间输入错误!\n");printf("输入在(8-20)范围内的时间:");scanf("%d",&time);}detail(time); /*函数调用*/getchar();Menu();}3.机位预定:void Book(){int time,i=0,x,y;FILE *fp;char c;printf("在(8-20)时间范围内输入你想要预定的时间:");scanf("%d",&time);if(time<8||time>20){printf("\t时间输入错误!\n");printf("\t在(8-20)时间范围内输入你想要预定的时间:");scanf("%d",&time);}detail(time); /*函数调用*/if(sum[T]>0){ if((fp=fopen("waitlist.txt","a"))==NUL L){printf("\n无法打开文件!\n");exit(0);}printf("\n\t请输入你想要预定的机号,并且留下你的电话号码!:\n");scanf("%s %s",wait[i].number,wait[i].teleph onenumber);for(i=0;i<1;i++)fwrite(&wait[i],sizeof(struct waitlist),1,fp);fclose(fp);/*向文本文档添加一个结构体单元*/printf("\t再次输入你想要预定的时间!\n");scanf("%d",&x);/*sum[T]--; / *预定后该时间段空机位数减1*//*computer[T][x]=1; / *预定后该机状态变为1*/printf("\t预订成功!\n");getchar();Menu();}else{printf("这是在这个时间段内未预定的电脑!\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;}printf("\t你想要预定吗?:y/n?");scanf("%s",&c);getchar();if(c=='Y'||c=='y'){if((fp=fopen("waitlist.txt","r"))==NULL){printf("\n无法打开文件!\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++){ prione(i);}printf("\n\t请输入你想要预定的机号,并且留下你的电话号码!:\n");if((fp=fopen("waitlist.txt","a"))==NULL){printf("\n无法打开文件!\n");exit(0);}scanf("%s %s",wait[i].number,wait[i].teleph onenumber);for(i=0;i<1;i++)fwrite(&wait[i],sizeof(struct waitlist),1,fp);fclose(fp); /*若等待,就用文件的方式列出当时的等待列表并提示输入你的等待序号和联系方式*/printf("再次输入电脑的序号!\n");scanf("%d",&y);sum[T]--;computer[T][y]=1;printf("\t好了,请等待我们的电话!\n");Menu();}else Menu();}}N4.取消预定:void Cancel(){int time,number;printf("在(8-20)时间范围内输入你已经预定的时间:");scanf("%d",&time);if(time<8||time>20){printf("\t输入时间错误!\n");printf("\t在(8-20)时间范围内输入你已经预定的时间:");scanf("%d",&time);}else{printf("\t输入你预定的机号:");scanf("%d",&number);}detail(time);/* sum[T]++; / *预定后该时间段空机位数加1*//*computer[T][number]=0; / *预定后该机状态变为0*/printf("\t取消成功!\n");getchar();Menu();}5.查询等待信息: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++){ prione(i);}Menu();}5 程序运行数据及其结果1.主菜单:2.机位查询:3.机位预定:4.查询等待信息:6 课程设计心得课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。

相关文档
最新文档