C语言客房管理系统:功能设计与实现

需积分: 9 0 下载量 24 浏览量 更新于2024-07-01 收藏 411KB DOC 举报
本篇文档是关于一个基于C语言的客房管理系统课程设计实习报告。该系统旨在实现四个主要功能:注册、统计、查询和修改,以满足实际酒店管理的需求。报告按照结构化的方式展开,首先明确了实习课题——客房管理系统,并列出了项目的要求。 在题目与要求部分,系统需支持以下功能: 1. **登记功能**:通过结构体输入客户信息,包括姓名、性别、年龄、身份证号、入住年月日、房间号、电话号码、价格以及签名。 2. **统计功能**:对客户数据进行统计操作,可能涉及客户的数量、各类别(如男女比例、不同房型的入住情况等)。 3. **查询功能**:允许用户查找特定条件下的客户记录,如按姓名、房间号或ID卡号查找。 4. **修改功能**:允许管理员更新或修改已录入的客户信息。 设计分为两个主要层次:**总体设计** 和 **详细设计**。总体设计将系统划分为五个模块,分别是: - **注册模块**:负责接收和处理新客户的信息录入。 - **统计模块**:汇总和展示系统中的客户数据统计结果。 - **查询模块**:提供搜索功能,帮助用户快速找到所需记录。 - **修改模块**:允许管理员更新客户信息,确保数据的准确性。 - **主函数**:整合以上各模块并控制系统的运行流程。 详细设计部分深入讨论了各个模块的具体实现,例如: - **保存函数**:用于将客户信息存储到结构体数组`Room`中,使用全局变量`now_no`跟踪当前记录编号。 - **读取函数**:虽然未在文中提及,但可能涉及到从数据库或其他存储介质读取数据。 - **键盘式菜单**:为了提供用户友好的界面,系统采用了简单的菜单驱动方式,通过`input()`、`record()`、`find()`和`modify()`函数来实现功能选择。 上机操作部分可能会详细描述如何在实际环境中执行这些功能以及可能出现的问题解决方法。最后,结束语部分总结了整个项目的实施过程和收获,以及对未来改进的建议。 该客房管理系统采用C语言编写,注重实用性,具备结构化的模块设计,方便管理和扩展,是学习和理解面向对象编程以及系统设计的良好实践案例。
2023-06-01 上传
酒店管理系统c语言课程设计全文共10页,当前为第1页。酒店管理系统c语言课程设计全文共10页,当前为第1页。#include <stdio.h> 酒店管理系统c语言课程设计全文共10页,当前为第1页。 酒店管理系统c语言课程设计全文共10页,当前为第1页。 #include <conio.h> #include<string.h> #include<stdlib.h> /*定义客户结构体*/ struct guest ( char no[20]; char Name[20]; char sex[2]; char id[20]; }; /*声明客户数组及客户数量*/ struct guest guests[200]; int num=0; /*通过客户返回数组下标*/ int guest_SearchByIndex(char no[]) ( int i; for (i=0;i<num;i ) ( if (strcmp(guests[i].no,no)==0) ( return 0;//i; } } return -1; } /*通过姓名返回数组下标*/ int guest_SearchByName(char name[]) ( int i; for (i=0;i<num;i ) ( if (strcmp(guests[i].Name,name)==0) return i; else return -1; } return 0; } /*显示单条客户记录*/ void guest_DisplaySingle(int index) 酒店管理系统c语言课程设计全文共10页,当前为第2页。酒店管理系统c语言课程设计全文共10页,当前为第2页。( printf("ssss\n"," 房间编号","姓名","性另F,"身份号码) 酒店管理系统c语言课程设计全文共10页,当前为第2页。 酒店管理系统c语言课程设计全文共10页,当前为第2页。 printf(" -——\n"); printf(" %- 10s%9s%9ss\n",guests[index].no,guests[index].Name,guests[index].sex,gues ts[index].id); } /*插入客户信息*/ void guest_Insert() {— while(1) { printf(- 请输入房间编号:"); scanf("%s",guests[num].no); getchar(); printf(- 请输入姓名:"); scanf("%s",guests[num].Name); getchar(); printf(- 请输入性别:"); scanf("%s",guests[num].sex); getchar(); printf(" 请输入身份号码:"); scanf("%s",guests[num].id); while(strlen(guests[num].id)!=18) { printf(" 请输入18位身份证号码"); scanf("%s",guests[num].id); } getchar(); num ; printf(" 是否继续?(y/n)"); if (getchar()=='n'""getchar()=='N') { break; } } } /*修改客户信息*/ void guest_Modify() { 酒店管理系统c语言课程设计全文共10页,当前为第3页。酒店管理系统c语言课程设计全文共10页,当前为第3页。( 酒店管理系统c语言课程设计全文共10页,当前为第3页。 酒店管理系统c语言课程设计全文共10页,当前为第3页。 char no[20]; int index; printf(- 请输入要修改的客户的房号:"); scanf("%s",no); getchar(); index=guest_SearchByIndex(no); if (index==-1) ( printf(" 该客户不存在!\n"); } else ( printf(- 你要修改的客户信息为:\n"); guest_DisplaySingle(index); printf("-- 请输入新值--\n"); printf(- 请输入房间编号:"); scanf("%s",guests[index].no); getchar(); printf(- 请输入姓名:"); scanf("%s",guests[index].Name); getchar(); printf(- 请输入性别:"); scanf("%s",guests[index].sex); getchar(); printf(" 请输入您的身份证号码"); scanf("%s",