ACM 宾馆住宿管理系统

合集下载

宾馆住宿管理系统

宾馆住宿管理系统

开始职员登录客户选择类型确定入驻时间确定生成入住信息支付押金费用安排入住业务结束开始职员登录选择退房房号计算应收金额超时?生产退房信息多退少补退房成功业务结束宾馆住宿管理系统1.1 需求描述和系统边界随着电脑的快速普及以及宾馆业务量的飞速增长,宾馆管理系统越来越多的被宾馆商家渴求。

一个好的住宿管理系统可以提高宾馆的运行速度,简化客户的订房程序,因其方便快捷安全而越来越受到广大商家及客户的青睐。

宾馆住宿管理系统是以宾馆前台机器为主要对象的平台,将客户的订房开放现金结算有效整合。

客户再出示身份证明,选择好入住的房间类型后,系统将就客户的要求自动合理的分配好房间,并当场交费,以保证客户能享受到方便快捷的服务。

而工作人员也会简单的将工作简化为敲键盘击鼠标,有助于业务的开展和壮大。

一个良好的宾馆住宿管理系统需求描述如下。

该系统主要支持两种用户:前台职员和系统管理员。

前台职员主要负责客户的预定房间,将客户的信息录入、确认、还有负责收取押金和定金,在就是现住客户的接待,尽快的为客户安排合适的房间,既包括信息的录入、查询、删除等操作。

而系统管理员主要职责就是要维护管理系统和客户信息以及职员信息。

1.2 需求分析1.2.1 业务需求及流程处理NYNY1.2.2 功能需求及数据需求分析根据上述需求描述和业务流程,通过调查研究和资料搜索,宾馆住宿管理系统主要功能和数据需求包括:一、宾客入住管理:●客房预定,客户需要提供基本信息,姓名、性别、身份证号、客户编号、客房类型、抵房时间、入住人数、预定人、电话、住几天等信息,系统检查所有信息后会生成一个订房订单。

●登记入住,客户需要先说明是否已预订,之后提供姓名、性别、身份证号、客房类型、入住人数、住几天等信息,系统分配出合适的房间,交钱后直接可以入住。

●房间调整,因特殊事件导致需要调整房间,要提供包括客房编号、客房类型、客房价格、客房状态等信息,让系统及时的调整好房间,避免影响宾馆的正常运转。

宾馆住宿管理系统

宾馆住宿管理系统

宾馆住宿管理系统一、项目概述宾馆住宿管理系统是一款旨在帮助宾馆方便高效地管理住宿业务的信息化软件。

该系统以客房预订、入住、退房管理为核心,结合客房清洁、客户管理、收费管理等功能,可实现宾馆住宿业务的自动化管理和高效运营。

二、系统功能需求1.客房预订管理:提供在线客房预订服务,支持客户根据入住时间、离店时间、房型、数量等条件查询和预订客房。

2.客房管理:管理客房的基本信息,包括房号、房型、面积、价格、状态等,支持客户在线查询客房信息,并根据实际情况进行调整。

3.客房清洁管理:管理客房的清洁和维护工作,包括定期清洁、维修、更换等,确保客房环境干净整洁。

4.客户管理:管理客户的基本信息,包括姓名、联系方式、身份证号、入住日期等,支持客户信息查询和管理。

5.入住管理:管理客户的入住登记和入住手续办理,包括身份证核验、房间分配、入住时间登记、押金收取等。

6.退房管理:管理客户的退房办理和结算事宜,包括房间清洁、物品核对、账单结算等。

7.收费管理:管理客户的消费和收费事宜,包括房费、服务费、餐饮费等的计算和结算。

8.报表生成:生成客房预订报表、入住率报表、收入报表等,帮助管理者了解宾馆经营状况并进行决策。

三、系统设计1.前台系统:用于客户查询、预订和入住退房等服务管理。

2.后台管理系统:用于管理员管理房间、客户、员工、系统设置、报表生成等功能。

3.数据库设计:设计客房、客户、员工、订单等数据表,提供数据存储和管理功能。

四、系统实现1.前台系统实现:采用Java Web网页前台技术实现,包括客房预订查询界面、预订流程展示、在线支付功能、入住退房提醒等。

2.后台管理系统实现:采用Java Servlet技术实现后台管理系统,包括管理员登录、客房管理、客户管理、订单管理、系统设置等。

3.数据库实现:采用MySQL数据库存储数据。

五、系统总结通过该系统的设计实现,可以有效地简化宾馆住宿管理流程,提高业务处理效率和客户满意度,帮助宾馆实现数字化、信息化、智能化运营,提高经营效益。

软件工程课程设计-宾馆客房管理系统

软件工程课程设计-宾馆客房管理系统

软件工程课程设计-宾馆客房管理系统《软件工程》课程设计报告宾馆客房管理系统指导教师: 班级: 0701 学生姓名:学号: 2007100104完成日期:2010-11—11运城学院计算机科学与技术系宾馆客房管理系统目录1。

业务需求。

.。

....。

.。

..。

..。

.。

....。

..。

..。

.。

.....。

..。

.。

..。

...。

.。

..。

..。

..。

..。

.。

.。

..。

.。

....。

...。

.. 11.1客户任务描述 .。

.。

.。

..。

.。

..。

..。

.。

....。

..。

..。

.。

.。

.。

.。

..。

.。

.。

.。

.。

.。

..。

..。

.。

..。

.。

..。

.。

...。

11.2参与者列表。

.。

.。

..。

.....。

...。

.。

.。

.。

.。

.。

.....。

.。

.。

.........。

.。

......。

.。

......。

..。

..。

.。

...21。

3业务用例列表 ..。

....。

.。

...。

.。

.。

....。

....。

.....。

..。

...。

.。

..。

.....。

.。

.。

...。

.。

.。

.。

...。

21.4业务用例活动图 ..。

.。

..。

..。

.。

.。

..。

.。

.。

..。

..。

.。

......。

..。

..。

..。

.。

.。

......。

.。

..。

21.5 业务用例描述。

.。

..。

.。

..。

.。

..。

.。

.......。

.。

.。

.。

.。

.....。

..。

.。

.。

.。

..。

...。

.。

..。

.。

..。

....。

.。

.. 3 2(系统需求.。

..。

....。

......。

.。

.。

.。

..。

........。

.。

.。

.。

.。

.。

.......。

.。

.。

.。

.。

...。

.。

.。

..。

.。

.。

.。

.。

....。

42.1 用户界面草图 .。

...。

..。

.。

..。

.。

.....。

.。

.。

..。

...。

...。

..。

.... .。

.。

.。

....。

....。

..。

..。

.。

..。

42.2 参与者列表 .。

.。

..。

C语言程序设计客房管理系统源码和报告

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宾馆管理系统课程设计

c 宾馆管理系统课程设计一、课程目标知识目标:1. 理解宾馆管理系统的基本概念、功能模块及其在宾馆行业中的应用。

2. 掌握宾馆管理系统中数据库的设计与操作,包括客户信息、房间信息、预订管理等。

3. 学会运用编程语言(如C语言)实现宾馆管理系统的基本功能,如录入、查询、预订和退房等。

技能目标:1. 能够运用结构化分析方法设计宾馆管理系统的功能模块和数据流程。

2. 掌握宾馆管理系统数据库的搭建与维护,实现数据的增删改查操作。

3. 培养编程实践能力,独立编写C语言代码实现宾馆管理系统的核心功能。

情感态度价值观目标:1. 培养学生对宾馆管理系统的兴趣,激发其学习编程的热情。

2. 培养学生的团队协作意识和解决问题的能力,使其在项目实践中体验到合作与成功的喜悦。

3. 增强学生的信息素养,使其认识到信息技术在宾馆行业中的重要作用,为未来从事相关工作奠定基础。

本课程针对高年级学生,结合学科特点和教学要求,注重理论与实践相结合,旨在提高学生的编程实践能力和项目管理能力。

课程目标具体、可衡量,以便学生和教师能够清晰地了解课程的预期成果,并为后续的教学设计和评估提供依据。

二、教学内容1. 宾馆管理系统概述:介绍宾馆管理系统的基本概念、发展历程、功能模块及其在实际应用中的重要性。

相关教材章节:第一章 宾馆管理系统概述2. 数据库设计:讲解数据库的基本概念,指导学生运用实体-关系模型进行宾馆管理系统数据库设计。

相关教材章节:第二章 数据库设计基础3. C语言基础:复习C语言基础知识,包括数据类型、运算符、控制结构等,为后续编程实践打下基础。

相关教材章节:第三章 C语言基础4. 宾馆管理系统功能模块实现:分别讲解客户信息管理、房间信息管理、预订管理等功能模块的实现方法。

相关教材章节:第四章 宾馆管理系统功能模块实现5. 编程实践:指导学生运用C语言编写宾馆管理系统的核心功能模块,并进行调试与优化。

相关教材章节:第五章 编程实践6. 系统测试与优化:介绍系统测试方法,指导学生进行宾馆管理系统的功能测试、性能测试等,并对发现的问题进行优化。

酒店宾馆住宿管理系统详细设计说明模板

酒店宾馆住宿管理系统详细设计说明模板

酒店宾馆住宿管理系统详细设计说明模板1.引言在当前数字化时代,酒店宾馆住宿管理系统的开发和使用已经成为酒店行业的标配。

本文档旨在对酒店宾馆住宿管理系统进行详细设计说明,包括系统架构、功能模块、数据库设计等方面的内容,以确保系统的高效运作和满足用户需求。

2.系统架构酒店宾馆住宿管理系统的架构主要包括客户端、服务端和数据库三个部分。

客户端负责与用户交互,接收用户输入并呈现相关信息;服务端负责处理客户端请求,与数据库交互并返回结果;数据库用于存储系统所需的各种信息。

3.功能模块-用户管理:包括用户注册、登录、修改密码等功能,用于管理系统的用户;-客房管理:包括客房信息查询、预订、入住等功能,用于管理酒店的客房资源;-订单管理:包括订单查询、生成、修改等功能,用于管理用户的预订信息;-结算管理:包括账单生成、支付、退款等功能,用于管理用户的消费;-统计报表:包括各类数据的统计和报表生成,用于分析和决策;-系统设置:包括系统参数配置、权限管理等功能。

4.数据库设计-客房表:存储客房的基本信息,如房间号、类型、价格、状态等;-订单表:存储订单的基本信息,如订单号、用户ID、客房号、入住日期等;-账单表:存储账单的基本信息,如账单号、订单号、金额等。

5.系统流程-用户注册:用户通过客户端进行注册,并填写相应的个人信息;-用户登录:用户通过客户端进行登录,并输入用户名和密码进行身份验证;-客房查询:用户登录后,可以通过客户端查询客房的相关信息,如类型、价格、入住情况等;-客房预订:用户选择合适的客房后,通过客户端进行预订,并填写入住信息;-客房入住:当用户到达酒店时,酒店工作人员通过系统确认订单并办理入住手续;-结算支付:用户在退房时,系统将自动生成账单,并提供支付功能;-统计报表:系统根据订单和账单信息,生成各类统计数据和报表,用于分析和决策。

6.总结本文档对酒店宾馆住宿管理系统进行了详细的设计说明,包括系统架构、功能模块、数据库设计等方面的内容。

数据结构课程设计--宾馆客房管理系统

数据结构课程设计--宾馆客房管理系统

数据结构课程设计报告实验名称:宾馆订房和退房系统姓名:胡山权学号:111714110学院:计算机科学与技术学院专业:网络工程指导老师:陈建新.需求分析1. 实验题目:宾馆订房和退房系统2. 基本要求:1)实现宾馆的订房业务2)实现退房业务3)实现统计业务4)实现查询业务其他:要求在VC++6.0 下运行通过.概要设计本程序主要有以下几个功能模块void main () //主函数void tongji_cus (hotel_lv *L) void cx_customer (hotel_lv *L) cus* Delete (hotel_lv *L) void input (hotel_lv*L) void Pr_divide(cus *p,fangjian *q) void Init(hotel_lv *L) typedef struct customer typedef struct hotel_lv typedef struct fangjian本程序通过主函数调用void main ()主函数,主函数再调用其他几个功能模块,其中客房数量通过初始化函数来实现,输入客房的数量和床位的数量来确定。

//统计当前客人人数函数//查询客人信息函数//退房函数//订房函数//打印客人信息函数//初始化函数//客人结构体定义//宾馆结构体定义//房间结构体定义详细设计1.程序运行流程图宾馆客房初始化Main录入客L人信息查询客人信息丿查询入住情况统计入住情况退出系统2•入住流程图是客人信息查询输入客人姓名遍历各等级不为空遍历各房间printf("*printf ("****** 湖北工程学院 计算机学院1117141班 胡山权*********\n\n"); printf (" 1录入客人信息\n"); printf (" 2 退房业务 \n "); printf (" 3查询客人信息\n"); printf (" 4统计客人信息\n");3. 各功能模块源代码及详细介绍 Init (L); while (1) {system ("cis"); printf ("\n\n\n"); printf//进入菜单选项H********************************************************** **\n");prin tf("* printf ("* 欢迎进入宾馆客房管理系统*\n");*\n"); *\n");printf (\\ ****************************************************** **\n"); printf (" ---------------------------------------- 版权所有,侵权必究\n");case 0: return;}(2) 统计当前客人人数函数void tongji_cus (hotel_lv *L) {hotel_lv *l; fangjian *f;cus *t; int i=0,j=0; int flag; l=L->next;while (l!=NULL)flag=0; i++;f=l->fj_next; while (f!=NULL){if (f->mem_num==0) f=f->next; else{t=f->cus_next; while (t!=NULL){flag++; j=j+flag; t=t->next;printf (" printf (" scanf ("%d",&c); getchar (); switch (c) 0 退出系统 \n"); 请选择你要办理的业务 \n");// 做选择case 1: case 2: input (L);break;p=Delete (L);free (p); case 3: case 4: break;cx_customer (L);break;tongji_cus (L);break;} f=f->next;}}printf (" 等级为%d 的房间的入住人数为%d\n",i,flag); l=l->next;}if (!j)printf (" 此时无人入住。

宾馆住宿管理系统课程设计

宾馆住宿管理系统课程设计

VFP宾馆住宿管理系统课程设计系别:建筑工程管理系专业:班级学号:姓名:指导老师:一、课程设计名称《宾馆住宿管理系统开发》二、课程设计目的通过本次课程设计,会应用visual foxpro 6开发一个面向对象的应用程序。

三、任务要求1、宾馆住宿管理系统是提供给酒店各个部门及总的管理人员使用的一个对比较大型的综合性宾馆进行住房、员工等综合情况管理的管理的系统.它能自动对预定、住宿、结账进行管理,并生成相关的财务报表。

宾馆住宿管理系统用户需求的主要功能有: 记录的录入、记录的浏览、记录的添加、记录的修改、记录的删除、记录的查找。

功能要完善,面向对象,即使是不会VFP的人也能操作自如。

四、开发应用系统的过程宾馆管理系统是一个比较实用、典型的应用软件,限于篇幅我们只对其中相对重要一些的功能和过程列出,主要包含有数据库(表)、各种输入、输出、浏览、添加、修改、删除、等功能较完整的软件。

本系统的开发是为促进宾馆的管理,方便比较大型的星级宾馆经营管理而研制开发的,旨在减轻宾馆管理工作者的工作负担,科学分工,只能运转,协助他们更科学、更简便的管理宾馆及其日常事务,提高工作效率。

在计算机飞速发展的今天,将计算机这一信息处理利器应用于宾馆的经营管理已是势必所然,而且这也将为宾馆的经营管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为宾馆的飞速发展提供无限潜力。

采用计算机管理信息系统已成为宾馆管理科学化和现代化的重要标志,它给宾馆管理来了明显的经济效益和社会效益。

本系统界面符合Windows标准,采用统一的标准界面,简洁直观、使用方便。

本软件主要目标:根据国家有关的规则,结合酒店的实际情况,开发适合于宾馆经营管理的宾馆管理系统。

宾馆管理系统能实现总体管理管理(包括客房管理、员工管理、用户管理、系统管理等)、日常管理(客房预订、结算、清理情况、员工工资输入、员工工资设定等)、查询子系统(员工查询和客房查询)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成绩评定表课程设计任务书一、实训题目和实训任务1. 实训题目宾馆住宿管理系统某宾馆的旅客住宿信息管理系统,对旅客的信息进行管理。

通过系统可以实现新旅客信息的增加、旅客信息的删除、旅客信息的查询、旅客信息的显示和旅客信息的存取。

旅客的信息包括旅客的姓名、性别、出生日期、身份证号码、国籍(或籍贯)、住宿时间、住宿天数、房间号码、联系方式(手机、房间电话)。

通过文件存取旅客的信息。

给出信息查询的条件可以包括姓名、出生日期、房间号码。

在菜单中实现不同的选择,例如检索、增加、删除、查询和退出。

2. 实训任务制作一个宾馆住宿管理系统可实现以下功能(1)各种基本数据的录入。

(2)各种基本数据的修改。

(3)各种基本数据的插入。

(4)各种基本数据的删除。

(5)基于各种数据的查询。

3. 题目分析根据要求我希望创建一个结构数组,用它来保存顾客的信息。

而具体要求的各项菜单要求例如:顾客信息的删除、查询,可通过建立一个类,用类的成员函数来实现各项要求。

结构数组定义为类的公有成员,这样就方便了数据的运用,体现了面向对象程序的优点。

这样顾客信息的输入到数组中再调用类中的成员函数来实现文件与内存的数据存取。

根据以上要求,创建一个自定义结构体Cus,其中包括字符数组name、birthday、idnumber、country、date和tel,以及字符变量性别sex、整形变量days。

在结构体创建结束的最后定义一个命名为cus的结构体,用它来保存顾客的信息。

程序运行时首先要求添加顾客信息则在构造函数中调用了Init( )函数,我定义Init( )函数实现从文件中读出顾客信息到内存中。

在菜单中程序给出了删除的选项,所以需要定义一个delete( )成员函数。

在管理系统中程序需要给出查询的功能,那么程序定义一个seachcuts( )类的成员函数来实现此项功能,它利用swith语句实现三种查询分别为姓名查询、出生日期查询和身份证号码查询。

4. 开发工具和环境开发工具:Visual C++ 6.0, CodeBlock10.05,等环境:Windows 2000, XP, Vista等(写完后换页,新节换页)二、软件设计1. 关键技术分析根据以上要求,创建一个自定义结构体Cus,其中包括字符数组name、birthday、idnumber、country、date和tel,以及字符变量性别sex、整形变量days。

在结构体创建结束的最后定义一个命名为cus的结构体,用它来保存顾客的信息。

程序运行时首先要求添加顾客信息则在构造函数中调用了Init( )函数,我定义Init( )函数实现从文件中读出顾客信息到内存中。

在菜单中程序给出了删除的选项,所以需要定义一个delete( )成员函数。

在管理系统中程序需要给出查询的功能,那么程序定义一个seachcuts( )类的成员函数来实现此项功能,它利用swith语句实现三种查询分别为姓名查询、出生日期查询和身份证号码查询。

2. 软件模块设计(1)录入模块//客房信息录入模块void display(){FILE *fp;int i,n=0;//void choice();// kf s[N];system("cls");if((fp=fopen("kf.dat","rb"))==NULL){printf("\n打开文件失败\n");return;}printf("||***********************************************************************||\ n");printf("顾客已登记请输入Y,没登记输入N,当编号输入为0时结束\n");printf("\n|编号| 类型| 位置| 面积| 床位数量| 住房单价| 顾客登记| 顾客结算| \n");for(i=0;fread(&s[i],sizeof( kf),1,fp)!=0;i++){printf(" |---|-----|------|--------|---------|-----------|----------|----------|\n");printf("|%4d|%5s|%6s|%5f|%10d|%10f|%10s|%10s|\n",s[i].fh,s[i].lx,s[i].place,s[i].area,s[i].cs,s[i]. price,s[i].dj,s[i].js);n++;}printf("||**********************************************************************||\n ");if(n==0) printf("\n文件中无记录\n");else printf("\n文件中共有%d个记录\n",n);fclose(fp);}(2)查询模块void search(){FILE *fp;int i,n=0,flag=0,temp_fh;system("cls");if((fp=fopen("kf.dat","rb"))==NULL){ printf("cannot open file!\n");return;}printf("\n输入要查客房的编号:");scanf("%d",&temp_fh);for(i=0;fread(&s[i],sizeof(kf),1,fp)!=0;i++){if(temp_fh==s[i].fh){if(flag==0)printf("||******************************************************************** ***||\n");printf("顾客已登记请输入Y,没登记输入N,当编号输入为0时结束\n");printf("\n|编号| 类型| 位置| 面积| 床位数量| 住房单价| 顾客登记| 顾客结算| \n");printf(" |---|-----|------|--------|---------|-----------|----------|----------|\n");printf("|%4d|%5s|%6s|%5f|%10d|%10f|%10s|%10s|\n",s[i].fh,s[i].lx,s[i].place,s[i].area,s[i].cs,s[i]. price,s[i].dj,s[i].js);printf("||**********************************************************************||\n ");flag=1;}n++;}if(n==0) printf("文件里没有记录\n");else if(flag==0)printf("文件中没有这个房间\n");}(3)客房信息添加模块void increse(){int i,k;//kf s[N];FILE *fp;system("cls");if((fp=fopen("kf.dat","rb"))==NULL){printf("cannot open file!\n");exit(0);}fp=fopen("kf.dat","rb");// for(i=0;i<m;i++)// if(fread(&s[i],sizeof(kf),1,fp)!=1)// {printf("文件写入错误\n"); exit(0);}for(i=0;i<m;i++)fread(&s[i],sizeof(kf),1,fp);fclose(fp);//k=i;printf("\n输入添加的客房编号: ");scanf("%d",&s[i].fh);printf("\n输入添加的客房类型:");scanf("%s",s[i].lx);printf("\n输入添加的客房位置:");scanf("%s",s[i].place);printf("\n输入添加的客房面积:");scanf("%f",&s[i].area);printf("\n输入添加的客房床位数量:");scanf("%d",&s[i].cs);printf("\n输入添加的客房住房单价: ");scanf("%f",&s[i].price);printf("\n输入添加的顾客登记:");scanf("%s",s[i].dj);printf("\n输入添加的顾客结算:");scanf("%s",s[i].js);printf("\n插入添加的位置:");scanf("%d",&k);fp=fopen("kf.dat","ab+");fwrite(&s[i],sizeof( kf),1,fp);fclose(fp);}/*for(flag=1,i=0;flag&&i<k;i++){while(!feof(fp))for(i=0;i<N;i++){fread(&s[i],sizeof( kf),1,fp);if(feof(fp)) break;i++;}flag=0;}if(!flag)k=k+1;// fclose(fp);// flag=i;// if(k<flag && k>=0){//添加for(j=flag-1;j>=i;j--)s[j+1]=s[j];s[i]=flag;//写回if((fp=fopen("kf.dat","wb"))==NULL){printf("不能建立文件!!\n");}for(i=0;i<k;i++)fwrite((&s[i],sizeof(kf)),1,fp);m=m+1;}else{if((fp=fopen("kf.dat","rb"))==NULL){printf("不能建立文件!!\n");return;}fwrite((&s[i],sizeof( kf)),1,fp);}fclose(fp);*/(4)客房信息修改模块void modi(){FILE *fp1,*fp2;int i,temp_fh,temp_cs;float temp_price;system("cls");if((fp1=fopen("kf.dat","rb"))==NULL){printf("cannot open file\n");exit(0);}if((fp2=fopen("kf3.dat","wb"))==NULL){printf("cannot open file\n");exit(0);}for(i=0;i<m;i++)if(fread(&s[i],sizeof( kf),1,fp1)!=1){printf("文件写入错误\n");exit(0);}printf("\n输入要修改客房的编号: ");scanf("%d",&temp_fh);for(i=0;i<m;i++){if(s[i].fh!=temp_fh)fwrite(&s[i],sizeof(kf),1,fp2);else{printf("\n输入正确的客房床位数量:");scanf("%d",&temp_cs);printf("\n输入正确的客房住房单价: ");scanf("%f",&temp_price);s[i].cs=temp_cs;s[i].price=temp_price;fwrite(&s[i],sizeof(kf),1,fp2);}}fclose(fp1);fclose(fp2);printf("输出修改后的客房信息如下\n");fp2=fopen("fk3.dat","rb");printf("||*****************************宾馆客房管理系统***************************||\n");printf("\n|编号| 类型| 位置| 面积| 床位数量| 住房单价| 顾客登记| 顾客结算| \n");for(i=0;fread(&s[i],sizeof(kf),1,fp2)!=0;i++){printf(" |---|-----|------|--------|---------|-----------|----------|----------|\n");printf("|%4d|%5s|%6s|%5f|%10d|%10f|%10s|%10s|\n",s[i].fh,s[i].lx,s[i].place,s[i].area,s[i].cs,s[i]. price,s[i].dj,s[i].js);}printf("||**********************************************************************||\n ");fclose(fp2);fp1=fopen("kf.dat","wb");fp2=fopen("kf3.dat","rb");for(i=0;i<m;i++)if(fread(&s[i],sizeof( kf),1,fp2)!=1){printf("文件写入错误\n");exit(0);}for(i=0;i<m;i++)fwrite(&s[i],sizeof(kf),1,fp1);fclose(fp1);fclose(fp2);}3. 软件界面设计*********************欢迎进入宾馆管理系统*********************======================================================= printf(" @ 1、客房编号录入; @\n");printf(" @ 2、客房信息显示; @\n");printf(" @ 3、客房信息查询; @\n");printf(" @ 4、客房信息添加; @\n");printf(" @ 5、客房信息修改; @\n");printf(" @ 6、退出宾馆管理系统; @\n"); |=======================================================|\4. (其他,可根据需要扩展,目的是论述清楚你的设计方法)图2-1 宾馆住宿系统功能框图三、软件测试及运行结果1.测试方案例1 1 danrenjian 101 30 1 150 zhang 150例2 2 shuangrenjian 201 50 2 250 zhao li 300测试结果预测||***********************************************************************|| |编号| 类型| 位置| 面积| 床位数量| 住房单价| 顾客登记| 顾客结算|1 |danrenjian | 101 | 30 | 1 | 150 | zhang | 150 | |2 |shuangrenjian| 201 | 50 | 2 | 250 | zhao li | 300 |2. 测试结果图3.1 信息录入图3.2 信息显示图3.3信息查询图3.4信息修改(房屋位置由101改为102)图3.5程序主界面四、收获和体会1.实习收获刚开始的时候,只能把大体的框架写出来,不过对于文件的打开和写入一点没有想法,通过查阅各种书籍了解到文件的写入和打开了。

相关文档
最新文档