您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > C语言课程设计--客房管理系统
中国地质大学(武汉)C语言课程设计论文学院:专业:题目:客房管理系统设计班级:姓名:学号:指导教师:2010年9月6日1报告目录报告目录....................................................1报告摘要....................................................2一、题目要求................................................3二、需求分析................................................3三、总体设计................................................3四、详细设计................................................41、主函数部分:..........................................42、各功能模块函数部分:..................................6(1)输入模块........................................6(2)统计模块........................................7(3)查找模块.......................................10(4)修改模块.......................................123、公共函数部分:.......................................16(1)保存函数save()................................16(2)加载函数load_room()...........................16(3)一个任务结束时的选择函数printf_back()..........17(4)修改整条数据记录函数modify_data(inti,intn)...17五、上机操作...............................................18总结.......................................................212报告摘要此次C语言课程设计我选择的是客房管理系统设计,系统设计采用c语言在microsoftvisualc++6.0下编译而成。客房管理系统包括客户基本信息的录入、统计、查询、修改功能。系统开发由分析、设计、实施、调试和测试等阶段组成,其中信息管理为开发的重点。在程序设计中结构体的调用与文件的读写为编译的重点部分。3一、题目要求客户信息包括身份证号、姓名、性别、年龄、房间号。试设计一客房管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)客户信息录入功能(客户信息用文件保存)(3)客户信息统计功能(4)客户信息查询功能,查询方式(5)客户信息修改功能(可选项)建立客户信息结构体,结构体成员包括身份证号、姓名、性别、年龄、房间号[提示]二、需求分析根据题目要求,要求对客户信息进行输入、输出等操作;在程序中需要浏览客户的信息,应提供显示、统计、查询、修改等操作;另外还应提供键盘式选择菜单实现功能选择。三、总体设计根据需求分析,可以对这个系统的设计分为以下几个模块:系统功能模块图客户信息管理系统数据输入数据统计数据查询数据修改数据删除4四、详细设计1、主函数部分:主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。并使用蓝色作为背景颜色。[流程图]:主函数流程图main()/**主函数**/{inti;puts(欢迎进入:);for(i=0;i100;i++)system(color1f);printf(\n\n\n\n\n\t\t~~~~~~~~~~~~~~~~客房管理系统~~~~~~~~~~~~~~~~~);printf(\n\n\n\t\t\tPressanykeytocontinue.....);printf(\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\t---By童川\n);getch();menu();}voidmenu()/*****菜单函数*****/{intn,w;do{puts(\n\n\n\t***************************MENU*****************************\n\n);puts(\t\t\t||(1).Regist||\n);puts(\t\t\t||(2).Statistics||\n);puts(\t\t\t||(3).Search||\n);puts(\t\t\t||(4).Modify||\n);puts(\t\t\t||(5).Exit||\n);根据n的值调用各功能模块函数NY输入n,判断n是否是0-5显示各功能选项5puts(\n\t***********************************************************\n);printf(\t\tPleasechoiceyounumber(1-5));scanf(%d,&n);if(n1||n5)w=1,getchar();elsew=0;}while(w==1);switch(n){case1:regist();break;case2:stat();break;case3:search();break;case4:modify();break;case5:exit(0);}}注:menu函数能提供菜单方式选择功能,可以根据用户需要进入到所想要的操作模块中,此外把menu函数独立出来,可以方便随时对它进行调用,容易返回到系统界面。并用结构体来存放客户信息:structclient{charname[20];intsex;intage;charID_card[20];/*居民身份证*/intyear;intmonth;intdate;/*住店时间*/};structhotel{introom_ID;/*房间号*/chartel[15];intprice;/*住房单价*/intsign;structclientclient_list[M];/*实现两个结构体的嵌套*/}room[N];intr=0;p=0;/*r,p为全局变量*/voidmenu();voidsearch_one();6voidsearch_day();voidmodify();voidmodify_one();voidload_room();voidmodify_day();voidmodify_s(intj,inti);voidsave();voidsearch();voidstat_u();voidstat_o();voidregist();voidstat();2、各功能模块函数部分:(1)输入模块[需求分析]对信息进行输入。[流程图]:输入模块流程图输入用户要输入客户记录的个数ni从0到n-1调用输入函数input(i)i!=0保存调用函数save(n)Y7程序voidregist()/**注册函数**/{intn,m,i,j;printf(\tHowmanynewcustoms?\t);scanf(%d,&n);printf(\tHowmanyroomstheywant?);scanf(%d,&m);for(i=r;ir+m;i++){{puts(\n\tRoom_ID:\t);scanf(%d,&room[i].room_ID);puts(\n\tTel:\t);scanf(%s,room[i].tel);puts(\n\tPrice:\t);scanf(%d,&room[i].price);room[i].sign=1;}for(j=p;jp+n;j++){puts(\n\tName:\t);scanf(%s,room[i].client_list[j].name);puts(\n\tSex(1formen||0forwomen):\t);scanf(%d,&room[i].client_list[j].sex);puts(\n\tAge:\t);scanf(%d,&room[i].client_list[j].age);puts(\n\tID_card:\t);scanf(%s,room[i].client_list[j].ID_card);puts(\n\tYear:\t);scanf(%d,&room[i].client_list[j].year);puts(\n\tMonth:\t);scanf(%d,&room[i].client_list[j].month);puts(\n\tDate:\t);scanf(%d,&room[i].client_list[j].date);}}r=r+m;p=p+n;save();menu();}(2)统计模块[需求分析]该模块的功能是显示所有客户记录信息。[流程图]:显示客户记录(10个一屏)8统计模块流程图程序voidstat()/***统计函数***/{intn,m;do{puts(\t\t*********************MENU************************\n);puts(\t\t\t\t1).Statisticsonemonth\n);puts(\t\t\t\t2).Statisticsusingroom\n);puts(\t\t\t\t3).MENU());puts(\t\t**************************************************\n);printf(\t\tPleasechoiceyournumber(1-3):[]\b\b);scanf(%d,&n);if(n1&&n3){m=1;getchar();}elsem=0;}while(m==1);switch(n){case1:stat_o();break;case2:stat_u();break;case3:menu();}}voidstat_o()/*******统计人数******/{intj,i,n,l;按任意键显示下一屏按任意键返回主菜单9ints=0;puts(Pleaseinputthemonthyouwanttostatistics:);scanf(%d,&n);load_room();for(i=0;ir;i++)for(j=0;jp;j++)if(room[i].client_list[j].month==n)s=s+1;printf(Thereare%dcustomerthismonth,s);puts(\n\nWhatyouwanttodo?\n);puts(1).Statisticsagain\t2).back\n);scanf(%d,&l);switch(l){case1:stat_o();break;case2:stat();}}voidstat_u()/******统计使用中的房间*****/{intj,l,s=0;load_room();for(j=0;jp;j++){if(room[j].sign==1)s+=1;}printf(Thereare%droomsinuse,s);puts(\n\nWhatyouwanttodo?\n);puts(1).Statisticsagain\t2).back\n);scanf(%d,&l);switch(l){case1:stat_u();break;case2:stat();}}printf_p(inti,intj)/******显示个人信息******/{printf(name:);puts(
本文标题:C语言课程设计--客房管理系统
链接地址:https://www.777doc.com/doc-3821954 .html