C语言课程设计--酒店房间登记与计费管理系统程序代码.doc
酒店房间登记与计费管理系统《C语言课程设计》.
《C语言程序设计》课程设计报告学院: _专业班级:学生姓名:学号:设计地点(单位)________ 计算机自主学习中心 ________设计题目:___ 酒店房间登记与计费管理系统设计完成日期:年月日指导教师评语: ______________________ ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________成绩(五级记分制):______ __________指导教师(签字):________ ________摘要本次C语言课程设计我选择的设计任务是客房管理系统设计,这个管理系统是用C语言在VC 6.0 c++的编译器编译而成的。
客房管理系统包括客户基本信息的录入、房间统计、用户个人费用及住房信息查询、自动结账、退出系统功能等。
系统的开发主要由分析、查阅相关书籍和参考资料、程序设计、编写代码、运行实施、调试和测试、维护和修改等阶段组成,其中信息管理和自动运行为开发的重点。
在程序设计中结构体的调用与各函数、数组的调用为编译的重点部分。
关键词:结构体函数数组课程设计任务书设计题目:酒店房间登记与计费管理系统设计教研室主任:指导教师:伍建全/雷亮/焦晓军陈应祖/杨治明2012年1月1日目录1. 软件需求说明书 (7)1.1需求分析 (7)1.2软件功能简介 (7)1.2.2 查询房间入住情况 (7)1.2.3 查询当前费用 (7)1.2.4 结账退房 (7)1.3界面、数据结构要求 (7)2. 系统分析与设计 (8)2.1软件界面设计 (8)2.1.1首页欢迎界面 (8)2.1.2 登记入住界面 (8)2.1.3 客户入住信息查询界面 (9)2.1.4 客户个人费用查询界面 (10)2.1.5 客户退房结账界面 (10)2.1.6 客户结账收退支付费用结账界面 (11)2.1.7 用户退出系统界面 (11)2.2软件的数据(结构)设计 (12)2.3软件的算法设计 (13)2.3.1主要结构模块框图 (13)2.3.2 主要流程图 (13)2.3.2 具体模块使用结构流程 (13)3.软件的实现 (15)3.1 核心功能再现 (15)3.2关键代码分析 (31)3.2.1int dengji() (31)3.2.2int lookfor_room() (31)3.2.3int lookfor_price() (32)3.2.4 int tuifang() (32)4.软件测试 (33)4.1 函数简介 (33)4.2 测试用例 (33)4.2.1 void welcome(); //首页欢迎界面 (33)4.2.2 int dengji() (33)4.2.3 int lookfor_room();//用来查询房间入住情况 (33)4.2.4 int lookfor_price(); //用来查询当前费用 (33)4.2.5 int tuifang(); //用来结账退房 (34)4.2.6 void yingzhifu(); //用来结账付款 (34)4.2.7 int quit(); //退出函数 (34)5.软件使用说明书 (35)6.致谢 (37)7.参考文献 (38)7.1 何钦铭颜晖.《C语言程序设计》.高等教育出版社.2008年 (38)7.2 谭浩强张基温.《C语言程序设计教程》.高等教育出版社.2006年 (38)7.3 Al Kelley等《C语言解析教程》,Al Kelley等,机械工业出版社,2006.1 (38)1 软件需求说明书1.1需求分析随着时代的进步、科学的发展,对信息技术的要求也越来越高。
酒店管理系统代码(C语言版)
#include <stdio.h〉#include 〈stdlib。
h>#include <string。
h>//房间信息结构体struct Node{int Count; //指示该房间有多少个房客char nameOne[20]; //房客1的名字char nameTwo[20]; //房客2的名字int sexOne;//房客1的性别—1代表女,0代表没有,1代表男int sexTwo; //房客2的性别int roomNumber;//房间号}roomArray[5];//初始化房间数组void InitArray(){int i;for(i=0;i<5;i++){roomArray[i].roomNumber = 301+i;memset(roomArray[i]。
nameOne,0,20);memset(roomArray[i]。
nameTwo,0,20);roomArray[i].sexOne = 0;roomArray[i].sexTwo = 0;roomArray[i].Count = 0;}}void fun1() //旅客入住的操作{char name[20];int sex;int i;printf(”\n输入入住旅客姓名和性别(空格隔开,1为男,—1为女):”);scanf(”%s %d",name,&sex);for(i=0;i<5;i++){if(roomArray[i]。
Count == 2){continue;}else if(roomArray[i].Count == 1){if(roomArray[i]。
sexOne != sex){continue;}strcpy(roomArray[i].nameTwo,name);roomArray[i].sexTwo = sex;roomArray[i]。
Count++;system("cls”);printf("客人已经成功入住,在房间%d”,roomArray[i].roomNumber);return;;}else{strcpy(roomArray[i]。
酒店管理系统c语言程序设计
酒店管理系统c语言程序设计以下是一个简单的酒店管理系统的 C 语言程序设计示例,包括了客户入住、退房和查询房间状态等基本功能。
请注意,这只是一个简化的示例,实际的酒店管理系统可能需要更多的功能和复杂的逻辑。
```c#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_ROOMS 100#define MAX_CUSTOMERS 100// 房间结构体struct Room {int roomNumber;int isOccupied;int customerID;};// 客户结构体struct Customer {int customerID;char customerName[50];};// 房间列表struct Room rooms[MAX_ROOMS];// 客户列表struct Customer customers[MAX_CUSTOMERS];// 初始化房间列表void initRooms() {for (int i = 0; i < MAX_ROOMS; i++) {rooms[i].roomNumber = i + 1;rooms[i].isOccupied = 0;rooms[i].customerID = 0;}}// 初始化客户列表void initCustomers() {for (int i = 0; i < MAX_CUSTOMERS; i++) {customers[i].customerID = i + 1;strcpy(customers[i].customerName, "Customer");}}// 查找空闲房间int findFreeRoom() {for (int i = 0; i < MAX_ROOMS; i++) {if (rooms[i].isOccupied == 0) {return i;}}return -1;}// 客户入住void checkIn(int customerID, int roomNumber) {int freeRoom = findFreeRoom();if (freeRoom != -1) {rooms[freeRoom].isOccupied = 1;rooms[freeRoom].customerID = customerID;printf("Customer %d checked in to Room %d\n", customerID, roomNumber); } else {printf("No free rooms available\n");}}// 客户退房void checkOut(int roomNumber) {for (int i = 0; i < MAX_ROOMS; i++) {if (rooms[i].roomNumber == roomNumber && rooms[i].isOccupied == 1) { rooms[i].isOccupied = 0;rooms[i].customerID = 0;printf("Customer checked out of Room %d\n", roomNumber);return;}}printf("Room not found\n");}// 查询房间状态void viewRoomStatus(int roomNumber) {for (int i = 0; i < MAX_ROOMS; i++) {if (rooms[i].roomNumber == roomNumber) {if (rooms[i].isOccupied == 1) {printf("Room %d is occupied by Customer %d\n", roomNumber, rooms[i].customerID);} else {printf("Room %d is vacant\n", roomNumber);}return;}}printf("Room not found\n");}// 主函数int main() {initRooms();initCustomers();int choice;while (1) {printf("1. Check In\n2. Check Out\n3. View Room Status\n4. Exit\n"); scanf("%d", &choice);switch (choice) {case 1:int customerID, roomNumber;printf("Enter customer ID: ");scanf("%d", &customerID);printf("Enter room number: ");scanf("%d", &roomNumber);checkIn(customerID, roomNumber);break;case 2:printf("Enter room number: ");scanf("%d", &roomNumber);checkOut(roomNumber);break;case 3:printf("Enter room number: ");scanf("%d", &roomNumber);viewRoomStatus(roomNumber);break;case 4:exit(0);break;default:printf("Invalid choice\n");}}return 0;}```上述代码实现了一个简单的酒店管理系统,包括客户入住、退房和查询房间状态等功能。
酒店房间登记与计费管理系统
黑龙江工业学院《C语言程序设计》课题报告题目名称:酒店房间登记与计费管理系统班级:电气4班组长:王树锦组员:贾俊枫王莹许茗王冠指导教师:褚洪波一、程序功能描述1、屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作.2、对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在登记入住时进行选择。
3、在结账退房时,根据入住时间,计费方式和房间单价计算出总费用。
前台操作:包括开房登记、退房结账和房状态查看预订管理:包括预订房间、预订入住和解除预订信息查询:包括在住客人列表、预订客人列表报表统计:包括开房记录统计、退房结账和预订房间统计完成提示:(1)住店情况记录在住店管理表中:客人姓名、房号、入住时期、预计离开日期、结账离开日期、应付金额(2)每个房间的使用情况记录在房间信息表中:房号、价格、押金、房状态(空,入住)(3)预定情况记录在预订情况表中:客人姓名、房号、入住日期、预计离开日期二、程序流程图三、数据结构设计创建房间信息结构体/*创建结构体date,记录入住和结账时间*/struct date{int mon;int day ;int hour ;};/*创建结构体hotel */struct hotel{int num; //房间号int kind; /*房间种类 1—单人间 2—双人间*/char name [20]; //入住客户姓名char ID[19]; //身份证号int h_money; //按日收费价格int d_money; //按小时收费价格struct date time; //入住时间int flag; /*flag 含义 0—无人入住 1—按小时入住 2-按天入住*/int deposit; //押金}room [M];四、总结及体会组长:王树锦实用为主系统以用户需求为目标,以方便用户为原则,同进融入先进的管理经验,在通用的成熟的酒店管理系统的框架下,根据用户的实际需求功能情况,为用户进行二次开发,度身订造一套先进的管理系统,尽可能降低使用前的培训、实施和使用中的维护时间。
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语言课程设计报告酒店房间登记与计费管理系统源代码.docx
酒店房间登记与计费管理系统源代码#define M 80#include<stdlib.h>#include<stdio.h>#include<string.h>/* 函数声明 */void check_in();/*登记入住函数 */void chamber();/*入住情况函数 */void price();/*当前费用函数 */void fee();/*结账退房函数 */void infor();/*信息查询函数 */void save(int);/*保存信息函数 */void read(int);/*读取信息函数 */void choice();/*功能选择函数 */int judge_year(int); /*判断闰年函数 */void information();/*输出全部房间信息 *//* 结构体 */struct time{int year;int mon;int date;int hour;};struct room/*定义各房间信息的结构体 */{char name[40];char ID[18];int flag;/* 0-无人入住, 1- 按小时计费,2- 按天计费 */ long int deposit;time t[2];/* 0-入住时间, 1- 当前时间 */}room[M];char c1[40]={0};char c2[18]={0};/* 主函数(主界面)*/void main(){system("cls");/*清屏*/system("color 4E");int n;printf("********************************************************************************");printf("****");printf("**\t\t----------欢迎光临万豪酒店----------**");printf("****");printf("********************************************************************************\n\n");printf("\t\t\t[ 1.登记入住]\n\n");printf("\t\t\t[ 2.入住情况]\n\n");printf("\t\t\t[ 3.当前费用]\n\n");printf("\t\t\t[ 4.结账退房]\n\n");printf("\t\t\t[ 5.信息查询]\n\n");printf("\t\t\t[ 6.全部信息]\n\n");printf("\t\t\t[7.退出系统]\n\n");printf("请输入您需要的服务的代码:");scanf("%d",&n);while(n<1||n>7){printf("\n\n代码输入有误,请您重新输入:");scanf("%d",&n);}switch(n)/*根据输入数字选择功能*/ {case 1:check_in();break;/*调用登记入住函数*/ case 2:chamber();break;/*调用房间情况函数*/case 3:price();break;/*调用当前费用函数*/case 4:fee();break;/*调用结账退房函数*/case 5:infor();break;/*调用信息查询函数*/case 6:information();break;/*调用全部信息函数*/case 7:exit(0);/*调用退出系统函数*/}}void chamber(){system("cls");/*清屏*/system("color 4E");printf("\n**********************************房间使用情况**********************************\n");int count=0;int i;int j;int k;int m;for(i=1;i<=80;i++)/*统计未入住房间总数*/{read(i);if(room[i-1].flag==0)count++;}printf("当前未使用房间数:%d\n\n\n",count);chaxun:printf("请输入你要查询的房间号(1-40: 单人间, 41-80: 双人间): ");/* 输入房间号查询房间入住情况*/scanf("%d",&m);while(m<1||m>80){printf("\n\n房间号输入有误,请您重新输入:");scanf("%d",&m);}read(m);while(room[m-1].flag!=0){printf("\n\n对不起,该房间已有客人入住,请输入其他房间号:");scanf("%d",&m);read(m);}printf("\n\n该房间没有客人入住, 您要入住该房间吗?(1- 是, 2- 否):");scanf("%d",&j);while(j<1||j>2){printf("\n\n 您的选择输入有误,请您重新输入: ");scanf("%d",&j);}if(j==1)check_in();{printf("\n\n您需要继续查询吗?(1- 是, 2- 否): ");scanf("%d",&k);while(k<1||k>2){printf("\n\n您的选择输入有误,请您重新输入:");scanf("%d",&k);}if(k==1)goto chaxun;else{printf("\n\n");main();}}}/* 登记入住函数*/void check_in(){system("cls");/*清屏*/system("color 4E");int i;int j;int l;int k;int tab[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};printf("\n************************************登记入住************************************\n");printf("请输入您将入住的房间号:");scanf("%d",&i);while(i<1||i>80){printf("\n\n房间号输入有误,请您重新输入:");scanf("%d",&i);}read(i);while(room[i-1].flag!=0)/*判断房间是否入住*/{printf("\n\n对不起,该房间已有客人入住,请输入其他房间号:"); scanf("%d",&i);read(i);}printf("\n\n请输入您的姓名: ");/*客人信息登记*/ scanf("%s",room[i-1].name);j=strlen(room[i-1].name);while(j<0){printf("\n\n您的姓名输入有误,请您重新输入:\n");scanf("%s",room[i-1].name);j=strlen(room[i-1].name);}printf("\n\n请输入您的证件号码:");scanf("%s",room[i-1].ID);j=strlen(room[i-1].ID);while(j!=18){printf("\n\n您的证件号码输入有误,请您重新输入:\n");scanf("%s",room[i-1].ID);j=strlen(room[i-1].ID);}if(i<=40){printf("\n\n您选择的是单人间,该房间 148 元/ 天,8 元/ 小时。
C语言课程设计__客房管理系统
,a click to unlimited possibilities
汇报人:
目录 /目录
01
点击此处添加 目录标题
04
系统设计
02
系统概述
05
系统实现
03
系统需求分析
06
系统部署与维 护
01 添加章节标题
02 系统概述
客房管理系统的功能
入住登记:用户可以在线办 理入住登记,填写个人信息, 选择入住时间。
等
数据需求分析
客房信息:包括房间号、类型、价格、状 态等
客户信息:包括姓名、联系方式、入住时 间、退房时间等
预订信息:包括预订时间、预订房间、预 订人数等
账单信息:包括消费金额、支付方式、支 付时间等
管理员信息:包括管理员账号、密码、权 限等
系统日志:包括操作记录、错误日志、系 统状态等
04 系统设计
等
财务管理模块: 账单管理、支 付管理、发票
管理等
系统管理模块: 系统设置、权 限管理、日志
管理等
算法设计
排序算法:选择合适的排序算 法,如快速排序、归并排序等
查找算法:选择合适的查找算 法,如二分查找、哈希查找等
数据结构:选择合适的数据结 构,如链表、数组、树等
性能优化:优化算法的时间复 杂度和空间复杂度,提高系统 的运行效率
客房预订:用户可以在线预 订客房,查看客房信息,选 择合适的客房。
退房结算:用户可以在线办 理退房结算,查看消费明细,
支付房费。
客房管理:酒店管理人员可 以管理客房信息,查看客房
状态,调整客房价格。
系统的基本流程
客房预订:用户选择客房类 型、入住日期和退房日期, 系统查询可用客房并预订
酒店房间登记与计费管理系统C语言课程设计
酒店房间登记与计费管理系统C语言课程设计本文将分为三个部分来讲解酒店房间登记与计费管理系统C语言课程设计,分别是项目概述、系统设计和代码实现。
一、项目概述酒店房间登记与计费管理系统是一种管理酒店客房、收集客户信息、房间安排和计费的软件系统。
这个系统主要目的是提高酒店管理效率、提升客户体验和优化酒店服务,为酒店管理者提供一个方便快捷的管理工具。
该系统设计包括三个模块:客户信息管理模块、客房管理模块和计费管理模块。
客户信息管理模块主要是登记客户信息,包括客户姓名、身份证号码和联系方式等。
客房管理模块包括安排客房、分配房间号码和查询客房使用情况等。
而计费管理模块负责客户使用房间时间的计算和收费。
二、系统设计1.客户信息管理模块该模块主要包括客户信息的登记、查询和修改。
在系统启动时,需要进行客户信息的初始化,包括创建一个客户信息文件和记录客户信息的结构体。
客户信息登记时,需要输入客户姓名、身份证号码和联系方式,并将其存入文件内容中。
查询操作时,可以输入客户信息的关键字进行查找,并在日志中记录相关操作。
2.客房管理模块该模块主要包括客房的安排、分配和查询。
在系统启动时,需要进行客房信息的初始化,包括创建一个客房信息文件和记录客房信息的结构体。
分配客房时,需要根据客户需要和酒店客房情况进行选择,并显示可用客房列表供客户选择。
客房查询时可以根据客房类型和状态进行查询,并在日志中记录相关操作。
3.计费管理模块该模块主要负责客户使用房间时间的计算和收费。
在系统启动时,需要进行计费信息的初始化,包括创建一个计费信息文件和记录计费信息的结构体。
计费信息包括入住时间、房间号码、房间价格和离店时间等,可以根据这些信息来计算客户的房间费用,包括房费、服务费、押金等。
在客户离店时,需要进行清算,并将相关费用存入文件中,并在日志中记录相关操作。
三、代码实现本系统采用C语言进行编写,在实现时主要采用了结构体、文件操作、函数调用等技术。
C语言课程设计宾馆房间登记与计费管理系统
C语言课程设计--宾馆房间登记与计费管理系统《C语言》课程设计报告学生姓名:学号:2222222222221111111111111000000000000 学院:班级:题目: 宾馆房间登记与计费管理系统指导教师:职称:教授实验师王王王实验师2012年07月15日目录目录 (I)一、选题背景 (1)1.1主要问题及技术要求 (1)1.2指导思想 (1)二、算法设计 (1)2.1程序功能需求 (1)2.2功能框架图 (2)2.3设计方案说明 (3)2.4计算公式 (3)三、程序设计及功能说明 (4)3.1程序功能介绍 (4)四、结果分析 (6)4.1主界面 (6)4.2登记入住 (6)4.3结账退房 (9)4.4查询当前入住情况 (12)4.5查询当前费用 (13)4.6查询历史记录 (14)五、结论或总结 (14)六、课程设计心得体会 (15)参考文献 (16)源程序 (17)附表一 (63)一、选题背景1.1主要问题及技术要求本题对时间的控制要求较高,尤其是必须控制输入的时间,使其不能小于以前录入过的时间,防止当前时间输入错误。
还有退房时的信息对比难度也较高,必须保证退房顾客与系统记录信息一致,防止服务错漏或错误退房。
这是本题两个较大的难点。
此外还有房间号、身份证号、时间的输入格式的控制、跨年的时间计算等难点。
1.2指导思想学了C语言,我们需要一个学以致用的机会。
选题后,在题目的完成过程中,我们的知识可以更加牢固。
在完善酒店管理系统的过程中,我们要锻炼自己的基于现实思考的能力,培养自己缜密的思维。
相对于大多数人做的学生管理系统,酒店管理系统对于时间的控制要求严格,对于我们的算法思想要求较高,因此,在完成该次课程设计的过程中,我们要锻炼我们的逻辑思维能力,同时对C语言有更深刻的认识,把C语言知识掌握得更牢固。
同时,该系统以能够帮助酒店很好地管理客户信息,提高营业效率和数据的安全性和可靠性,减少劳力浪费为设计目标。
酒店管理系统(c语言)
附录1.源程序代码#include<stdio.h〉void search();int main(){int s;printf(”—--——--——-——---—--—---———-—--—\n”);printf(" && 长江大酒店欢迎您的光临&&\n");printf(” --—-—---——-——------——-——--——--\n”);printf(” 1。
进入2退出\n”);printf("请您输入您的选择:");scanf(”%d",&s);//输入选项前的数字if(s==1)//判断s是否为1search();elseprintf("抱歉,您的输入有误!\n”);return 0;}void search(){int p[18],q[3],a,b,c,x,y,z;printf("请选择您需要的服务号码:\n1。
预订房间2。
退订房间\n”);scanf(”%d”,&a);//输入服务号码if(a>2||a<1)//判断a是否为1或2{printf("抱歉,您的输入有误,请重新输入!\n”);}else switch(a){case 1://执行预订房间的操作{printf("请您输入您的身份证号码:\n”);scanf(”%d”,&p[18]);//输入身份证18位数字printf("您已成功登入预订系统!!\n");printf(”请您选择预订房间标准的号码:\n”);printf("1。
单人标准间/夜150元 2.双人标准间/夜200元\n3.豪华套房/夜300元 4.总统套房/夜500元\n”);scanf("%d",&b);//输入预订房间的种类switch(b){case 1://执行预订单人标准间的操作printf(”请输入预订天数:\n");scanf(”%d",&x);//输入预订天数printf(”客官需预交款%d元!\n”,x*150);//输出预交款金额printf("1。
酒店管理系统c语言课程设计
酒店管理系统c语言课程设计一、课程目标知识目标:1. 理解酒店管理系统的基本功能需求,掌握C语言实现的基础知识框架。
2. 掌握结构体、数组、函数等C语言基础语法在酒店管理系统中的应用。
3. 学会使用文件操作对酒店管理系统进行数据持久化处理。
技能目标:1. 能够独立设计并实现一个简单的酒店管理系统,包括客房管理、客户信息管理、订单管理等功能模块。
2. 能够运用所学C语言知识解决酒店管理系统中遇到的实际问题,如数据存储、查询优化等。
3. 培养学生的编程实践能力,通过课程设计,加强代码编写和调试技巧。
情感态度价值观目标:1. 培养学生面对复杂问题的分析能力和解决能力,增强学生挑战困难的信心。
2. 培养学生的团队合作精神,通过分组讨论和协作完成课程设计,提高沟通和协调能力。
3. 激发学生对计算机编程的兴趣,鼓励学生将所学知识运用到实际生活场景中,体会编程的实用价值。
课程性质分析:本课程为C语言程序设计课程的实践环节,侧重于培养学生的实际编程能力和解决实际问题的能力。
学生特点分析:学生已经掌握了C语言的基本语法和编程技巧,具有一定的编程基础,但可能缺乏将理论知识应用于实际项目的能力。
教学要求:1. 结合酒店管理系统的实际场景,引导学生分析问题、设计方案。
2. 注重实践操作,鼓励学生动手编程,并在实践中解决问题。
3. 以学生为主体,教师为辅导,培养学生的自主学习能力和团队协作能力。
二、教学内容1. 系统需求分析:介绍酒店管理系统的基本功能,分析系统所需的主要模块,如客房管理、客户信息管理、订单管理等。
- 教材关联章节:第1章 C语言概述及程序设计基础2. 数据结构设计:讲解结构体、数组等在酒店管理系统中的运用,设计系统所需的数据结构。
- 教材关联章节:第4章 数组与字符串、第6章 结构体与共用体3. 功能模块设计与实现:- 客房管理模块:实现客房的添加、删除、查询等功能。
- 教材关联章节:第7章 函数- 客户信息管理模块:实现客户信息的添加、删除、查询等功能。
c语言旅店管理系统课程设计
c语言旅店管理系统课程设计一、课程目标知识目标:1. 理解C语言基础,掌握结构体、数组、函数等基本概念。
2. 学会使用C语言进行文件操作,包括读写文件。
3. 掌握C语言实现旅店管理系统的基本功能,如房间管理、客户信息管理、订单处理等。
技能目标:1. 能够运用结构体和数组创建和管理旅店房间和客户信息。
2. 熟练运用函数实现模块化编程,提高代码的可读性和可维护性。
3. 掌握文件操作,实现旅店数据的持久化存储。
情感态度价值观目标:1. 培养学生对信息技术的兴趣和热情,激发创新思维。
2. 培养学生团队协作精神,提高沟通能力。
3. 培养学生面对实际问题时,运用所学知识解决问题的能力,增强自信心。
课程性质:本课程为实践性较强的课程,要求学生在掌握C语言基础知识的基础上,通过设计旅店管理系统,将所学知识运用到实际项目中。
学生特点:学生处于高年级阶段,已具备一定的C语言基础,具有较强的学习能力和探究精神。
教学要求:结合课程性质和学生特点,将课程目标分解为具体学习成果,注重实践操作,以学生为主体,教师为主导,引导学生通过实际项目,提高编程能力和解决问题的能力。
同时,关注学生的情感态度价值观培养,使其在学习过程中形成良好的学习习惯和团队协作精神。
二、教学内容1. C语言基础知识回顾:包括变量、数据类型、运算符、控制结构等。
相关教材章节:第1-3章2. 结构体和数组的应用:- 结构体定义和操作:定义客户信息、房间信息等结构体。
- 数组的使用:管理多个房间和客户信息。
相关教材章节:第4章、第6章3. 函数和模块化编程:- 函数定义和调用:实现各种功能模块,如添加、删除、查询等。
- 模块化设计:将系统划分为多个功能模块,提高代码可维护性。
相关教材章节:第7章、第8章4. 文件操作:- 文件读写:实现数据的持久化存储,如保存房间信息、客户信息等。
- 文件管理:对文件进行打开、关闭、读写等操作。
相关教材章节:第9章5. 旅店管理系统功能实现:- 房间管理:包括房间添加、删除、查询等功能。
酒店管理系统--C语言版
酒店管理程序设计公管1102亓升辉#include〈stdio。
h>#include<stdlib。
h〉#include<string.h〉#include〈time.h〉//成员变量的声明int i,j,k,p=0;char temp[]="";int room[5][5];clock_t start;//成员方法的声明void init(){int x,y;for(x=0;x〈5;x++){for(y=0;y〈5;y++)room[x][y]=0;}}void hotelTitle(){printf(”\n———-——-酒店房间登记与计费管理系统—--—\n”);printf("\t1.登记入住\n");printf("\t2.查询房间的入住情况\n”);printf(”\t3.查询当前费用\n"); printf(”\t4。
结账退房\n”);printf(”\t5。
退出程序\n”);}void hotel_execute();void hotel_select();void hotel_outhotel();void outsystem();void hotel_total();int main(void){system("color f1”);init();while(1){Loop: hotelTitle();printf(”\n 请选择:");j=scanf("%d”,&k);if(j==0||k<1||k〉5){printf("\n 输入错误。
\n\t 请输入所列出的选项。
\n\n 3 秒后刷新.。
.Please Weit!Thanks\n");fflush(stdin);//sleep(3000);system("cls”);goto Loop;}else{switch(k){case 1:hotel_execute();break;case 2:hotel_select();break;case 3:hotel_total();break;case 4:hotel_outhotel();break;case 5:outsystem();return 0;default:printf("\n\t 系统出错!请联系管理员!\n");//怕出现BUGreturn 0;}}fflush(stdin);//清空缓存}}//入住登记}}void hotel_execute(){int x,y;printf("请输入你要住本酒店多少层楼的住房?【1-5】");fflush(stdin);L:scanf("%d”,&x);p=x;if(x〉5){printf("不好意思本店没有该层楼房。
酒店管理及计费系统系统c语言代码
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define M 100//这是房间的个数最多100个,如果改动则改动100就可以
printf("\n\t\t\t请输入任意数字返回主界面!\n");
scanf("%d",&j);
system("cls");
goto L1;
break;
case 2:printf("请输入你要查询的房间号:");
scanf("%d",&q);
for(w=0;;w++)
{
if(q==worker[w].num2)
{
printf("姓名是:%s\n身份证:%s\n房间号:%d\n入住时间:%d\n入住天数:%d",worker[w].name,worker[w].shen,worker[w].num2,worker[w].num3,worker[w].num6);
break;
}
}
printf("\n\t\t\t请输入任意数字返回主界面!\n");
break;
}}Leabharlann printf("退订成功,路上慢走,祝您生活愉快!\n");
goto L1;
break;
case 5:system("cls");
C语言课程设计酒店房间登记与计费管理系统程序代码
#i n c l u d e<>#include<>printf("\n性别(其中:1表示男,2表示女!):%d",room[s].;printf("\n年龄:%d",room[s].;printf("\n身份证号:%s",room[s].;printf("\n房间号:%d",room[s].room_ID);printf("\n客房单价:%d",room[s].price);printf("\n入住人数:%d",room[s].;menu();}elseprintf("该房间未被使用!");save(); oom_ID=j;printf("\n姓名:");scanf("%s",&room[j].;printf("\n性别(其中:1表示男,2表示女!):");scanf("%d",&room[j].;printf("\n年龄:");scanf("%d",&room[j].;printf("\n身份证号:");scanf("%s",&room[j].;printf("\n入住年份:");printf("月:");printf("日:");printf("\n客房单价:");scanf("%d",&room[j].price);printf("请输入入住人数\n");scanf("%d",&room[j].;z[j]=1; a);break;case 2:printf("请选择新性别(其中:1表示男,2表示女!)\n");scanf("%d",&k);room[j].=k;break;case 3:printf("请输入新年龄\n");scanf("%d",&p);room[j].=p;break;case 4:printf("请输入新身份证号\n");scanf("%d",&p);room[j].[20]=p;break;case 5:printf("请输入新年份\n");case 6:printf("请输入新月份\n");case 7:printf("请输入新日子\n");case 8:printf("请输入新入住人数\n");scanf("%d",&p);room[j].=p;break;}menu();}void modify_hotel() room[j].;room[s].=room[j].; room[j].=0;room[s].=room[j].; room[j].=0;strcpy(room[s].,room[j].;room[s].room_ID=s;room[s].price=room[j].price;room[s].=room[j].;z[s]=1; z[j]=0; break;case 2:printf("请输入房号\n");scanf("%d",&s);printf("请输入新单价\n");scanf("%d",&s);room[s].price=s;break;case 3:printf("请输入房号\n");scanf("%d",&s);printf("请输入新入住人数\n");scanf("%d",&s);room[s].=s;break;case 4:break;}save();menu();}void disp_money( ) oom_ID);printf("房间单价为:");printf("%d",room[j].price);printf("\n请输入退房时间:\n");printf("请输入年份:");scanf("%d",&;printf("请输入月份:");scanf("%d",&;printf("请输入日:");scanf("%d",&;printf("\n请输入住房天数:\n");scanf("%d",&i);sum=room[j].price*i;printf("总费用sum=%d\n",sum);save();menu();}void save() xt","w+"))==NULL) xt"{printf("cannot open file\n");exit(0);}for(i=0;i<M;i++){if(fwrite((&room[i]), sizeof(room[M]),1,fp)!=1)printf("file write error\n");fflush(fp);}fclose(fp); //关闭文件}。
计费管理c语言课程设计
1)、问题根据需求,该系统所应包含的信息有以下一些:酒店房间登记与计费管理的基本信息:客户姓名、身份证号、开始入住时间、退房时间、入住房间号、房间价格、入住费用。
根据需求,该系统所应实现的功能有以下一些:各种基本数据的录入。
如:入住客户的基本信息录入。
基于各种数据的查询。
例如:输入张三姓名,查询张三的身份证号、开始入住时间、退房时间、入住房间号、房间价格、入住费用。
数据导出:将住宿的信息导出到指定文件保存。
数据导入:从指定文件导入住宿的客户信息。
2)、系统采用C语言实现,开发环境为VC,可以运行在操作系统windows98及以上皆可。
3、运行要求能不受限制的录入入住客户的信息界面友好,操作方便,例如在用户输入错误的情况下进行提示。
2、总体设计1)、系统流程设计根据系统要求,设计如下的系统流程2)、系统模块设计根据系统的功能设计,如下模块主界面模块:完成系统菜单的显示。
功能选择模块:根据用户的选择,完成其相应的功能。
客户信息录入:完成用户从界面输入客户入住信息,保存入系统的功能。
客户信息显示:完成系统中显示现有信心的功能。
入住房间查询:完成查询特定房间的功能。
房间费用查询:完成费用统计的功能。
3)、详细设计1、数据结构设计为了能实现不受限制的增加入住客户信息,采用链表的结构保存客户的信息,在增加入住客户的基本信息时,创建一个客户信息的节点,将其插入到链表中,示意图如下。
使用C语言创建的结构体如下:truct room /*房间*/{char number[50];int price;}member[10];struct room member[10]={ //初始化数组{"801",110},{"802",120},{"803",130},{"804",140},{"805",150}, {"806",160},{"807",170},{"808",180},{"809",190},{"810",200}};struct date /*日期*/{int year;int month;int day;};struct customerchar name[20]; /*客户姓名*/char ID_number[30]; /*身份证号*/char check_in[30]; /*入住时间*/char check_out[30]; /*退房时间*/struct room member; /*入住房间号与价格*/int staying; /*入住天数*/int lodging_expense; /*费用*/char beginning[10];//开始统计时间char ending[10];//结束统计时间struct customer *next;};2、界面设计主界面:根据系统要求,设计一个字符界面,显示系统的菜单,为了体现友好性,将在每个菜单前显示该菜单项对应的数字用户输入菜单项前面的数字,主菜单消失,进入该模块的相应界面,进行相应的操作,完成后,回到主界面。
C语言酒店入住管理系统课设(附源码)
C语言酒店入住管理系统课设项目说明本系统基于C语言开发,适用于刚入门的C语言新手项目课设,开发软件采用VC++6.0开发,VS,DEV C++等均可运行。
(书生)项目运行截图代码界面截图完整源码#include<stdio.h>#include<stdlib.h>#include<time.h>#include<string.h>#include <conio.h>#define N 10#define HOURROOM 10#define NORMALROOM 288#define BIGROOM 388#define WORTHROOM 588#define GREATROOM 998struct room_message{int number; //房间号int people; //有无入住int floor; //楼层数(不同楼层房间类型不同)time_t time; //入住时间,无人住则置空}ROOM[100];struct administrator{char name[16];char password[16];int number;int age;int sex;}group[25];int TheUsingAdministrator;void BuildGroup(){ //建立密码文件FILE *fp=NULL;int a;char b[16]={"0"};if((fp=fopen("administrator.dat","r"))==NULL){ //创建文件,防止出错fp=fopen("administrator.dat","w");for(a=0;a<25;a++){strcpy(group[a].name,b);strcpy(group[a].password,b);group[a].number=a+1;group[a].sex=group[a].age=0;fwrite(&group[a],sizeof(struct administrator),1,fp);。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#i n c l u d e<s t d i o.h>#include<string.h> //在使用中要用到的字符串都包含在本文件中#include<stdlib.h> //exit()函数就包含在此文件中#define M 81int z[81]={0}; //定义一个数组存放使用的房间的标记的信息,且初始化为0int j,s; //定义两个全局变量FILE *fp; //定义一个指向文件的指针变量struct date{int month;int day;int year;}final;struct hotel{int price;int room_ID;struct client{char name[20];int sex;int age;char ID_card[20];int count;struct date start;}personal;}room[M]; //定义全局结构体变量,且里面又调用两个结构体 //声明刷新函数fflush( fp),且指向指针变量指向的位置void save();void search_situ( ); //声明查看客房入住情况函数void regist_infor( ); //声明客房登记入住函数void modify_infor( ); //声明客房信息修改函数函数void modify_one( ); //声明修改客房信息函数中的修改个人函数void modify_hotel( ); //声明修改客房信息函数中的修改客房函数void disp_money( ); //声明显示入住费用函数int main(){int menu(); //声明主菜单函数void print_star();void print_message();printf("\n\n\n\n\n");print_star();printf("\n");print_message();printf("\n");print_star();menu(); //把主菜单用函数来实现save();return 0;}void print_star(){int i;for(i=1;i<30;i++)printf("\t*");}void print_message(){printf("\t\t\t\t欢迎入住皇家酒店\n");}menu(){int n;do{printf("\n");printf("\t\t*********************菜单********************\n\n\n");printf("\t\t\t\t1:查看客房入住情况\n\n\n");printf("\t\t\t\t2:登记入住信息\n\n\n");printf("\t\t\t\t3:修改客房信息\n\n\n");printf("\t\t\t\t4:显示入住费用\n\n\n");printf("\t\t\t\t5:退出\n\n\n");printf("\t\t\t\t6:返回\n\n\n");printf("\t\t*********************菜单********************\n"); printf("\n\n\t\t\t 请选择输入选项[1\\2\\3\\4\\5\\6]:\n");scanf("%d",&n);while(n<1||n>6){printf("请重新输入选项!");scanf("%d",&n);}switch(n){case 1:search_situ();break; //调用查看函数case 2:regist_infor();break; //调用登记函数case 3:modify_infor();break; //调用修改函数case 4:disp_money();break; //调用显示入住费用函数case 5:exit(0);case 6:break;}}while(n!=6);scanf("%d",&n);return 0;}void search_situ( ) //查看函数{int g,count=0;for(g=1;g<=80;g++){if(z[g]==0)++count;elseif(z[g]==1)printf("\n正在使用的房间号:%d",g);}printf("\n\n未使用的房间数:%d",count); //通过循环输出未使用的房间数 printf("\n\n");printf("\n请输入需查询的房间号:\n"); //查询输入的房间号的信息,且输出该房间的相关信息scanf("%d",&s);if(z[s]==1){printf("姓名:%s",room[s]);printf("\n性别(其中:1表示男,2表示女!):%d",room[s].personal.sex);printf("\n年龄:%d",room[s].personal.age);printf("\n身份证号:%s",room[s].personal.ID_card);printf("\n入住年份:%d",room[s].personal.start.year);printf("月:%d",room[s].personal.start.month);printf("日:%d",room[s].personal.start.day);printf("\n房间号:%d",room[s].room_ID);printf("\n客房单价:%d",room[s].price);printf("\n入住人数:%d",room[s].personal.count);menu();}elseprintf("该房间未被使用!");save(); //调用保存函数}void regist_infor( ) // 登记函数{printf("请输入登记相关信息:\n");printf("\n房间号:");scanf("%d",&j);room[j].room_ID=j;printf("\n姓名:");scanf("%s",&room[j]);printf("\n性别(其中:1表示男,2表示女!):");scanf("%d",&room[j].personal.sex);printf("\n年龄:");scanf("%d",&room[j].personal.age);printf("\n身份证号:");scanf("%s",&room[j].personal.ID_card);printf("\n入住年份:");scanf("%d",&room[j].personal.start.year);printf("月:");scanf("%d",&room[j].personal.start.month);printf("日:");scanf("%d",&room[j].personal.start.day);printf("\n客房单价:");scanf("%d",&room[j].price);printf("请输入入住人数\n");scanf("%d",&room[j].personal.count);z[j]=1; //标记使用的房间为1save();}void modify_infor( ) //修改函数{int r,m;do{printf("\t\t\t *******************菜单******************\n\n\n");printf("\t\t\t\t\t 1:修改客户信息\n\n\n");printf("\t\t\t\t\t 2:修改客房信息\n\n\n");printf("\t\t\t\t\t 3:menu()\n\n\n");printf("\t\t\t\t\t4:退出\n\n\n");printf("\t\t\t *****************************************\n\n\n");printf("\t\t\t 请选择输入选项[1\\2\\3\\4]:\n");scanf("%d",&m);if(m<1||m>3){r=1;getchar();}else r=0;}while(r==1);switch(m){case 1:modify_one();break;case 2:modify_hotel();break;case 3:menu();case 4:exit(0);}save();}void modify_one() //修改个人信息函数{int q;char a[20];printf("\n请选择您要修改的个人选项\n");printf("1:姓名 2:性别(其中:1表示男,2表示女!) 3:年龄 4:身份证号 5:入住年份 6:入住月份 7入住日 8:入住人数\n");printf("\t请选择输入选项[1\\2\\3\\4\\5\\6\\7\\8]:\n\b\b");scanf("%d",&q);switch(q){int t,p;char k;case 1:printf("请输入新名字\n");for(t=0;t<20;t++)scanf("%s",&a[t]);strcpy(room[j],a);break;case 2:printf("请选择新性别(其中:1表示男,2表示女!)\n");scanf("%d",&k);room[j].personal.sex=k;break;case 3:printf("请输入新年龄\n");scanf("%d",&p);room[j].personal.age=p;break;case 4:printf("请输入新身份证号\n");scanf("%d",&p);room[j].personal.ID_card[20]=p;break;case 5:printf("请输入新年份\n");scanf("%d",&p);room[j].personal.start.year=p;break;case 6:printf("请输入新月份\n");scanf("%d",&p);room[j].personal.start.month=p;break;case 7:printf("请输入新日子\n");scanf("%d",&p);room[j].personal.start.day=p;break;case 8:printf("请输入新入住人数\n");scanf("%d",&p);room[j].personal.count=p;break;}menu();}void modify_hotel() //修改客房信息函数{int l;printf("\n\t\t\t\t请选择您要修改的客房信息\n\n");printf("\t\t\t\t1:房间号\n\n \t\t\t\t2:客房单价\n\n \t\t\t\t3:入住人数\n\n \t\t\t\t4:返回\n\n");printf("\t\t\t请选择输入选项[1\\2\\3\\4]:\n\b\b");scanf("%d",&l);switch(l){case 1:printf("请输入旧房号\n");scanf("%d",&j);printf("请输入新房号\n");scanf("%d",&s);strcpy(room[s],room[j]);room[s].personal.sex=room[j].personal.sex; room[j].personal.sex=0;room[s].personal.age=room[j].personal.age; room[j].personal.age=0;strcpy(room[s].personal.ID_card,room[j].personal.ID_card);room[s].personal.start.year=room[j].personal.start.year;room[j].personal.start.year=0;room[s].personal.start.month=room[j].personal.start.month;room[j].personal.start.month=0;room[s].personal.start.day=room[j].personal.start.day;room[j].personal.start.day=0;room[s].room_ID=s;room[s].price=room[j].price;room[s].personal.count=room[j].personal.count;z[s]=1; z[j]=0; break;case 2:printf("请输入房号\n");scanf("%d",&s);printf("请输入新单价\n");scanf("%d",&s);room[s].price=s;break;case 3:printf("请输入房号\n");scanf("%d",&s);printf("请输入新入住人数\n");scanf("%d",&s);room[s].personal.count=s;break;case 4:break;}save();menu();}void disp_money( ) //显示入住费用函数{int i,sum;printf("请输入房间号;\n");scanf("%d",&room[j].room_ID);printf("\n入住年份:%d",room[j].personal.start.year);printf("月:%d",room[j].personal.start.month);printf("日:%d",room[j].personal.start.day);printf("房间单价为:");printf("%d",room[j].price);printf("\n请输入退房时间:\n");printf("请输入年份:");scanf("%d",&final.year);printf("请输入月份:");scanf("%d",&final.month);printf("请输入日:");scanf("%d",&final.day);printf("\n请输入住房天数:\n");scanf("%d",&i);sum=room[j].price*i;printf("总费用sum=%d\n",sum);save();menu();}void save() //保存函数{FILE *fp;int i;if((fp=fopen("客房管理.txt","w+"))==NULL) //打开输出文件"客房管理.txt" {printf("cannot open file\n");exit(0);}for(i=0;i<M;i++){if(fwrite((&room[i]), sizeof(room[M]),1,fp)!=1)printf("file write error\n");fflush(fp);}fclose(fp); //关闭文件}。