1、三峡大学理学院 2010 级电子信息科学与技术专业高级语言程序设计课程设计说明书设计题目: 客房管理系统班级: 20101421学号: 2010142139姓名: 徐晶完成日期: 2011-11-23目录一、 设计任务(2)二、 需求分析(2)三、 系统模块图(2)四、 模块说明(3)五、 用户说明(18)六、 测试结果 (18)七、 设计小结 (19)八、 参考目录 (19)一、设计任务:客房管理系统实现用户登记功能,要提供结构体的输入操作,实现统计功能,要提供相应的统计操作,实现查询功能,要提供查找操作,实现修改功能,要提供修改操作;另外还有提供键盘式菜单实现功能选择。二、需求分析:1.
2、总体分析:整个客房管理系统被设计为用户登记模块,统计模块,查询模块,和修改模块。2. 详细分析:(1) 用户登记模块 提示用户输入自身信息以及客房信息,把数据存入 Room 数组中。(2) 统计模块 18 设置计数器,顺序遍历 ROOM 数组来实现,实现对房客数、某一天的房客数的统计。(3) 查询模块 通过基本查找算法查找 Room 数组,可以按房间号、价格、房间标记、用户姓名、居民身份证查询。(4) 修改模块 采用基本查找算法在数组找到要修改的数据。三、系统模块图根据需求分析,可以对这个系统的设计分为以下几个模块:客户信息管理系统数据输入 数据统计 数据查询 数据修改 数据删除四、模块说明:
3、一个较大的 C 语言程序不外乎由多个函数组成,本程序也并不例外。现就本程序中涉及的各个函数的代码和功能分别进行说明。1、 主函数部分:程序:void main() /*主函数 */int n,w;menu();doprintf(“ttPlease choice you number(1-5)“);scanf(“%d“,if(n5) w=1,getchar();else w=0;while(w=1);switch(n)case 1:regist();break;case 2:stati();break;case 3:search();break;case 4:modify();break;cas
4、e 5:exit(0);void menu () /*菜单函数*/ printf(“ttt*客房管理系统 *n“);puts(“nttt (1).登记 n“);puts(“ttt (2).统计 n“);puts(“ttt (3).查询 n“);puts(“ttt (4).修改 n“);puts(“ttt (5).退出 n“);puts(“nt*n“);void return_confirm(void) printf(“n 按任意键返回n“);getchar();#include “stdio.h“ #include “string.h“ /在使用中要用到的字符串都包含在本文件中#include
5、 “stdlib.h“ #include “math.h“ #define NUM 50 struct Client char Name20; int Sex; /famale 0,male 1;int Age; char ID_card20; /*居民身份证 */int year; int month; int date; /*住店时间*/; struct Hotel char Room_ID10; /*房间号*/char Tel10; int Price; /*住房单价*/int Sign; struct Client Client_list; /*实现两个结构体的嵌套*/RoomNUM;
6、 注:menu 函数能提供菜单方式选择功能,可以根据用户需要进入到所想要的操作模块中,此外把 menu 函数独立出来,可以方便随时对它进行调用,容易返回到系统界面。并用结构体来存放客户信息。2、各功能模块函数部分:(1)输入模块:需求分析 对信息进行输入程序:void regist() /*登记函数*/ void printf_one(int i); void save(int n); void printf_back(); int load(); void printf_face(); int i,n,c; n=load(); do for(i=0;inn1).Time2).Room_ID
7、3) Price“); printf(“Which you need?: bb“); scanf(“%d“, if(c3|c3|cnn 1).Name 2).Sex 3).Agen 4).ID_card 5).Time 6).All data 7).Cancle and back“); printf(“Which you need?: bb“); scanf(“%d“, if(c7|c7|c1); do switch(c) case1:printf(“Please enter new Name:“);scanf(“% s“,break; case 2:printf(“Please enter
8、new Sex:“);scanf(“% d“,break; case 3:printf(“Please enter new Age:“);scanf(“% d“,break; case4:printf(“PleaseenternewID_card:“);scanf(“%s“,break; case5:printf(“Pleaseenternewyearmonthdate:“);scanf(“%d%d%d“,break; case 6:printf(“Please enter new All data:“); puts(“nplease enter customers new Namen“);
9、scanf(“%15s“, printf(“nplease enter new Sex and Agen“); scanf(“%3d %3d“, puts(“nplease enter new customers ID_cardn“); scanf(“%20s“, printf(“nplease enter new year and month and daten“); scanf(“%5d %5d %5d“,break; case 7:menu(); puts(“nNow ,please ensure the information you entered.“); printf_face()
10、; printf_one(i); printf(“nAre you sure?nnt1).Sure 2).No and remodify 3).Back without save in this time bb“); scanf(“%d“, while(w1=2); return(w1);本函数的功能为系统根据输入的姓名调出该用户及所在房间信息,同时输出修改功能菜单选项,包括修改性别、修改年龄、修改入住年份、修改月份及修改日期。系统根据输入的选项修改用户相应的信息。五、用户使用说明在运行程序后,会出现主菜单,分别输入 1、2、3、4 后会链接到相应的登记、统计、查询、修改程序。例如:在登记程序
11、中,根据系统提示依次输入姓名、性别、年龄、日期等信息,然后根据系统提示决定确定、返回修改以及返回菜单。返回菜单后按任意键返回。若要进行别的程序,则需要重新运行程序。六、测试结果1.菜单函数:2.登记函数:3. 统计函数:(1)用时间统计(2)用房间号统计:4. 查询函数:用房间号查询:5.修改函数:在方括号里填写数字,然后修改数据。七、设计小结两周的奋战,终于达到了预定的效果,完成了该信息系统的设计和程序编写。选定课题后,开始收集相关资料和设计软件架构。到网上收集信息,以及参考了其他信息管理系统,心里就有了轮廓。设计好软件的几大模块,确定实现的功能,开始设计。设计之初,由于自身知识储备和经验都
12、存在不足,对宾馆管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求;在系统功能上,遇到了一些困难,所以进度一度很慢,后来通过列出所有可能的情况,以及同同学老师等交流,总结并重新设计,终于是能有一个比较好的效果。!总之,通过这次课程设计,我直观而且深刻的认识到计算机技术在人们实际生活以及工作中的巨大作用,也是我获得了一次宝贵的时间机会,巩固了所学的相关知识,是我受益匪浅。在本次课程设计中,要感谢各位老师的指导,也要感谢提供意见和建议的同学,才得以大致完成该设计。八、参考目录:1 谭浩强,C 程序设计教程,清华大学出版社,2007 年2 赵永哲,李雄飞,戴秀英编著, C 语言程序设计 ,科学出版社,2003 年3 谭浩强编著, C 程序设计 ,清华大学出版社,1991 年