文档介绍:C语言课程实习报告一、题目要求试设计一客房管理系统,使之能提供以下功能: 1、统以菜单方式工作 2、户信息录入功能 3、户信息统计功能 4、户信息查询功能 5、户信息修改功能[提示]建立客户信息结构体,结构体成员包括身份证号、姓名、性别、年龄、房间号等。二、需求分析根据题目要求,要求对客户信息进行输入、输出等操作;在程序中需要浏览客户的信息,应提供显示、统计、查询、修改等操作;另外还应提供键盘式选择菜单实现功能选择。三、总体设计根据需求分析,可以对这个系统的设计分为以下几个模块: 客户信息管理系统数据输入数据统计数据查询数据修改数据删除 1 系统功能模块图四、详细设计 1 、主函数部分: 对于主函数来说,一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择. 主函数流程图 main() /** 主函数**/ { printf("\n\n\n\t\tJJJJJJJJJJJJJJJJ 酒店管理系统 LLLLLLLLLLLLLL"); printf("\n\n\n\t\t\tPress any key to continue....."); printf("\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\t------ 袁深圳\n"); getch(); menu(); } void menu() /***** 菜单函数*****/ {int n,w; do 根据 n的值选择并调用调用各功能模块函数 N Y 输入整数 n,判断 n是否是 0~5 显示各项功能及其选项 2 { 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"); puts("\n\t*********************************************************** \n"); printf("\t\tPlease choice you number(1-5)"); scanf("%d",&n); if(n<1||n>5) 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); }} 菜单函数能提供菜单方式选择功能,可以根据用户需要进入到所想要的操作模块中,此外把菜单函数独立出来,可以方便随时对它进行调用,容易返回到系统界面。并用结构体来存放客户信息: struct client { char name[20]; int sex; int age; char ID_card[20]; /*居民身份证*/ int year; int month; int date; /*住店时间*/ 3 }; struct hotel { int room_ID; /*房间号*/ char tel[15]; int price; /*住房单价*/ int sign; struct client client_list[M]; /*实现两个结构体的嵌套*/ }room[N]; 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(); 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