资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
报告正文一、题目要求客户信息包括身份证号、姓名、性别、年龄、房间号。试设计一客房管理系统,使之能提供以下功能:(1) 系统以菜单方式工作(2) 客户信息录入功能(客户信息用文件保存)(3) 客户信息统计功能(4) 客户信息查询功能,查询方式(5) 客户信息修改功能(可选项) 提示 建立客户信息结构体,结构体成员包括身份证号、姓名、性别、年龄、房间号 二、需求分析根据题目要求,要求对客户信息进行输入、输出等操作;在程序中需要浏览客户的信息,应提供显示、统计、查询、修改等操作;另外还应提供键盘式选择菜单实现功能选择。三、总体设计根据需求分析,可以对这个系统的设计分为以下几个模块:客户信息管理系统数据输入数据统计数据查询数据修改数据删除系统功能模块图四、详细设计1、主函数部分:主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。流程图:显示各功能选项根据 n的值调用各功能模块函数NY输入n ,判断n 是否是0-5主函数流程图main() /*主函数*/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 customs?t);scanf(%d,&n);printf(tHow many rooms they want? );scanf(%d,&m); for(i=r;ir+m;i+) puts(ntRoom_ID:t);scanf(%d,&roomi.room_ID); puts(ntTel:t);scanf(%s,roomi.tel); puts(ntPrice:t);scanf(%d,&roomi.price); roomi.sign=1; for(j=p;jp+n;j+) puts(ntName:t);scanf(%s,roomi.client_listj.name); puts(ntSex(1 for men | 0 for women):t);scanf(%d,&roomi.client_listj.sex); puts(ntAge:t);scanf(%d,&roomi.client_listj.age); puts(ntID_card:t);scanf(%s,roomi.client_listj.ID_card); puts(ntYear:t);scanf(%d,&roomi.client_listj.year); puts(ntMonth:t);scanf(%d,&roomi.client_listj.month); puts(ntDate:t);scanf(%d,&roomi.client_listj.date); r=r+m; p=p+n; save(); menu();void menu() /*菜单函数*/int n,w;doputs(nnnt*MENU*nn);puts(ttt |(1).Regist |n);puts(ttt |(2).Statistics|n);puts(ttt |(3).Search |n);puts(ttt |(4).Modify |n);puts(ttt |(5).Exit |n);puts(nt*n);printf(ttPlease choice you number(1-5);scanf(%d,&n);if(n5) 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函数独立出来,可以方便随时对它进行调用,容易返回到系统界面。并用结构体来存放客户信息:struct client char name20; int sex; int age; char ID_card20; /*居民身份证*/ int year; int 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 menu();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)输入模块需求分析 对信息进行输入。流程图:输入用户要输入客户记录的个数ni从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,&n);printf(tHow many rooms they want? );scanf(%d,&m);for(i=r;ir+m;i+) puts(ntRoom_ID:t);scanf(%d,&roomi.room_ID); puts(ntTel:t);scanf(%s,roomi.tel); puts(ntPrice:t);scanf(%d,&roomi.price); roomi.sign=1; for(j=p;jp+n;j+) puts(ntName:t);scanf(%s,roomi.client_listj.name); puts(ntSex(1 for men | 0 for women):t);scanf(%d,&roomi.client_listj.sex); puts(ntAge:t);scanf(%d,&roomi.client_listj.age); puts(ntID_card:t);scanf(%s,roomi.client_listj.ID_card); puts(ntYear:t);scanf(%d,&roomi.client_listj.year); puts(ntMonth:t);scanf(%d,&roomi.client_listj.month); puts(ntDate:t);scanf(%d,&roomi.client_listj.date); r=r+m; p=p+n; save(); menu();(2)统计模块需求分析 该模块的功能是显示所有客户记录信息。显示客户记录(10个一屏):按任意键显示下一屏按任意键返回主菜单统计模块流程图程序void stat() /*统计函数*/int n,m;doputs(tt*MENU*n);puts(tttt1).Statistics one monthn);puts(tttt2).Statistics using roomn);puts(tttt3).MENU();puts(tt*n);printf(ttPlease choice your number(1-3): bb);scanf(%d,&n);if(n3) m=1; getchar(); else m=0;while(m=1); switch(n)case 1:stat_o();break; case 2:stat_u();break; case 3:menu(); void stat_o() /*统计人数*/int j,i,n,l;int s=0;puts(Ple
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号