用C语言实现的宾馆客房管理系统课程设计报告样本

合集下载

C语言课程设计宾馆管理系统

C语言课程设计宾馆管理系统

C语言课程设计报告程序名称:宾馆管理系统姓名:学号:年级专业:09级电子信息工程指导老师:同组人员:完成时间:2010年6月15日安徽师范大学物理与电子信息学院College of Physics and Electronic Information, Anhui Normal University目录1.设计题目的内容、任务及具体要求 (3)2.总体设计思路及流程图 (4)3.宾馆关系系统程序详细代码 (5)4.功能模块的具体设计 (9)4.1主界面分析 (9)4.2入住功能的界面 (9)4.3退房功能的界面 (10)4.4查找功能的界面 (10)4.5显示功能的界面 (11)5.程序设计中的数据设计 (11)6.功能模块的测试 (13)6.1进入程序主菜单模块 (13)6.2入住宾馆模块 (13)6.3实现退房模块 (14)6.4显示客房情况模块 (14)6.5查找模块 (15)7. 总结 (16)致谢 (16)物理与电子信息学院课程设计评定意见 (17)1.设计题目的内容、任务及具体要求本程序是非数值计算型算法设计,我设计出了宾馆管理系统的基本功能,并设计了简单的界面。

本程序主要考察对自定义函数的熟悉,本程序主要使用的是数组的相关操作,包括结构体数组的输入、输出、查找、删除等。

我设计的这个宾馆系统也初步实现了人员信息的显示、删除、查找、添加等必要的功能。

①某宾馆有301、302、303、304、305五个标准间,每个标准间可住2人;②链表存储结构:姓名、性别、房号、后续指针,按房间号有序;③能实现入住(注意性别)和退房,能按给定姓名、房号查询;④建议采用链表结构,但用其它方法实现也可。

2. 总体设计思路及流程图此程序首先设计了主函数,然后根据要求的功能分别设计了显示、入住、退房、查找功能的子函数。

退房checkout()函数的设计是首先从结构体内通过检测标志位找到要退房的人,然后通过写一个实现退房目的的FOR循环将存储该人信息的结构体的标志符改变达到退房的目的。

客房管理系统报告C语言

客房管理系统报告C语言

客房管理系统一.总体设计本程序包括顾客登记、记录、查询、修改等四大功能。

其中顾客登记功能包括顾客姓名、性别、年龄、身份证、入住年份、入住月份、入住日期、房间号、房间 及房间价格;记录功能包括按性别记录、按年龄记录及按入住时间(年月日)记录;查询功能包括按房间号查询、按姓名查询及按性别查询;修改功能包括性别修改、年龄修改、入住年份修改、入住月份修改及入住日期修改。

下面以流程图旳形式展示本程序设计思绪:………………………………否n=3 n=4 n=5是是否否否二.设计模块一种较大旳C语言程序不外乎由多种函数构成,本程序也并不例外。

现就本程序中波及旳各个函数旳代码和功能分别进行阐明。

1.main函数void main(){ini();menu();}本函数用于调用ini函数和menu函数(简介见下文)。

2.ini函数void ini(){int i=0;for(;i<100;i++){Room[i].sign=false;Room[i].Room_ID=i;}}本函数功能为先定义所有旳房间为空并依次定义各个房间旳序号。

3.menu函数void menu(){int n,k;do{printf("1.登记\n");printf("2.记录\n");printf("3.查询\n");printf("4.修改\n");printf("5.退出\n");printf("Choice your number(1-5):");scanf("%d",&n);if(n<1||n>5){k=1;puts("Please enter again\n");}else k=0;}while(k==1);switch(n){case 1:dengji();break;case 2:tongji();break;case 3:chaxun();break;case 4:xiugai();break;case 5:exit(0);}}本函数旳功能为输出功能菜单项选择项,其中包括登记、记录、查询、修改及退出。

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. 系统测试与优化:介绍系统测试方法,指导学生进行宾馆管理系统的功能测试、性能测试等,并对发现的问题进行优化。

c宾馆管理系统课程设计

c宾馆管理系统课程设计

c 宾馆管理系统课程设计一、教学目标本课程的目标是使学生掌握C语言编程的基础知识,学会使用C语言进行简单的系统开发,特别是宾馆管理系统的开发。

知识目标包括:掌握C语言的基本语法、数据类型、运算符、控制结构等;技能目标包括:能够使用C语言编写函数、模块,进行程序的调试和优化;情感态度价值观目标包括:培养学生对计算机科学的兴趣,提高学生解决实际问题的能力。

二、教学内容教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构等,以及宾馆管理系统的需求分析、设计、实现和测试。

具体安排如下:1.第一周:C语言的基本语法和数据类型;2.第二周:C语言的运算符和控制结构;3.第三周:宾馆管理系统的需求分析;4.第四周:宾馆管理系统的模块设计和实现;5.第五周:宾馆管理系统的测试和优化。

三、教学方法为了激发学生的学习兴趣和主动性,我们将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

具体安排如下:1.讲授法:用于讲解C语言的基本语法、数据类型、运算符、控制结构等知识点;2.讨论法:用于讨论宾馆管理系统的需求分析和设计方案;3.案例分析法:用于分析实际的宾馆管理系统案例,帮助学生理解和管理系统的设计和实现;4.实验法:用于学生动手编写和测试C语言程序,以及实现和优化宾馆管理系统。

四、教学资源我们将选择和准备适当的教学资源,包括教材、参考书、多媒体资料和实验设备等。

具体安排如下:1.教材:《C语言程序设计》;2.参考书:《C语言编程实践》、《C语言深度探索》;3.多媒体资料:教学PPT、视频教程、在线编程练习平台;4.实验设备:计算机、编程环境、调试工具。

以上是本课程的教学目标、教学内容、教学方法和教学资源的设计。

希望通过这些设计,能够帮助学生掌握C语言编程的基础知识,学会使用C语言进行简单的系统开发,特别是宾馆管理系统的开发。

五、教学评估为了全面、客观、公正地评估学生的学习成果,我们将采取以下评估方式:1.平时表现:包括课堂参与度、提问回答、小组讨论等,占总评的30%;2.作业:包括编程练习、项目任务等,占总评的40%;3.考试:包括期中和期末考试,占总评的30%。

用C语言实现的宾馆客房学习管理系统课程设计报告总结计划

用C语言实现的宾馆客房学习管理系统课程设计报告总结计划

目录一、课程设计题目......错误!未指定书签。

二、运转环境(软、硬件环境)错误!未指定书签。

三、算法设计的思想..错误!未指定书签。

四、算法的流程图......错误!未指定书签。

五、算法设计剖析......错误!未指定书签。

六、源代码..................错误!未指定书签。

七、运转结果剖析......错误!未指定书签。

八、收获及领会..........错误!未指定书签。

一、课程设计题目旅馆客房管理系统。

二、运转环境(软、硬件环境)中文版WindowsXP和。

三、算法设计的思想1.定义旅馆客房管理信息构造体Hotel-Info 。

2.成立一个简略的选择菜单,经过输当选择履行的动作。

3.主函数中,用switchcase 实现选择功能,7项功能经过7个分支实现,每个对应一个函数。

4.写函数,包含Insert- 插入,Amend-改正,Demand查-询,Del-删除,Skim-阅读,Balance-结算。

5.源程序可运转以后,将其数据、信息输入到文档中,使其能存档,能够写入文件和读出文件。

6.对程序进行改正、完美。

四、算法的流程图写函数开始联系文件定义构造体Hotel-Info改正、完美结束成立选择菜单写主函数,实现选择功能图1算法流程图五、算法设计剖析这是一个小型的管理系统,使用构造体数组储存客房的信息。

2.一般的管理系统都应当具备插入,改正,查问,删除,阅读等功能,经过使用一个简略菜单进行履行动作的选择。

用函数实现模块化设计,调治清楚,使程序易读写。

把程序与文件联系,使数据能储存在磁盘中,更具适用性。

六、源代码构造体structHotel_Info{charname[N],type[N],ID_card[N],in_time[N],leave_time[N];charidly[N];intprize,num,ad_payment;}Info[N];主函数intmain(){FILE*fp;inti=0;fp=fopen("d:\\hotelmanagesystem.txt","r");//fscanf(fp,"%d",&n);for(i=0;i<n;i++)while(!feof(fp)){inta;fscanf(fp,"%d",&a);fscanf(fp,"客房号:%d",&Info[i].num);fscanf(fp,"安闲状况:%s",Info[i].type);fscanf(fp,"客房种类:%s",Info[i].idly);fscanf(fp,"客房价钱:%d",&Info[i].prize);fscanf(fp,"客户姓名:%s",Info[i].name);fscanf(fp,"身份证:%s",Info[i].ID_card);fscanf(fp,"预支款:%d",&Info[i].ad_payment);fscanf(fp,"入住时间:%s",Info[i].in_time);fscanf(fp,"退房时间:%s",Info[i].leave_time);i++;}fclose(fp);n=i-1;intm;do{printf("\n");printf("***************************************************\n"); printf("1————登记。

C语言课程设计-宾馆客房管理系统

C语言课程设计-宾馆客房管理系统

《宾馆客房管理系统》课程设计报告题目宾馆客房管理系统学号姓名同组成员年级专业09级电子信息工程(2)班指导教师完成日期2010 年06 月20 日报告目录1.课题要求2.课题分析3.成员分工4.程序流程图5.程序代码及调试6.小节及收获体会7. 参考书籍:一、课题要求:➢某宾馆有301、302、303、304、305五个标准间,每个标准间可住2人;➢链表存储结构:姓名、性别、房号、后续指针,按房间号有序;➢能实现入住(注意性别)和退房,能按给定姓名、房号查询;➢建议采用链表结构,但用其它方法实现也可。

二、课题分析:本程序是针对宾馆客房管理所设计的系统软件。

我们借助C语言作为编写工具,以TurboC作为编译环境,以静态链表作为编写方法,通过对系统库函数的选择调用以及对所写函数的有机整合,辅之以规整的页面设计,从而完成课题内容的程序设计部分。

程序中我们定义了一个结构体struct hotel,用它来存储用户信息,并以他为操作对象实现其他功能。

结构体中包括用户的姓名、性别、(均为包含两个元素的一位字符数组)房号及后续指针。

程序中含有定义函数如下:Message、main、choice、live_in(包含live_in_one、live_in_two)、live_away、check_through。

主函数实现对choice、live_in、live_away、check_through的声明以及选择性调用。

Choice是界面输出函数,Message是住房信息输出函数,live-in、live_away、check_through分别是入住、退房、查询函数。

live_in可实现单人入住和双人入住的双重选择,check_through可满足按姓名和房号查询的两种方式。

通过对程序的相应操作可以基本实现课题要求。

三、成员分工:袁家文负责Message、main、Choice函数,夏楠负责Live_in、Live in _one和Live in_two函数,我负责Live_away、Look_through 函数。

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

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

c宾馆住宿管理系统课程设计一、背景介绍随着社会的发展和人民生活水平的提高,旅游行业成为了现代人们生活中的一个不可或缺的部分。

伴随着旅游行业的发展,各种各样的酒店、宾馆也开始纷纷涌现。

如何提高宾馆的服务水平,提升顾客的入住体验,成为了宾馆管理者必须面对的问题之一。

因此,开发一套高效、实用的宾馆住宿管理系统,能够极大地提升宾馆的服务质量,为客人带来更好的入住体验,也能让宾馆管理者更加便捷地管理宾馆。

二、课程设计目标本次“C宾馆住宿管理系统课程设计”的目的是在学习C++编程语言和面向对象程序设计的基础上,完成一套宾馆住宿管理系统的设计和开发。

并通过模拟一个实际的宾馆住宿管理系统来巩固和提升学生的编程技巧和面向对象编程思想。

三、需求分析1. 客房管理:包括客房的信息录入、查询、修改、删除等功能。

2. 客户管理:包括客户信息的录入、查询、修改、删除等功能。

3. 入住管理:包括客人的入住登记、房间的安排、入住订单的生成等。

4. 离店管理:包括客人的离店结账、房间的退房等。

5. 数据统计:包括客户信息、客房信息、入住订单和离店结账的统计和报表生成等。

四、系统设计首先,确定系统的框架和架构,本宾馆住宿管理系统总体采用三层架构,即界面层、业务层和数据层:1. 界面层:通过GUI编程实现。

主要功能是将计算机的输出结果以GUI的形式展示给用户,接收用户的输入,将用户要求的操作通过API接口传递到业务层。

2. 业务层:主要负责对用户操作进行处理并返回处理结果。

处理过程中,同时通过数据访问层来获取或修改数据。

3. 数据访问层:主要负责对数据库进行操作。

连接数据库、进行增删改查等操作。

接下来,对需要实现的每个功能进行详细设计和开发。

1. 客房管理(1)客房信息的录入:输入客房基本信息并保存到数据库。

(2)客房信息的查询:根据不同条件(例如房间类型、房间号等)查询客房信息。

(3)客房信息的修改与删除:根据不同条件(例如房间类型、房间号等)修改或删除客房信息。

课程设计宾馆管理系统C语言版

课程设计宾馆管理系统C语言版

中原工学院软件职业技术学院一级实践环节报告课题名称:宾馆客房管理系统专业:NET软件班级:NET104学号:36学生姓名: 李新辉指导教师:罗菁年月日一、题目宾馆客房管理系统二、流程分析三、源代码#include〈stdio.h>#include〈stdlib.h>#include〈string。

h〉#include〈ctype.h>//将字符转化为小写字母函数#define Z 50 //宾馆的房间数#define AY 800#define BY 600#define CY 300#define AJ 15#define BJ 20#define CJ (Z—AJ—BJ)struct hotle{unsigned int num;char dj; //各种等级类型unsigned int money;int fk;//判断房间的空闲状况0为空,为有人}room[Z];struct date{int month;int day;};struct people{char name[20];char ID[15];unsigned int num0;//房间号unsigned int money0;//客人交的订金struct date ru;struct date chu;}kehu[Z];void saveroom();void loadroom();void printroom();void save(int s);void save1(int s);int loadn();void saven(int n);void savekehu2(int t,int m);///////录入宾馆房间信息////////////// void luru(){int a0,b0,c0;a0=b0=c0=0;int i;for(i=0;i〈AJ;i++){room[i]。

num=((a0++)+601);room[i]。

C语言实验报告酒店管理系统

C语言实验报告酒店管理系统

武汉科技大学C语言程序设计课程设计题目酒店管理系统班级信息与计算科学2班姓名陈诚学号成绩2015年6月23日一、总体设计1、程序的总体设计(1)程序总体设计思路:酒店房间登记管理系统,实现的是房间登记与管理(包括登记入住、查询)为了体现模块化设计,把所有要实现的功能做成函数,采用分步实施的方法逐步细化。

具体分布实施有以下5步。

1,编写模块2,定义实现个功能模块所要函数3,编写各个函数4,理清思路,逐步修改5,调试整个程序。

核心部分是各个函数:1、欢迎界面函数:通过switch进入不同界面。

2、登记入住函数:使用户在入住前登记个人信息,选择房间信息3、查询入住情况函数:顾客可通过两种方式查找到自己的个人信息。

4、查询当前费用函数:顾客可随时查询所用费用5、结账退房函数:所有信息清零。

2、数据结构此系统,选择用结构体存放不同类型的数据,房间信息。

在这过程中由于对指针的运用与操作还不熟练,不方便修改,所以没用指针。

(1)创建房间信息结构体/*结构体hotel房间号、房间种类、客户姓名、身份证号、入住状态、实际收房费,押金等*/structhotel{intnum;/*房间号*/intkind;/*房间种类1(表示单人间)2(表示双人间)*/ charname[20];/*姓名*/charID[19];/*身份证号*/intflag;/*flag0(表示有人入住)0(表示无人入住)*/ intdingjia;/*房间定价*/intshiji;/*实际缴纳费用*/}room[M];3、函数原型声明voidwelcome();房号查询2.客户信息查询),最终输出结账退房流程图三、测试出现欢迎界面测试1:选择选项1,入住登记“1”按提示输入信息(如:1-单人间,1-房间号,陈诚,,200元,登记成功)测试2:选择选项2,查询房间入住情况“1”按房间号查询,1、房间号出现刚登记的个人信息2、房间号该房为空房“2”按客户信息查询,身份证号出现个人信“3”退出,返回欢迎界面测试3:选择选项3,查询客户当前费用“1”号房间,当前费用100元测试4:选择选项4,结账退房“2”号房间,空房,重输“1”号房间,应支付100元,退房成功四、小结此程序满足课程设计要求,实现登记、查询、结账等操作,并对不同房间实施不同收费标准,计算总费用等功能。

c语言旅店管理系统课程设计

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语言程序设计酒店管理系统实验报告

C语言程序设计酒店管理系统实验报告

.课程设计报告书题目:酒店管理系统设计报告专业:电子信息工程〔搬动互联网〕班级:一班姓名:韩国齐学号: 202108103010教师:朴海光一:程序功能酒店系统管理包括:主菜单、查察客房入住情况、登记入住、修改客房信息、更正客房信息及退房六个功能模块。

每个功能用一个函数来实现,从而到达功能的模块化。

主菜单模块:主菜单模块包括 1. 查察客房入住情况、 2. 登记入住、3. 客房信息更正、 4.退房及显示入住的总花销、 5. 返回主菜单、6.直接退出程序。

1〕查察客房入住情况功能模块:主要功能是查察房间的入住情况和连续查察已入住的房间的客户信息。

2〕登记入住功能模块:采用结构体数组来记录客户的信息,包括姓名、性别、年龄、身份证号、入住时间,入住单价及入住人数,登记完一个房间后可选择连续下一个房间的登记,也可以选择返回主菜单进行其他功能的操作。

3〕更正客房信息功能模块:包括更正客户信息模块和更正房间信息模块。

4〕更正客户信息模块:主要功能是可选择性的更正客户某个信息,也可以一次性全部更正。

5〕更正客房信息功能模块:用来对客户换房时对客户信息和房间号的更正。

实现的功能是只要输入客户以前住的房间号和现在想住的房间号,就将客户的信息全部移到现在想住的房间上,而以前的房间将被置为未使用。

6〕退房及显示总花销功能模块:当客户退房时,将客户使用的客房置为未使用,删除客户信息。

并且显示客户从入住到退房时的总花销。

二 : 程序代码#include<stdio.h>#include<string.h>#include<stdlib.h>#define M 80int j,s;int hj[81]={0};FILE *fp;//定义文件指针变量struct date //定义结构体种类{int month;int day;int year;}final;struct client{char name[20];int sex;int age;char ID_card[20];int count;struct date start;};struct hotel{int price;int room_ID;struct client personal; }room[M];void save();//声明文件函数void check_siru();//声明查察客房入住情况函数void registration_live();//声明登记入住信息函数void modify_infor();//声明更正客房信息函数void amend_one();//声明更正个人信息函数void amend_room();//声明更正房间信息函数void cost();//声明退房及显示入住花销函数void get_back();//声明返回主菜单函数void check_siru1();//声明查察客房入住情况的调用函数void registration_live1();//声明登记入住信息的调用函数void amend_one1();//声明更正个人信息的调用函数void amend_room1();//声明更正房间信息的调用函数void cost1();//声明显示入住花销的调用函数int main()//主函数{int menu();void print_message();printf("\n\n\n\n\n");print_message();menu();save();return 0;}void print_message(){printf("\t\t\t欢送入住黄金酒店 \n\n\n");}menu() // 主菜单函数{int n;printf("\n");printf("\t\t\t主菜单 \n\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("\t\t\t按 5返回主菜单 \n");printf("\t\t\t按 6退出程序 \n");printf("\n\t请输入要进行操作的选项〔1、 2、 3、 4、 5、 6〕 : ");scanf("%d",&n);while(n<1||n>6){printf("\t\t\t输入错误,请重新输入选项!");scanf("%d",&n);}switch(n){case 1:check_siru();break;case 2:registration_live();break;case 3:modify_infor();break;case 4:cost();break;case 5:get_back();break;case 6:exit(0);}return 0;}void check_siru() //查察房间使用情况函数{int a,g,count=0;for(g=1;g<=80;g++){if(hj[g]==0)++count;elseif(hj[g]==1)printf("\n\t\t\t正在使用的房间号: %d",g);}printf("\n\n\t\t\t未使用的房间数: %d",count);printf("\n\n\t\t\t按 1返回主菜单,按2连续:");scanf("%d",&a);switch(a){case 1:menu();break;case 2:printf("\n\n");printf("\n\t\t\t请输入要盘问的房间号:");scanf("%d",&s);if(hj[s]==1){printf("\n\t\t\t姓名: %s",room[s]);printf("\n\t\t\t性别〔其中:1表示男,2表示女!〕:%d",room[s].personal.sex);printf("\n\t\t\t年龄: %d",room[s].personal.age);printf("\n\t\t\t身份证号: %s",room[s].personal.ID_card);printf("\n\t\t\t入住年份: %d",room[s].personal.start.year);printf("\n\t\t\t月: %d",room[s].personal.start.month);printf("\n\t\t\t日: %d",room[s].personal.start.day);printf("\n\t\t\t房间号: %d",room[s].room_ID);printf("\n\t\t\t客房单价: %d",room[s].price);printf("\n\t\t\t入住人数: %d",room[s].personal.count);printf("\n\n\t\t\t按 1返回主菜单,按2连续\n");scanf("%d",&a);switch(a){case 1:menu();break;case 2:check_siru1();break;}}elseprintf("\n\t\t\t该房间未被使用! ");}save();printf("\n\n\t\t\t按 1返回主菜单,按2连续:");scanf("%d",&a);switch(a){case 1:menu();break;case 2:check_siru1();break;}}void registration_live() //登记入住函数{int a;printf("\t\t请输入登记的相关信息:\n");printf("\n\t\t\t房间号 ");scanf("%d",&j);room[j].room_ID=j;printf("\n\t\t\t姓名: ");scanf("%s",room[j]);printf("\n\t性别〔其中: 1 表示男, 2 表示女!〕:");scanf("%d",&room[j].personal.sex);printf("\n\t\t\t年龄: ");scanf("%d",&room[j].personal.age);printf("\n\t\t\t身份证号: ");scanf("%s",room[j].personal.ID_card);printf("\n\t\t\t入住年份: ");scanf("%d",&room[j].personal.start.year);printf("\n\t\t\t月份: ");scanf("%d",&room[j].personal.start.month);printf("\n\t\t\t日期: ");scanf("%d",&room[j].personal.start.day);printf("\n\t\t\t客房单价: ");scanf("%d",&room[j].price);printf("\n\t\t请输入入住人数:");scanf("%d",&room[j].personal.count);hj[j]=1;save();printf("\n\n\t\t按 1返回主菜单,按2连续:");scanf("%d",&a);switch(a){case 1:menu();break;case 2:registration_live1();break;}}void modify_infor() //更正客房函数{int r,m;printf("\t\t\t菜单\n\n\n");printf("\t\t\t1:更正客户信息 \n");printf("\t\t\t2:更正房间信息 \n");printf("\t\t\t3:返回主菜单 \n");printf("\t\t\t4:退出程序 \n");printf("\n\n\t\t请选择输入选项〔 1、2、 3、 4〕 : ");scanf("%d",&m);if(m<1||m>3){r=1;}else r=0;switch(m){case 1:amend_one1();break;case 2:amend_room1();break;case 3:menu();case 4:exit(0);}save();}void amend_one() //更正客人信息函数{int i,q;char a[20];printf("\n\n\t\t\t请输入现住的房间号:");scanf("%d",&j);printf("\n\t\t\t请选择您要更正的个人选项\n");printf("\t\t\t1:代表姓名 \n\t\t\t2:代表性别〔其中 1 表示男, 2表示女〕 \n\t\t\t3:年龄\n\t\t\t4:代表身份证号\n\t\t\t5:代表入住年份 \n\t\t\t6:代表入住月份\n\t\t\t7:代表入住日期\n\t\t\t8:入住人数\n");printf("\t\t\t请选择输入选项〔 1、2、 3、 4、 5、 6、 7、 8〕: ");scanf("%d",&q);switch(q){int t,p;case 1:printf("\n\t\t\t请输入新名字:");scanf("%s",a);strcpy(room[j],a);printf("\n\n\t\t\t按 1返回主菜单,按2连续:");scanf("%d",&i);switch(i)case 1:menu();break;case 2:amend_one1();break;}case 2:printf("\n\t\t请输入新性别〔其中:1表示男,2表示女〕:");scanf("%d",&p);room[j].personal.sex=p;printf("\n\n\t\t\t按 1返回主菜单,按2连续:");scanf("%d",&i);switch(i){case 1:menu();break;case 2:amend_one1();break;}case 3:printf("\n\t\t\t请输入年龄:");scanf("%d",&p);room[j].personal.age=p;printf("\n\n\t\t\t按 1返回主菜单,按2连续:");scanf("%d",&i);switch(i){case 1:menu();break;case 2:amend_one1();break;case 4:printf("\n\t\t\t请输入新身份证号:");scanf("%s",room[j].personal.ID_card);printf("\n\n\t\t\t按 1返回主菜单,按2连续:");scanf("%d",&i);switch(i){case 1:menu();break;case 2:amend_one1();break;}case 5:printf("\n\t\t\t请输入新年份:");scanf("%d",&p);room[j].personal.start.year=p;printf("\n\n\t\t\t按 1返回主菜单,按2连续:");scanf("%d",&i);switch(i){case 1:menu();break;case 2:amend_one1();break;}case 6:printf("\n\t\t\t请输入新月份:");scanf("%d",&p);room[j].personal.start.month=p;printf("\n\n\t\t\t按 1返回主菜单,按2连续:");scanf("%d",&i);switch(i){case 1:menu();break;case 2:amend_one1();break;}case 7:printf("\n\t\t\t请输入新日期:");scanf("%d",&p);room[j].personal.start.day=p;printf("\n\n\t\t\t按 1返回主菜单,按2连续:");scanf("%d",&i);switch(i){case 1:menu();break;case 2:amend_one1();break;}case 8:printf("\n\t\t\t请输入新入住人数:");scanf("%d",&p);room[j].personal.count=p;printf("\n\n\t\t\t按 1返回主菜单,按2连续:");scanf("%d",&i);switch(i){case 1:menu();break;case 2:amend_one1();break;}}menu();}void amend_room() //更正房间信息函数{int a,l,x;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〕: ");scanf("%d",&l);switch(l){case 1:printf("\n\t\t\t请输入旧房号:");scanf("%d",&j);printf("\t\t\t请输入新房号:");scanf("%d",&s);strcpy(room[s],room[j]);//room[j]={'\0'};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[j].personal.ID_card={'\0'};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;hj[s]=1;hj[j]=0;printf("\n\n\t\t按 1返回主菜单,按2连续:");scanf("%d",&a);switch(a){case 1:menu();break;case 2:amend_room1();break;}case 2:printf("\n\t\t\t请输入房号:");scanf("%d",&s);printf("\t\t\t请输入新单价:");scanf("%d",&x);room[s].price=x;printf("\n\n\t\t按 1返回主菜单,按2连续:");scanf("%d",&a);switch(a){case 1:menu();break;case 2:amend_room1();break;}case 3:printf("\n\t\t\t请输入房号:");scanf("%d",&s);printf("\t\t\t请输入新入住人数:");scanf("%d",&x);room[s].personal.count=x;printf("\n\n\t\t按 1返回主菜单,按2连续:");scanf("%d",&a);switch(a){case 1:menu();break;case 2:amend_room1();break;}case 4:break;}save();menu();}void cost() //退房、显示入住花销函数{int a,i,sum;printf("\t\t\t请输入房间号:");scanf("%d",&j);room[j].room_ID=j;printf("\n\t\t\t入住年份: %d",room[j].personal.start.year);printf("\n\t\t\t月: %d",room[j].personal.start.month);printf("\n\t\t\t日: %d",room[j].personal.start.day);printf("\n\t\t\t房间单价为: ");printf("%d",room[j].price);printf("\n\t\t\t请输入退房时间 : ");printf("\n\t\t\t请输入年份: ");scanf("%d",&final.year);printf("\n\t\t\t请输入月份: ");scanf("%d",&final.month);printf("\n\t\t\t请输入日期: ");scanf("%d",&final.day);printf("\n\t\t\t请输入入住天数:");scanf("%d",&i);sum=room[j].price*i;printf("\n\t\t\t总花销 sum=%d\n",sum);hj[j]=0;save();printf("\n\n\t\t按 1 返回主菜单,按 2 连续 : ");scanf("%d",&a);switch(a){case 1:menu();break;case 2:cost1();break;}}void get_back() //返回主菜单的调用函数{.menu();}void check_siru1() //声明查察客房入住情况的调用函数{check_siru();}void registration_live1() //声明登记入住信息的调用函数{registration_live();}void amend_one1() //声明更正个人信息的调用函数{amend_one();}void amend_room1() //声明更正房间信息的调用函数{amend_room();}.void cost1() //声明显示入住花销的调用函数{cost();}void save(){FILE *fp;int i;if((fp=fopen("客房管理 .txt","w+"))==NULL){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);.}三: 运行〔主菜单功能〕〔登记客户入住信息〔可以按 2连续登记下个房间客户的信息〕〕〔查察登记过的客户信息〔方才登记的李明的信息已存在〕〕.〔更正客户信息〔这页更正的是名字,把李明改为张三〕〕〔这页查察更正的客户信息可否成功〔已成功的把李明改为了张三〕〕.〔这页连续更正客户信息〔这里更正的是性别,把方才的男〔1〕改为了女〔 2〕〕〕〔这里连续查察方才更正的性别可否成功〔这里已经把男〔1〕改成了女〔 2〕〕〕依此.类推下面的年龄、身份证号、入住年份、月份、日期、人数都依此方法更正。

c宾馆房间管理系统课程设计

c宾馆房间管理系统课程设计

c 宾馆房间管理系统课程设计一、课程目标知识目标:1. 让学生理解宾馆房间管理系统的基本概念、功能模块和工作流程。

2. 使学生掌握数据库设计原则,能运用数据库技术进行宾馆房间信息的存储、查询和管理。

3. 帮助学生掌握面向对象的程序设计方法,运用所学编程语言实现宾馆房间管理系统的功能。

技能目标:1. 培养学生运用数据库软件进行数据表设计、数据录入、查询等操作的能力。

2. 培养学生运用编程语言进行宾馆房间管理系统功能模块开发的能力。

3. 提高学生的团队协作和沟通能力,能就宾馆房间管理系统项目进行有效讨论和分工合作。

情感态度价值观目标:1. 培养学生对信息技术的兴趣,激发学生主动学习和探究的热情。

2. 培养学生严谨、认真的工作态度,养成良好的编程习惯。

3. 增强学生的社会责任感,理解宾馆房间管理系统在实际应用中的重要性。

课程性质:本课程为信息技术学科,结合实际宾馆房间管理案例,注重实践操作和理论知识的结合。

学生特点:学生处于高年级阶段,具备一定的信息技术基础和编程能力,对实际项目具有较强的兴趣。

教学要求:教师在教学过程中,应注重引导学生将理论知识与实践操作相结合,关注学生的个体差异,提高学生的动手能力和创新能力。

通过课程学习,使学生在掌握宾馆房间管理系统相关知识的基础上,具备实际项目开发能力。

二、教学内容1. 宾馆房间管理系统概述:介绍系统基本概念、功能模块,分析宾馆房间管理业务流程。

教材章节:第一章 宾馆房间管理系统概述内容列举:系统定义、功能模块划分、业务流程分析。

2. 数据库设计:学习数据库设计原则,运用数据库软件进行宾馆房间信息表的创建和管理。

教材章节:第二章 数据库设计与实现内容列举:数据库设计原则、数据表创建、数据录入与查询、数据库维护。

3. 编程语言应用:学习面向对象编程方法,运用编程语言进行宾馆房间管理系统功能模块开发。

教材章节:第三章 编程语言应用内容列举:面向对象编程基础、类与对象、方法与属性、宾馆房间管理功能模块实现。

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

用C语言实现的宾馆客房管理系统课程设计报告
目录
一、课程设计题目 .............................. 错误!未定义书签。

二、运行环境(软、硬件环境)....... 错误!未定义书签。

三、算法设计的思想 .......................... 错误!未定义书签。

四、算法的流程图 .............................. 错误!未定义书签。

五、算法设计分析 .............................. 错误!未定义书签。

六、源代码.......................................... 错误!未定义书签。

七、运行结果分析 .............................. 错误!未定义书签。

八、收获及体会 .................................. 错误!未定义书签。

一、课程设计题目
宾馆客房管理系统。

二、运行环境(软、硬件环境)
中文版Windows XP 和Microsoft Visual C++ 6.0。

三、算法设计的思想
1.定义宾馆客房管理信息结构体Hotel-Info 。

2.建立一个简易的选择菜单,经过输入选择执行的动作。

3.主函数中,用switch case 实现选择功能,7项功能经过7个分支实现,每个对应一个函数。

4.写函数,包括Insert-插入,Amend-修改,Demand-查询,Del-删除,Skim-浏览,Balance-结算。

5.源程序可运行之后,将其数据、信息输入到文档中,使其能存档,能够写入文件和读出文件。

6.对程序进行修改、完善。

四、算法的流程图
图1 算法流程图
五、算法设计分析
1.这是一个小型的管理系统,使用结构体数组存储客房的信息。

2.一般的管理系统都应该具备插入,修改,查询,删除,浏览等功能,经过使用一个简易菜单进行执行动作的选择。

3.用函数实现模块化设计,调理清晰,使程序易读写。

4.把程序与文件联系,使数据能存储在磁盘中,更具实用性。

六、源代码
1结构体
struct Hotel_Info
{
char name[N],type[N],ID_card[N],in_time[N],leave_time[N];
char idly[N];
int prize,num,ad_payment;
}Info[N];
2主函数
int main()
{
FILE *fp;
int i=0;
fp=fopen("d:\\hotel manage system.txt","r");
//fscanf(fp,"%d",&n);
// for(i=0;i<n;i++)
while(!feof(fp))
{
int a;
fscanf(fp,"%d",&a);
fscanf(fp," 客房号:%d",&Info[i].num);
fscanf(fp," 空闲情况:%s",Info[i].type);
fscanf(fp," 客房类型:%s",Info[i].idly);
fscanf(fp," 客房价格:%d",&Info[i].prize);
fscanf(fp," 客户姓名:%s",Info[i].name);
fscanf(fp," 身份证:%s",Info[i].ID_card);
fscanf(fp," 预付款:%d",&Info[i].ad_payment);
fscanf(fp," 入住时间:%s",Info[i].in_time);
fscanf(fp," 退房时间:%s",Info[i].leave_time);
i++;
}
fclose(fp);
n=i-1;
int m;
do
{
printf("\n");
printf("
***************************************************\n");
printf(" 1————登记。

\n");
printf(" 2————修改。

\n");
printf(" 3————查询。

\n");
printf(" 4————删除。

\n");
printf(" 5————浏览。

\n");
printf(" 6————结算。

\n");
printf(" 7————退出。

\n");
printf("
***************************************************\n");
scanf("%d",&m);
switch(m)
{
case 1: Insert(&count); break;
case 2: Amend(count) ;break;
case 3: Demand(count) ;break;
case 4: Del(&count) ;break;
case 5: Skim(count) ;break;
case 6: Balance(count) ;break;
case 7: break;
default:printf("错误选择!请重选");break;
}。

相关文档
最新文档