陈芳影C语言课程设计报告—客房管理系统
C语言课程设计-酒店客房管理系统说明书
实践教学
*******************
兰州理工大学
计算机与通信学院
2010年春季学期
计算机语言课程设计
题目:宾馆客房管理系统
专业班级:
姓名:
学号:
指导教师:
成绩:
摘 要
宾馆客房管理系统是以客房管理业务为背景,设计开发的一套软件。该程序主要实现对宾馆的业务流程进行管理,具有浏览,增加和删除功能,方便管理。同时实现把保存在文件中的数据读出,依次存放在一个列表中,再被列表行行操作来实现相应的功能。在用户退出时再把列表中的内容保存回文本文件中。
在运行完每个子函数之后均可返回主菜单函数,再次实现循环运行。
4详细设计
(1)修改客房信息的流程图
(2)查询客房情况流程图
(3)输入客房情况(enter)
(输入客房号)
(可输入相关客房信息)
(输入能住的人数)
设置:有人(have)
打印(name)
(Sex)
(Time)
(Cost)
无人(null)
输入相关信息后,返回主菜单,或退出系统。
同时,这一套系统也是应该数据库原理,在数据结构管理的基础上,应用C语言创编的源程序。其调用函数共分七个大的模块。在编制好程序之后,要对程序进行相应的调试,并且进行测试,以验证程序的正确性与可用性。调试及测试时,通过相关信息,充分验证程序的可用性。本程序通篇均用C语言写成,具有很高的严密性,测试应用宾馆实例,具有很高的真实性与可靠性,这一点也充分验证了C语言在现代社会当中的实用性及普遍性。
正 文
1问题描述
随着改革开放步伐的加快,我国服务业取得了巨大的发展。而宾馆是我国的改革开放过的程中起步最早的、开拓发展最快、收效最为明显、市场化程度高的服务行业之一。据统计,宾馆业目前网点总量已达300万家以上,宾馆数量的迅猛增长,是宾馆必须面临的问题。对宾馆的经营状况起决定作用的是宾馆的服务管理水平。如何得用先进的管理手段,提高宾馆的管理水平,已成为宾馆行业的当务之急。面对信息时代的机遇和挑战,得用科技手段提高企业管理无疑是一条行之有效的途径。虽然计算机管理并不是宾馆管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对宾馆的服务管理提供有力的支持。因此,采用全新的计算机网络和宾馆管理系统,已成为提高宾馆管理效率、改善服务水准的重要手段之一。
c语言课程设计客房管理
c语言课程设计客房管理一、教学目标本课程的教学目标是使学生掌握C语言基础知识,具备运用C语言进行程序设计的能力,通过客房管理的案例,让学生了解并实践面向过程的程序设计方法。
1.掌握C语言的基本语法和数据类型。
2.理解函数的定义和调用。
3.掌握面向过程的编程思想。
4.了解客房管理系统的业务需求。
5.能够使用C语言编写简单的程序。
6.能够运用面向过程的编程思想解决实际问题。
7.能够独立完成客房管理系统的程序设计。
情感态度价值观目标:1.培养学生的编程兴趣,提高学生学习的积极性。
2.培养学生团队协作,共同解决问题的能力。
3.使学生认识到编程在实际生活中的应用,培养学生的创新意识。
二、教学内容教学内容以客房管理为主线,主要包括C语言基础知识,客房管理系统的业务需求分析,以及运用C语言实现客房管理系统的程序设计。
1.C语言基础知识:–数组和字符串–结构体和联合2.客房管理系统的业务需求分析:–客房信息的增删改查–客户信息的管理3.客房管理系统的程序设计:–使用C语言实现客房信息的增删改查功能。
–使用C语言实现房费计算功能。
–使用C语言实现客户信息的管理功能。
–使用C语言实现报表生成功能。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
1.讲授法:用于讲解C语言的基本语法和数据类型,以及客房管理系统的业务需求分析。
2.案例分析法:通过分析真实的客房管理案例,使学生更好地理解面向过程的编程思想。
3.实验法:让学生动手编写客房管理系统的程序,提高学生的实践能力。
四、教学资源教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用《C语言程序设计》作为主教材,辅助以《C语言编程实例解析》等参考书。
2.多媒体资料:提供客房管理系统的实际运行视频,以便学生更好地理解业务需求。
3.实验设备:计算机实验室,为学生提供编写程序和实践的机会。
五、教学评估教学评估分为四个部分:课堂表现、作业、实验和期末考试。
客房管理系统-课程设计报告
《客房管理系统》课程设计报告题目:客房管理系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年12月8日计算机学院《客房管理系统》课程设计报告目录1设计内容及要求 (2)1.1要求 (2)1.2背景 (2)1.3编写目的 (2)1.4功能要求 (2)1.5可行性分析 (3)2.需求分析 (3)2.1需求分析 (3)3 设计过程或程序代码 (4)3.1系统概要设计 (4)3.2数据流图 (5)3.3数据字典 (9)3.4概念结构设计 (10)3.5E-R图 (10)3.5实体及属性的定义 (11)3.6逻辑结构设计 (13)3.7物理结构设计 (15)3.8触发器设计 (15)4设计结果与分析 (16)4.1设计结果 (16)4.1分析 (18)5参考文 (18)11设计内容及要求1.1要求某宾馆客房管理系统实现客房类型、价目信息、客房信息的管理;实现客户信息的管理;实现入住和退房管理;实现费用管理;创建触发器,实现入住和退房时自动修改客房的状态;创建存储过程统计某段时间内各种类型的客房的入住时间合计和费用合计;创建视图查询某一时刻没有入住的房间信息;建立数据库相关表之间的参照完整性约束。
1.2背景随着宾馆业竞争的加剧,宾馆之间客源的争夺越来越激烈,宾馆需要使用更有效的信息化手段,拓展经营空间,降低运营成本,提高管理和决策效率。
宾馆管理系统主要包括前台管理系统和后台管理系统两大部分,基本包含了宾馆主要业务部门,初步实现了对顾客服务和进行财务核算所需要的各个功能。
现代宾馆业迅速发展,新的管理观念与模式层出不穷。
宾馆客房管理系统亦随着宾馆管理理念的发展而发展。
宾馆客房管理系统依旧采用了先进的数据库理论,多媒体技术,软件工程理念等,从基层,中层,高层三个管理者层次为切入点,以成本分析,预测,控制为一线,形成一套上下贯通,操作便捷的酒店系统解决方案,科学地将宾馆各种日常业务完美的结合在一起,为管理及决策提供了强有力的支持。
C语言程序设计客房管理系统源码和报告
C语言程序设计客房管理系统源码和报告客房管理系统是一种常见的管理系统,它能够实现对酒店客房的预订、入住、退房等操作,有效地管理酒店的客房资源,提高管理效率。
本文将介绍一个简单的C语言程序设计,实现了基本的客房管理功能。
1.功能设计本客房管理系统主要包括以下功能:-显示房间列表:显示所有房间的编号、类型、价格等信息-入住房间:根据用户输入的房间号和入住人信息,将房间状态设置为“入住中”-退房:根据用户输入的房间号,将房间状态设置为“空闲”,并生成退房结算单-查询房间信息:根据用户输入的房间号,显示该房间的详细信息-按房间类型查询:根据用户输入的房间类型,显示该类型的所有房间信息2.数据结构设计为了实现上述功能,我们需要设计合适的数据结构。
-客房类型结构体:包括房间类型名称和价格等信息-客房结构体:包括房间号、类型、状态、入住人信息等信息具体的数据结构定义和全局变量声明如下:```c#define TYPE_NUM 3 // 客房类型数量typedef struct RoomTypechar typeName[20]; // 类型名称double price; // 价格} RoomType;typedef struct Roomint roomNum; // 房间号int type; // 房间类型,对应RoomType数组的下标int status; // 房间状态,0表示空闲,1表示入住中char name[20]; // 入住人姓名} Room;RoomType types[TYPE_NUM] = {{"单人间", 100.0}, {"标准间", 200.0}, {"豪华间", 300.0}}; // 房间类型数组,包含三种类型Room rooms[100]; // 客房数组,最多100个房间int roomNum = 0; // 当前客房数量```3.主程序设计主程序中包含下面几个函数:-显示房间列表:遍历客房数组,输出每个房间的编号、类型和状态-入住房间:根据用户输入的房间号和入住人信息,将房间状态设置为“入住中”-退房:根据用户输入的房间号,将房间状态设置为“空闲”,并生成退房结算单-查询房间信息:根据用户输入的房间号,显示该房间的详细信息-按房间类型查询:根据用户输入的房间类型,显示该类型的所有房间信息具体的主程序设计如下:```c#include <stdio.h>void showRoomLisprintf("房间号类型状态入住人姓名\n");for (int i = 0; i < roomNum; i++)printf("%-5d %-8s %-8s %s\n", rooms[i].roomNum,types[rooms[i].type].typeName,rooms[i].status == 0 ? "空闲" : "入住中", rooms[i].name);}void checkIint roomNum;printf("请输入房间号:");scanf("%d", &roomNum);//检查房间是否存在,并且是否空闲for (int i = 0; i < roomNum; i++)if (rooms[i].roomNum == roomNum)if (rooms[i].status == 0)printf("请输入入住人姓名:");scanf("%s", rooms[i].name);rooms[i].status = 1; // 设置房间状态为“入住中”printf("入住成功!\n");return;} elseprintf("该房间已被占用!\n");return;}}}printf("房间不存在!\n");void checkOuint roomNum;printf("请输入房间号:");scanf("%d", &roomNum);//检查房间是否存在,并且是否入住中for (int i = 0; i < roomNum; i++)if (rooms[i].roomNum == roomNum)if (rooms[i].status == 1)printf("请输入退房人姓名:");scanf("%s", rooms[i].name);rooms[i].status = 0; // 设置房间状态为“空闲”printf("退房成功!\n");//生成退房结算单printf("房间号:%d\n", rooms[i].roomNum);printf("入住人:%s\n", rooms[i].name);printf("房间类型:%s\n", types[rooms[i].type].typeName); printf("房费:%.2f元\n", types[rooms[i].type].price); return;} elseprintf("该房间未入住!\n");return;}}printf("房间不存在!\n");void queryRoomInfint roomNum;printf("请输入房间号:");scanf("%d", &roomNum);//检查房间是否存在for (int i = 0; i < roomNum; i++)if (rooms[i].roomNum == roomNum)printf("房间号:%d\n", rooms[i].roomNum);printf("房间类型:%s\n", types[rooms[i].type].typeName);printf("房费:%.2f元\n", types[rooms[i].type].price);printf("状态:%s\n", rooms[i].status == 0 ? "空闲" : "入住中");printf("入住人:%s\n", rooms[i].name);return;}printf("房间不存在!\n");void queryRoomByTypchar typeName[20];printf("请输入房间类型:");scanf("%s", typeName);int type;//获取房间类型对应的序号for (int i = 0; i < TYPE_NUM; i++)if (strcmp(types[i].typeName, typeName) == 0) type = i;break;}}//查找对应类型的房间int count = 0;for (int i = 0; i < roomNum; i++)if (rooms[i].type == type)count++;printf("房间号:%d\n", rooms[i].roomNum);printf("房间类型:%s\n", types[rooms[i].type].typeName);printf("房费:%.2f元\n", types[rooms[i].type].price);printf("状态:%s\n", rooms[i].status == 0 ? "空闲" : "入住中");printf("入住人:%s\n", rooms[i].name);}}if (count == 0)printf("该类型的房间不存在!\n");}int maiint choice;while (1)printf("\n--------欢迎使用客房管理系统--------\n");printf("1. 显示房间列表\n");printf("2. 入住房间\n");printf("3. 退房\n");printf("4. 查询房间信息\n");printf("5. 按房间类型查询\n"); printf("6. 退出\n");printf("请输入您的选择:"); scanf("%d", &choice);switch (choice)case 1:showRoomList(;break;case 2:checkIn(;break;case 3:checkOut(;break;case 4:queryRoomInfo(;break;case 5:queryRoomByType(;break;case 6:printf("感谢使用客房管理系统,再见!\n");return 0;default:printf("输入有误,请重新输入!\n");break;}}```以上就是一个简单的客房管理系统的C语言程序设计源码和报告,实现了基本的客房管理功能,能够实现客房的预订、入住、退房等操作。
c课程设计客房管理系统
c课程设计客房管理系统一、教学目标本课程旨在让学生掌握客房管理系统的基本概念、设计和实现方法。
通过本课程的学习,学生应能够:1.描述客房管理系统的基本功能和特点。
2.理解客房管理系统的数据库设计和数据流程。
3.使用相关编程语言实现简单的客房管理系统模块。
4.分析并解决客房管理系统在实际运行中可能遇到的问题。
二、教学内容本课程的教学内容主要包括以下几个部分:1.客房管理系统的基本概念:介绍客房管理系统的发展历程、功能和特点。
2.数据库设计:讲解数据库的基本概念、设计方法和技巧。
3.数据流程:分析客房管理系统的数据流程,让学生理解数据在系统中的流转过程。
4.系统实现:介绍客房管理系统的实现方法,包括前端界面设计、后端逻辑实现等。
5.实例分析:分析实际运行中的客房管理系统,让学生了解系统在实际应用中的表现。
三、教学方法为了提高教学效果,本课程将采用多种教学方法:1.讲授法:讲解基本概念、原理和方法。
2.案例分析法:分析实际运行中的客房管理系统,让学生更好地理解理论知识。
3.实验法:让学生动手实现客房管理系统的部分功能,提高学生的实际操作能力。
4.讨论法:鼓励学生积极参与课堂讨论,培养学生的思考能力和团队协作精神。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的客房管理系统相关教材。
2.参考书:提供客房管理系统相关的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作精美的PPT、视频等多媒体资料,提高学生的学习兴趣。
4.实验设备:准备相应的实验设备,确保学生能够顺利进行实验操作。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问和回答问题的表现等。
2.作业:评估学生完成作业的质量和速度。
3.考试:包括期中考试和期末考试,评估学生对课程知识的掌握程度。
评估方式应客观、公正,能够全面反映学生的学习成果。
我们将根据学生的表现,给予及时的反馈,帮助学生提高。
c语言课程设计宾馆管理系统
c语言课程设计宾馆管理系统一、教学目标本课程的目标是让学生掌握 C 语言实现一个简单的宾馆管理系统,通过该项目实践,让学生理解并掌握 C 语言的基本语法、数据结构、函数、指针等核心知识。
同时,培养学生解决实际问题的能力,提高学生的编程思维和团队协作能力。
1.掌握 C 语言的基本语法和编程规范。
2.理解并掌握数据结构、函数、指针等核心知识。
3.熟悉并能运用面向过程的编程思想。
4.能够运用 C 语言独立完成一个简单的宾馆管理系统项目。
5.具备基本的调试和排查问题的能力。
6.具备一定的团队协作和沟通能力。
情感态度价值观目标:1.培养学生对编程的兴趣和热情,提高学生的自主学习能力。
2.培养学生面对挑战、解决问题的勇气和信心。
3.培养学生团队协作、共同进步的价值观。
二、教学内容本课程的教学内容主要包括 C 语言的基本语法、数据结构、函数、指针等核心知识,以及如何运用这些知识实现一个宾馆管理系统。
具体安排如下:1.第一章:C 语言概述1.1 C 语言的历史和发展1.2 C 语言的特点1.3 集成开发环境(IDE)的使用2.第二章:基本数据类型和运算符2.1 数据类型2.2 常量和变量2.3 运算符3.第三章:控制语句3.1 顺序结构3.2 分支结构3.3 循环结构4.第四章:函数4.1 函数的定义和声明4.2 函数的参数和返回值4.3 函数的调用5.第五章:指针5.1 指针的概念5.2 指针的运算5.3 指针与数组6.第六章:数据结构6.3 栈和队列7.第七章:宾馆管理系统项目实践7.1 项目需求分析7.2 项目设计7.3 项目实现三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法,以激发学生的学习兴趣和主动性。
1.讲授法:用于讲解 C 语言的基本语法、数据结构、函数、指针等核心知识。
2.案例分析法:通过分析实际的宾馆管理系统项目,让学生理解并掌握如何运用 C 语言解决实际问题。
3.实验法:安排课内外实验,让学生动手实践,培养学生的编程能力和团队协作能力。
C语言课程设计__客房管理系统
,a click to unlimited possibilities
汇报人:
目录 /目录
01
点击此处添加 目录标题
04
系统设计
02
系统概述
05
系统实现
03
系统需求分析
06
系统部署与维 护
01 添加章节标题
02 系统概述
客房管理系统的功能
入住登记:用户可以在线办 理入住登记,填写个人信息, 选择入住时间。
等
数据需求分析
客房信息:包括房间号、类型、价格、状 态等
客户信息:包括姓名、联系方式、入住时 间、退房时间等
预订信息:包括预订时间、预订房间、预 订人数等
账单信息:包括消费金额、支付方式、支 付时间等
管理员信息:包括管理员账号、密码、权 限等
系统日志:包括操作记录、错误日志、系 统状态等
04 系统设计
等
财务管理模块: 账单管理、支 付管理、发票
管理等
系统管理模块: 系统设置、权 限管理、日志
管理等
算法设计
排序算法:选择合适的排序算 法,如快速排序、归并排序等
查找算法:选择合适的查找算 法,如二分查找、哈希查找等
数据结构:选择合适的数据结 构,如链表、数组、树等
性能优化:优化算法的时间复 杂度和空间复杂度,提高系统 的运行效率
客房预订:用户可以在线预 订客房,查看客房信息,选 择合适的客房。
退房结算:用户可以在线办 理退房结算,查看消费明细,
支付房费。
客房管理:酒店管理人员可 以管理客房信息,查看客房
状态,调整客房价格。
系统的基本流程
客房预订:用户选择客房类 型、入住日期和退房日期, 系统查询可用客房并预订
c语言课程设计客房管理系统设计
c语言课程设计客房管理系统设计一、教学目标本课程的目标是让学生掌握使用C语言设计一个简单的客房管理系统。
通过本课程的学习,学生将能够理解C语言的基本语法和数据结构,掌握面向过程的编程思想,学会使用C语言进行程序设计。
在知识目标方面,学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数、数组和指针等概念。
在技能目标方面,学生需要能够运用C语言实现客房管理系统的功能,如房间预订、退房、查询房间状态等。
在情感态度价值观目标方面,学生将培养对编程的兴趣和热情,学会解决问题、团队合作和持续学习的价值观。
二、教学内容本课程的教学内容将围绕C语言的基本语法和数据结构进行展开。
首先,学生将学习C语言的基本语法,包括变量、数据类型、运算符、控制结构等。
然后,学生将学习如何使用数组和指针进行数据操作。
接着,学生将学习函数的定义和调用,理解面向过程的编程思想。
最后,学生将学习如何使用结构体实现客房管理系统的数据结构。
教学大纲如下:1.C语言的基本语法–变量和数据类型–运算符和控制结构2.数组和指针–一维数组的操作–指针的概念和应用–函数的定义和调用–函数的参数和返回值3.结构体和客房管理系统–结构体的定义和使用–客房管理系统的功能实现三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法。
首先,将采用讲授法,通过讲解C语言的基本语法和数据结构,让学生掌握基础知识。
其次,将采用案例分析法,通过分析具体的客房管理系统案例,让学生理解如何将所学知识应用于实际问题。
此外,还将学生进行实验,通过动手实践,加深对C语言编程的理解和掌握。
四、教学资源为了支持教学内容和教学方法的实施,将选择和准备以下教学资源。
教材:《C语言程序设计》或《C程序设计语言》。
参考书:《C语言 Primer》或《C程序设计教程》。
多媒体资料:教学PPT、视频教程等。
实验设备:计算机、编程环境(如Code::Blocks或Visual Studio)。
c课程设计客房管理系统
c课程设计客房管理系统一、课程目标知识目标:1. 让学生掌握客房管理系统的基本概念、功能模块及其操作流程。
2. 让学生了解数据库在客房管理系统中的应用,包括数据表的设计、查询和更新。
3. 使学生掌握基本的编程思想,如面向对象编程,以及C语言在开发客房管理系统中的应用。
技能目标:1. 培养学生运用C语言进行客房管理系统功能模块编写的能力。
2. 培养学生运用数据库技术进行数据存储、查询和更新的能力。
3. 培养学生运用所学知识解决实际问题的能力,如设计并实现一个简单的客房管理系统。
情感态度价值观目标:1. 激发学生对计算机编程和数据库技术的兴趣,培养主动学习的态度。
2. 培养学生的团队协作意识,提高沟通与协作能力。
3. 增强学生的实际操作能力,使其认识到所学知识在实际应用中的价值。
课程性质分析:本课程为高年级的计算机科学与技术专业课程,要求学生具备一定的C语言基础和数据库知识。
课程以客房管理系统为案例,深入浅出地讲解C语言在实际项目中的应用。
学生特点分析:高年级学生对专业知识有较深入的了解,具备一定的自主学习能力。
他们对实际项目有较高的兴趣,希望通过学习将理论知识运用到实际中。
教学要求:1. 结合实际案例,让学生在实践中掌握C语言和数据库技术。
2. 注重培养学生的编程思维和解决问题的能力。
3. 强化团队协作,提高学生的沟通与协作能力。
4. 对学生进行过程性评价,关注学生的个体差异,提高教学效果。
二、教学内容1. 客房管理系统概述- 系统功能模块介绍- 客房管理系统的业务流程2. C语言基础回顾- 数据类型、运算符与表达式- 控制语句(分支、循环)- 函数与模块化编程3. 数据库基础- 数据库概念与SQL语言- 数据表设计- 数据查询、插入、更新和删除操作4. 客房管理系统功能模块实现- 客房信息管理- 客房预订与入住- 客房退房与结算- 数据库设计与实现5. 编程实践与团队协作- 功能模块编码实现- 团队分工与协作- 项目进度控制与任务分配6. 系统测试与优化- 功能测试- 性能测试- 代码优化教学内容安排与进度:第一周:客房管理系统概述,C语言基础回顾第二周:数据库基础,数据表设计第三周:客房信息管理模块实现第四周:客房预订与入住模块实现第五周:客房退房与结算模块实现第六周:系统测试与优化,团队协作总结教材章节关联:《C语言程序设计》第四章:控制语句第五章:函数与模块化编程《数据库原理与应用》第二章:数据库基本概念第三章:SQL语言第四章:数据库设计与实现教学内容遵循科学性和系统性原则,结合课程目标,以客房管理系统为案例,引导学生将所学知识应用于实际项目中,培养编程实践能力和团队协作精神。
C语言程序设计客房管理系统源码和报告精编版
C语言程序设计客房管理系统源码和报告公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-《C语言程序设计》综合实验报告一、需求分析编写一个客房管理系统,提供键盘式菜单实现功能选择,功能包括:用户登记、统计、查询和用户信息修改。
软件平台:CODEBLOCKS二、整体设计整个客房管理系统被设计为用户登记模块、统计模块、查询模块和修改模块。
数据以TXT格式存储,支持保存信息。
三、详细设计(1通过函数添加信息到txt。
是(2)统计模块读取txt信息到结构体数组room,提示用户选择统计方式,设置计数器,顺序遍历Room数组,1、计数器记录数组数,即总客房数2、判断每一个数组中的结构体的时间是否和需要查询的日期相同,若相同,计数器加一(3)查询模块调用readfile 函数,将信息读入room结构体数组中,提示用户选择查询方式,通过基本查找算法查找Room 数组。
可以按房间号、价格、房间标记、用户姓名、居民身份证查询。
(4)修改模块调用readfile 函数,读取信息到room 结构体数组,提示用户输入需要修改的房间号,采用基本查找算法在数组中找到要修改的数据,提示用户重新更改房间信息,最后将结构体数组重新写入文件保存。
四、源代码#include <stdio.h>#include <stdlib.h>#include <string.h>选择统计方式 2、按时间统计 1、统计总客房数 遍历每一个结构判断是否和要调用打印函数,是 遍历每一个结构调用readfile (读取文件函判断是否是用户输入需要查询的房修改结构体j 调用saveall 函调用readfile 函数,读读取信息#define M 80//客户结构体typedef struct client{char name[12]; //姓名int sex; //性别int age; //年龄char id[20]; //身份证号int year; //入住时间int month;int date;}CLIENT;//客房结构体struct Hotel{int roomid;int tel; //用户的话int price; //价格int sign; //默认标记为空房间 CLIENT client_list; //客户信息}room[M];void Menu(); //目录界面void dengji(struct Hotel room[]);void savefile(struct Hotel room[],int i);int readfile(struct Hotel room[]);void tongji(struct Hotel room[]);void chaxun(struct Hotel room[]);void printmessage(struct Hotel room[],int n); void xiugai(struct Hotel room[]);//主函数int main(){int n;char reply;Menu();do{printf("请输入选项对应的数字:\n");scanf("%d",&n);while(n!=1&&n!=2&&n!=3&&n!=4){printf("请输入各选项对应的数字!\n"); scanf("%d",&n);}switch (n){case 1:dengji(room);break;case 2:tongji(room);break;case 3:chaxun(room);break;case 4:xiugai(room);break;}printf("是否还要进入其它选项(回复Y或y继续)\n"); scanf(" %c",&reply);}while (reply=='y'||reply=='Y');return 0;}//系统目录void Menu(){printf("************************客房管理系统***************************\n");printf( "\t\t\t 1————登记\n" );printf( "\t\t\t 2————统计\n" );printf( "\t\t\t 3————查询\n" );printf( "\t\t\t 4————修改\n" );printf("******************************************************* ********\n");}//登记客户信息void dengji(struct Hotel room[]){int x,j,i,flag;char answer;do{i=readfile(room);do{flag=0;printf("输入您想入住的房间号:(三位数)\n"); scanf("%3d",&x);for(j=0;j<i;j++){if(room[j].roomid==x){printf("该房间已经被占用!\n");flag=1;}}}while(flag>0);room[i+1].roomid=x;printf("请输入您的电话:(仅支持六位数号码~)\n"); scanf("%d",&room[i+1].tel);printf("入住价格\n");scanf("%d",&room[i+1].price);printf("请输入您的名字\n");scanf("%s",room[i+1].client_);printf("性别:(1表示女,0表示男)\n");scanf("%d",&room[i+1].client_list.sex);printf("您的年龄:\n");scanf("%d",&room[i+1].client_list.age);printf("您的id:\n");scanf("%s",room[i+1].client_list.id);printf( "请输入入住年月日(格式:2015 11 11)\n");scanf("%4d%2d%2d",&room[i+1].client_list.year,&room[i+1].client _list.month,&room[i+1].client_list.date);savefile(room,i+1);printf("是否还要继续登记(回复Y或y继续)\n");scanf(" %c",&answer);}while(answer=='Y'||answer=='y');}//读取txt中的信息int readfile(struct Hotel room[]){FILE *fp;int i;if((fp=fopen("room.txt","r"))==NULL){printf("Failure to open score.txt!\n");exit(0);}for (i=0;!feof(fp);i++){fscanf(fp,"%5d",&room[i].roomid);fscanf(fp,"%6d",&room[i].price);fscanf(fp,"%15d",&room[i].tel);fscanf(fp,"%12s",room[i].client_); fscanf(fp,"%4d",&room[i].client_list.sex); fscanf(fp,"%6d",&room[i].client_list.age); fscanf(fp,"%20s",room[i].client_list.id);fscanf(fp,"%7d",&room[i].client_list.year); fscanf(fp,"%5d",&room[i].client_list.month); fscanf(fp,"%5d",&room[i].client_list.date); }fclose(fp);return i;}//保存结构体数组信息到文件void savefile(struct Hotel room[],int i){FILE *fp;if((fp = fopen("room.txt","a"))==NULL){printf("Failure to open score.txt!\n");exit(0);}fprintf(fp,"%5d%6d%15d%12s%4d%6d%20s%7d%5d%5d",room[i].roomid,room[i].price,room[i].tel,room[i].client_,room[i].client_list.sex,room[i].client_list.age,room[i].client_list.id,room[i].client_list.year,room[i].client_list.month,room[i].client_list.date);fclose(fp);}//统计模块void tongji(struct Hotel room[]){int n,x;int year,month,day,j,count=0;x=readfile(room);printf("请选择统计方式:1>统计房客数,2>统计某一天的房客数\n");scanf("%d",&n);switch (n){case 1:printf("客房总数为:%d\n",x);break;case 2:printf("请输入具体时间:\n");scanf("%d%d%d",&year,&month,&day);for(j=0;j<x;j++){if(room[j].client_list.year==year&&room[j].client_list.month==m onth&&room[j].client_list.date==day){count++;}}printf("%d年%d月%d号的房客数为%d",year,month,day,count);}}//查询模块void chaxun(struct Hotel room[]){int n,x,roomid,price,j;char name[12],id[20];x=readfile(room);printf("按房间号查询请按1;按价格查询请按2;按用户姓名查询请按3;按身份证号码查询请按4\n");scanf("%d",&n);switch(n){case 1:printf("请输入房间号:\n");scanf("%d",&roomid);for(j=0;j<x;j++){if(room[j].roomid==roomid){print(room,j);}}break;case 2:printf("请输入价格:\n");scanf("%d",&price);for(j=0;j<x;j++){if(room[j].price==price){print(room,j);}}break;case 3:printf("请输入客户姓名:\n");scanf("%s",name);for(j=0;j<x;j++){if(strcmp(room[j].client_,name)==0) {print(room,j);}}break;case 4:printf("请输入身份证号码:\n");scanf("%s",id);for(j=0;j<x;j++){if(strcmp(room[j].client_list.id,id)==0) {print(room,j);}}}}//打印void print(struct Hotel room[],int j){printf("%5d%6d%15d%12s%4d%6d%20s%7d%5d%5d\n",room[j].roomid,room[j].price,room[j].tel,room[j].client_,room[j].client_list.sex,room[j].client_list.age,room[j].client_list.id,room[j].client_list.year,room[j].client_list.month,room[j].client_list.date);}void printmessage(struct Hotel room[],int n){int j;for(j=0;j<n;j++){printf("%5d%6d%15d%12s%4d%6d%20s%7d%5d%5d\n", room[j].roomid,room[j].price,room[j].tel,room[j].client_,room[j].client_list.sex,room[j].client_list.age,room[j].client_list.id,room[j].client_list.year,room[j].client_list.month,room[j].client_list.date);}}//修改模块void xiugai(struct Hotel room[]){int i, m, roomid;m = readfile(room);printf("请选择房间号:\n");scanf("%d",&roomid);for(i=0;i<m;i++){if(room[i].roomid==roomid){printf("请输入您的电话:\n");scanf("%d",&room[i].tel);printf("入住价格\n");scanf("%d",&room[i].price);printf("请输入您的名字\n");scanf("%s",room[i].client_);printf("性别:\n");scanf("%d",&room[i].client_list.sex);printf("您的年龄:\n");scanf("%d",&room[i].client_list.age);printf("您的id:\n");scanf("%s",room[i].client_list.id);scanf("%4d%2d%2d",&room[i].client_list.year,&room[i].client_lis t.month,&room[i].client_list.date);}}saveall(room,m);}//保存所有信息到txt文件void saveall(struct Hotel room[],int m){int j;FILE *fp;if((fp = fopen("room.txt","w"))==NULL){printf("Failure to open score.txt!\n");exit(0);}for(j=0;j<m;j++){fprintf(fp,"%5d%6d%15d%12s%4d%6d%20s%7d%5d%5d",room[j].roomid,room[j].price,room[j].tel,room[j].client_,Room[j].client_list.sex,room[j].client_list.age,room[j].client_list.id,room[j].client_list.year,room[j].client_list.month,room[j].client_list.date);}fclose(fp);}五、调试与测试主界面:1、登记功能测试:情况1:客户需要入住的房间号被占用,提示已经被占用,重新选择情况2:选择的房间没有被占用,提示用户输入登记信息,登记完成后系统后台执行保存,弹出窗口询问是否继续登记下一个顾客2、统计功能测试:情况1:选择统计客房总数,系统返回总客房数情况2:选择按日期统计,系统返回具体某天的客房总数3、查询功能测试:情况1:按房间号查询情况2:按价格查询情况3:按用户名查询情况4:按身份证号查询4、修改功能测试:输入需要修改的房间后,系统提示用户重新写入房间信息六、总结本程序可通过键盘选择目录对应的功能,提供登记、查询、统计、修改四大功能。
C课程设计酒店客房管理系统
计算机学院课程设计报告课程名称: C++课程设计课题:客房管理系统专业班级:学号:姓名:指导老师:日期: 2013年7 月3 日目录1.课题简介 (03)2.设计方案 (04)3.具体设计及截屏图 (05)4.关键代码分析 (10)5.测试 (15)6.课题总结与体会 (17)7.参考文献 (18)8.源代码 (19)1.课题简介客房管理系统是根据某酒店对客房管理的实际情况进行编写的,主要目的是为了方便酒店对客房的实际情况进行集中的查询与管理工作,以提高整个酒店的工作。
经过电脑及生活中的调查研究,根据客人的经济水平和生活理念,客房的类型已趋向于多样化,有标准房,单人房,VIP间,甚至总统套房。
而初步设定通过客房的编号、类型、价格来定位一个客房的管理系统。
客房是一个对外服务的内容,为了客人的住宿要求,所以系统需要实现客房信息的录入、修改和删除功能。
客人对剩余客房需要进行选择,系统必须实现相应的查询、排序和输出功能,使客人择优而居。
主要实现的功能包括:客房信息的录入、修改、删除、剩余客房信息查询、排序、输出。
客房信息可写入文件,也可从文件中读取。
客房信息涉及的数据有客房编号、客房类型、住房天数、订金、客户姓名、客户身份证号码等。
2.设计方案按照需求分析所得,客房信息系统有以下几个功能模块:1.新建两个类;分别为Customer和HolterRoom ,其中Customer为基类,HolterRoom通过共有继承,成为Customer的派生类。
2.录入,增添客房信息;先判断是否已存在客房信息,如果已存在,则再选择是否添加;若不存在,则添加客房信息。
3.修改客房信息;读取保存的客房信息数据,根据客房编号查找所需修改的客房信息,然后根据具体所需,修改成员参数。
4.删除客房信息模块;从保存中的文件中读取信息,删除需要删除的信息,完善现在的客房运作。
5.查询客房函数;分按编号、类型、客户姓名查找客房信息,这样可以更具有人性化来选择所剩余的客房,从而进行日常安排。
C语言课程设计-客房管理系统
一、题目:客房管理系统二、题目要求系统要求包括新用户登记功能、统计功能、查询功能、修改功能。
题目建议使用如下结构体:Struct c;ient{Char name[20];Int sex;Int age;Char ID_card[20];Int year;Int month;Int date;};Sturct hotel{Int Room_ID;Int tel;Int price;Bool sign;Struct client client_list;}Room[num]三、需求分析根据题目要求,应提供文件输入、输出、修改、删除、浏览等操作,可选择在程序中提供菜单选择功能以选择各个功能模块。
四、总体设计登记模块:输入客人人数、客人姓名、性别、年龄、身份证号码、登记年月等信息。
统计模块:统计房间使用情况。
查询模块:查询已用、未用房间等信息。
修改模块:提供客房信息、客人信息的修改。
五、详细设计1、主函数主函数可采用菜单式选择方案,将各个功能以功能模块方式在菜单中呈现。
结构流程如下:程序如下:void main() /*主菜单,选择数字来选择功能*/{int n,w=1;struct Hotel *info;while(w){puts("\t\t=======主菜单=============\n");puts("\t\t==== 1 登记\n");puts("\t\t==== 2 统计\n");puts("\t\t==== 3 搜索\n");puts("\t\t==== 4 修改\n");puts("\t\t==== 5 退出\n")printf("请选择(1-5):[]\b\b");scanf("%d",&n);if(n<1||n>5){w=1;getchar();}switch(n){case 1:regi();break;case 2:stat();break;case 3:search();break;case 4:modify();break;case 5:tuichu();break;default: break;}getchar();}}2、登记模块利用结构体数组输入客人姓名、性别、年龄等信息。
c课程设计客房管理系统
c课程设计客房管理系统一、教学目标本课程的目标是让学生掌握客房管理系统的核心知识和技能,能够独立设计和实现一个简单的客房管理系统。
具体来说,知识目标包括了解客房管理系统的基本概念、组成部分和设计原理;技能目标包括能够使用相关编程语言和工具进行系统设计和编码实现;情感态度价值观目标包括培养学生的创新意识、团队合作精神和对信息技术行业的热爱。
二、教学内容本课程的教学内容主要包括客房管理系统的基本概念、组成部分和设计原理,以及相关编程语言和工具的使用。
具体包括以下几个部分:1.客房管理系统的基本概念:介绍客房管理系统的定义、功能和作用,以及客房管理系统的分类和发展趋势。
2.客房管理系统的组成部分:讲解客房管理系统的各个组成部分,包括房间信息管理、预订管理、入住管理、退房管理和报表统计等。
3.客房管理系统的设计原理:介绍客房管理系统的设计原则和方法,包括系统分析、系统设计、系统实现和系统测试等。
4.相关编程语言和工具的使用:学习并掌握客房管理系统设计所需的编程语言(如Java、C++等)和工具(如MySQL、Eclipse等)。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式。
包括:1.讲授法:通过讲解客房管理系统的基本概念、设计原理和相关编程语言,使学生掌握课程的基本知识和技能。
2.案例分析法:分析实际案例,使学生更好地理解客房管理系统的功能和作用,以及如何设计和实现一个客房管理系统。
3.实验法:通过上机实验,使学生能够动手实践,巩固所学知识和技能,提高实际操作能力。
4.小组讨论法:学生进行小组讨论,培养学生的团队合作精神和创新意识。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用国内外优秀的客房管理系统相关教材,为学生提供系统的理论知识。
2.参考书:提供相关的参考书籍,为学生提供更多的学习资料。
3.多媒体资料:制作多媒体课件,以图文并茂的形式展示客房管理系统的相关知识和案例。
C语言程序设计 客房管理系统源码和报告
《C语言程序设计》综合实验报告一、需求分析编写一个客房管理系统,提供键盘式菜单实现功能选择,功能包括:用户登记、统计、查询和用户信息修改。
软件平台:CODEBLOCKS二、整体设计整个客房管理系统被设计为用户登记模块、统计模块、查询模块和修改模块。
数据以TXT格式存储,支持保存信息。
三、详细设计(1)用户登记模块通过函数readfile 读取txt 文件信息到room 数组,提示用户选择想要入住的房间号,判断是否已经被占用,若占用,重新选择房间号,若没有占用,提示输入登记信息,把数据存入Room 数组中,通过savefile 添加信息到txt 。
调用readfile 函数是否提示用户输入登记调用savefile函数存储(2)统计模块读取txt信息到结构体数组room,提示用户选择统计方式,设置计数器,顺序遍历Room数组,1、计数器记录数组数,即总客房数2、判断每一个数组中的结构体的时间是否和需要查询的日期相同,若相同,计数器加一调用readfile函数,读(3)查询模块调用readfile 函数,将信息读入room 结构体数组中,提示用户选择查询方式,通过基本查找算法查找Room 数组。
可以按房间号、价格、房间标记、用户姓名、居民身份证查询。
2、按时间统计1、统计总客房数 选择统计方式按房间号查按姓名查询按价格查询 按身份证号读取信息每一个查询函数内部结构如下:判断是否和要是调用打印函数,(4)修改模块调用readfile函数,读取信息到room结构体数组,提示用户输入需要修改的房间号,采用基本查找算法在数组中找到要修改的数据,提示用户重新更改房间信息,最后将结构体数组重新写入文件保存。
调用readfile(读取文件函输入需要查询的遍历每一个结构判断是否是用户需要修改的修改结构体j调用saveall函四、源代码#include <>#include <>#include <>#define M 80oomid==x){printf("该房间已经被占用!\n"); flag=1;}}}while(flag>0);room[i+1].roomid=x;printf("请输入您的电话:(仅支持六位数号码~)\n");scanf("%d",&room[i+1].tel);printf("入住价格\n");scanf("%d",&room[i+1].price);printf("请输入您的名字\n");scanf("%s",room[i+1].;printf("性别:(1表示女,0表示男)\n");scanf("%d",&room[i+1].;printf("您的年龄:\n");scanf("%d",&room[i+1].;printf("您的id:\n");scanf("%s",room[i+1].;printf( "请输入入住年月日(格式:2015 11 11)\n");scanf("%4d%2d%2d",&room[i+1].,&room[i+1].,&room[i+1].; savefile(room,i+1);printf("是否还要继续登记?(回复Y或y继续)\n");scanf(" %c",&answer);}while(answer=='Y'||answer=='y');}oomid);fscanf(fp,"%6d",&room[i].price); fscanf(fp,"%15d",&room[i].tel); fscanf(fp,"%12s",room[i].;fscanf(fp,"%4d",&room[i].;fscanf(fp,"%6d",&room[i].;fscanf(fp,"%20s",room[i].;fscanf(fp,"%7d",&room[i].;fscanf(fp,"%5d",&room[i].;fscanf(fp,"%5d",&room[i].;}fclose(fp);return i;}oomid,room[i].price,room[i].tel,room[i].,room[i].,room[i].,room[i].,room[i].,room[i].,room[i].;fclose(fp);}=year&&room[j].==month&&room[j].==day) {count++;}}printf("%d年%d月%d号的房客数为%d",year,month,day,count);}}oomid==roomid){print(room,j);}}break;case 2:printf("请输入价格:\n");scanf("%d",&price);for(j=0;j<x;j++){if(room[j].price==price){print(room,j);}}break;case 3:printf("请输入客户姓名:\n");scanf("%s",name);for(j=0;j<x;j++){if(strcmp(room[j].,name)==0) {print(room,j);}}break;case 4:printf("请输入身份证号码:\n"); scanf("%s",id);for(j=0;j<x;j++){if(strcmp(room[j].,id)==0) {print(room,j);}}}}oomid,room[j].price,room[j].,room[j].,room[j].,room[j].,room[j].,room[j].,room[j].;}void printmessage(struct Hotel room[],int n){int j;for(j=0;j<n;j++){printf("%5d%6d%15d%12s%4d%6d%20s%7d%5d%5d\n", room[j].roomid,room[j].tel,room[j].,room[j].,room[j].,room[j].,room[j].,room[j].,room[j].;}}oomid==roomid){printf("请输入您的电话:\n"); scanf("%d",&room[i].tel);printf("入住价格\n");scanf("%d",&room[i].price);printf("请输入您的名字\n");scanf("%s",room[i].;printf("性别:\n");scanf("%d",&room[i].;printf("您的年龄:\n");scanf("%d",&room[i].;printf("您的id:\n");scanf("%s",room[i].;printf( "请输入入住年月日(格式:)");scanf("%4d%2d%2d",&room[i].,&room[i].,&room[i].; }}saveall(room,m);}oomid,room[j].price,room[j].tel,room[j].,Room[j].,room[j].,room[j].,room[j].,room[j].,room[j].;}fclose(fp);}五、调试与测试主界面:1、登记功能测试:情况1:客户需要入住的房间号被占用,提示已经被占用,重新选择情况2:选择的房间没有被占用,提示用户输入登记信息,登记完成后系统后台执行保存,弹出窗口询问是否继续登记下一个顾客2、统计功能测试:情况1:选择统计客房总数,系统返回总客房数情况2:选择按日期统计,系统返回具体某天的客房总数3、查询功能测试:情况1:按房间号查询情况2:按价格查询情况3:按用户名查询情况4:按身份证号查询4、修改功能测试:输入需要修改的房间后,系统提示用户重新写入房间信息六、总结本程序可通过键盘选择目录对应的功能,提供登记、查询、统计、修改四大功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
东华理工大学长江学院C语言课程设计报告学院:机械与电子工程系专业:电子信息工程题目:客房管理系统设计班级: 1 4 3 0 4 0 1姓名:陈芳影学号:201430040115指导教师:胡文龙2015年12月15日报告目录报告摘要——————————————2题目要求——————————————3需求分析——————————————3总体分析——————————————3详细设计——————————————4主函数部分——————————————4~7各功能模块函数部分—————————7输入模块——————————————7~8统计模块——————————————8~10查询模块——————————————11~13修改模块——————————————13~16公共函数部分—————————————16~19 上机操作——————————————19~21总结——————————————22报告摘要此次C语言课程设计我选择的是客房管理系统设计,系统设计采用c语言在microsoft visual c++6.0下编译而成。
客房管理系统包括客户基本信息的录入、统计、查询、修改功能。
系统开发由分析、设计、实施、调试和测试等阶段组成,其中信息管理为开发的重点。
在程序设计中结构体的调用与文件的读写为编译的重点部分。
报告正文一、题目要求客户信息包括身份证号、姓名、性别、年龄、房间号。
试设计一客房管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)客户信息录入功能(客户信息用文件保存)(3)客户信息统计功能(4)客户信息查询功能,查询方式(5)客户信息修改功能(可选项)[提示]建立客户信息结构体,结构体成员包括身份证号、姓名、性别、年龄、房间号二、需求分析根据题目要求,要求对客户信息进行输入、输出等操作;在程序中需要浏览客户的信息,应提供显示、统计、查询、修改等操作;另外还应提供键盘式选择菜单实现功能选择。
三、总体设计根据需求分析,可以对这个系统的设计分为以下几个模块:系统功能模块图四、详细设计1、主函数部分:主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。
其中各功能模块用菜单方式选择。
[流程图]:主函数流程图main() /**主函数**/{printf("\n\n\n\t\t~~~~~~~~~~~~~~~~酒店管理系统~~~~~~~~~~~~~~~~~");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---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;i<r+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;j<p+n;j++){puts("\n\tName:\t");scanf("%s",room[i].client_list[j].name);puts("\n\tSex(1 for men || 0 for women):\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();}void menu() /*****菜单函数*****/{int n,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");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);}}注:menu函数能提供菜单方式选择功能,可以根据用户需要进入到所想要的操作模块中,此外把menu函数独立出来,可以方便随时对它进行调用,容易返回到系统界面。
并用结构体来存放客户信息:struct client{char name[20];int sex;int age;char ID_card[20]; /*居民身份证*/int year;int month;int date; /*住店时间*/};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();2、各功能模块函数部分:(1)输入模块[需求分析] 对信息进行输入。
[流程图]:输入模块流程图程序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;i<r+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;j<p+n;j++){puts("\n\tName:\t");scanf("%s",room[i].client_list[j].name);puts("\n\tSex(1 for men || 0 for women):\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)统计模块[需求分析] 该模块的功能是显示所有客户记录信息。