《C语言课程设计报告—客房管理系统》由会员分享,可在线阅读,更多相关《C语言课程设计报告—客房管理系统(23页珍藏版)》请在金锄头文库上搜索。
1、 中国地质大学(武汉)中国地质大学(武汉) C 语言课程设计论文语言课程设计论文学学 院院 : 资源学院 专专 业业 : 油气勘查 题题 目目 : 客房管理系统设计 班班 级级 : 0 2 1 1 0 3 姓姓 名名 : 唐 丹 阳 学学 号号 : 20101002808 指指导导教教师师 : 张霞 2012 年年 1 月月 15 日日1报告目录报告目录报告摘要报告摘要 2题目要求题目要求 3需求分析需求分析 3总体分析总体分析 3详细设计详细设计 4主函数部分47各功能模块函数部分 7输入模块 78统计模块 810查询模块 1113修改模块 1316公共函数部分 1619上机操作上机操作 1
2、921总结总结 22报告摘要报告摘要 此次 C 语言课程设计我选择的是客房管理系统设计,系统 设计采用 c 语言在 microsoft visual c+6.0 下编译而成。2客房管理系统包括客户基本信息的录入、统计、查询、修 改功能。 系统开发由分析、设计、实施、调试和测试等阶段组成, 其中信息管理为开发的重点。在程序设计中结构体的调用与文 件的读写为编译的重点部分。报告正文报告正文一、题目要求一、题目要求客户信息包括身份证号、姓名、性别、年龄、房间号。试设计一客房管理系统, 使之能提供以下功能: (1)系统以菜单方式工作 (2)客户信息录入功能(客户信息用文件保存) (3)客户信息统计功能
3、 (4)客户信息查询功能,查询方式 (5)客户信息修改功能(可选项)提示建立客户信息结构体,结构体成员包括身份证号、姓名、性别、年龄、房间 号二、需求分析二、需求分析根据题目要求,要求对客户信息进行输入、输出等操作;在程序中需要浏览客 户的信息,应提供显示、统计、查询、修改等操作;另外还应提供键盘式选择菜单 实现功能选择。三、总体设计三、总体设计根据需求分析,可以对这个系统的设计分为以下几个模块:3客户信息管理系统客户信息管理系统数据输入数据统计数据查询数据修改数据删除系统功能模块图系统功能模块图四、详细设计四、详细设计1、主函数部分:、主函数部分:主函数一般设计得比较简洁,只提供输入,处理和
4、输出部分的函数调用。其中 各功能模块用菜单方式选择。流程图:根据 n 的值调用各功能模块函数NY输入 n ,判断 n 是否是 0-5主函数流程图主函数流程图显示各功能选项4main() /*主函数主函数*/ printf(“nnntt酒店管理系统酒店管理系统“); printf(“nnntttPress any key to continue.“); printf(“nnnnnnnnnnnntttttttt-By 唐丹阳唐丹阳n“); getch(); menu(); void regist() /*注册函数注册函数*/ int n,m,i,j; printf(“tHow many new c
5、ustoms?t“);scanf(“%d“, printf(“tHow many rooms they want? “);scanf(“%d“,for(i=r;i5) w=1,getchar(); else w=0; while(w=1); switch(n) case 1:regist();break; case 2:stat();break; case 3:search();break; case 4:modify();break; case 5:exit(0); 注:注:menu 函数能提供菜单方式选择功能,可以根据用户需要进入到所想要的操作模 块中,此外把 menu 函数独立出来,可以
6、方便随时对它进行调用,容易返回到系统 界面。 并用结构体来存放客户信息:struct client char name20;int sex;int age;char ID_card20; /*居民身份证*/int year;6int month;int date; /*住店时间*/ ;struct hotel int room_ID; /*房间号*/char tel15;int price; /*住房单价*/int sign; struct client client_listM; /*实现两个结构体的嵌套*/ roomN;int r=0;p=0; /*r,p 为全局变量*/ void men
7、u(); void search_one(); void search_day(); void modify(); void modify_one(); void load_room(); void modify_day(); void modify_s(int j,int i); void save(); void search(); void stat_u(); void stat_o(); void regist(); void stat();2、各功能模块函数部分:、各功能模块函数部分:(1)输入模块)输入模块 需求分析 对信息进行输入。 流程图:7输入用户要输入客户记录的个数 ni
8、从 0 到 n-1 调用输入函数 input(i)i!=0保存调用函数 save( n)Y输入模块流程图输入模块流程图程序程序 void regist() /*注册函数注册函数*/ int n,m,i,j; printf(“tHow many new customs?t“);scanf(“%d“, printf(“tHow many rooms they want? “);scanf(“%d“, for(i=r;i3)m=1;getchar(); else m=0; while(m=1);switch(n) case 1:stat_o();break;case 2:stat_u();break
9、;case 3:menu(); void stat_o() /*统计人数统计人数*/ int j,i,n,l; int s=0; puts(“Please input the month you want to statistics:“);scanf(“%d“, load_room(); for(i=0;i3)m=1;getchar(); else m=0; while(m=1);12switch(n) case 1:search_one();break;case 2:search_day();break;case 3:menu(); void search_one() /*查找个人查找个人*
10、/ int i,j,w=0,l,m,n; char s20; printf(“Please input the namen“); scanf(“%s“,s); load_room(); for(i=0;i3)m=1;getchar(); else m=0; while(m=1);switch(n) case 1:modify_one();break;case 2:modify_day();break;case 3:menu(); void modify_one() /*修改个人信息修改个人信息*/ int i,j,m,n,w=0,l; char s20; puts(“ttPlease inpu
11、t the name“); scanf(“%s“,s); load_room(); for(i=0;inn 1).number 2).name 3).cancel and back“); printf(“Which you needed?: bb“); scanf(“%d“, if(c3|c3|c1); do switch(c) case 1:no_input(i,n);break; case 2:printf(“name:“);scanf(“%s“,staffi.name);break; case 3:menu();break; puts(“nNow:n“);printf_one(i); p
12、rintf(“nAre you sure?nnt1).sure 2).no and remodify 3).back without save in this 19time bb“); scanf(“%d“, if(w1=1)save(n); while(w1=2); return(w1); 五上机操作五上机操作编译出一个程序,需要上机运行检验程序是否正确,此外在上机过程中你可以思考 一下该程序还有没有其他的实现方案或者那些事可以更好的改进的。下面事各个模块的界面图: (1) 主菜单函数 效果如图所(2) 录入信息模块20效果如图所示(3) 统计模块 效果如图所示(4) 查询模块21效果如图所
13、示(5) 修改模块 效果如图所示22总结总结此次实习中,我成功做出了课堂上老师要求的内容。虽然最后的一个模块是通 过网络找到的,但是也通过此个模块学到了一些在课堂上没有真正掌握的文件部分 的自如运用。 通过此次实习,我们更加理解和懂得运用结构化程序设计的思想和方法,初步 掌握开发一个小型实用系统的基本方法,学会调试一个较长程序的的基本方法,学 会利用流程图表示算法,进一步掌握和提高利用 C 语言进行程序设计的能力。 在实习中遇到了好多的调试不出结果的问题。通过大家的通力合作以及老师的 细心讲解。得到了好多以后可以避免错误的经验。也得到了很多没有接触过的知识。 链表、文件的定位、以及真正的 vc 操作技术。这些都使我获益匪浅,另外必须说的 是在整个上机实习过程中老师们都表现的很负责,很有耐心的帮助我们解决问题。 通过实习,我们还明白了一些做人的道理。不论是什么,做出来的成果永远使 最值得骄傲的。想象重要,动手更重要。 最后:每一款编程的语言都有各自的优缺点。C 不是