旅店收款POS机管理系统-c语言数据结构实习报告
信息工程学院
数据结构与C语言综合训练报告(2012~2013学年第二学期)
报告题目:旅店收款POS机管理系统
姓名:***
专业:信息
年级班级: 121
完成日期:2013/7/20
一、综合训练目的和要求
本综合训练是计算机科学与技术、信息管理与信息系统、软件工程、电子商务专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》、《数据结构》课程后进行的一次全面的
综合练习。本课综合训练的目的和任务:
1. 巩固和加深学生对C语言、数据结构课程的基本知识的理解和掌握
2. 掌握C语言编程和程序调试的基本技能
3. 利用C语言进行基本的软件设计
1
2
3
1.
2.程序运行流程图:
四、详细设计说明
函数功能、入口及出口参数说明,函数调用关系描述等
(分模块逐一说明函数功能、入口及出口参数,函数调用关系描述等)
1.此系统可以设计要求:
前台管理:包括空房分等级显示、入住登记、退房结算、洗衣房娱乐项目管理;
后台管理包括客房预定分析、营业额统计、营业史报表);
设计数据结构文件来实现数据库管理,包括数据录入、查询、删除、修改、更新。
字符串常量池原理2.功能简易介绍:
录入:a、判断存储上次保留的文件是否有未退房的旅客,有则录入到当前旅客列表
b、顾客基本信息的录入及存储,选房间时候要考虑到房间是否已经被使用和是否存
在该房间号,所选房间星级,身份证,电话等;
.顾客基本信息的删除与修改,与信息录入存储紧密联系。要考虑到顾客之信息是否存在,是否允许删除,以及删除与修改后房间的剩余量等房间信息的随之改变
.顾客是否需要其他服务,如早中晚餐,洗衣,娱乐项目,并且加以计费。
.后台服务台对任意顾客信息的查询,当前旅店信息的查询(房间使用情况,营业史等
.顾客选择退房,并且记录下来,结算现金,删除其信息
.退出时提示当前信息可能丢失,是否选择保存,或是回到主菜单取消退出
…………
三个头文件
#include "c1.h"
#include "definition.h"
#include "fun.h"
3.定义(包含在definition.h的头文件里
typedef struct passenger
{
char name[20];
int roomnum;
int star;
char ID[20];
char tel[20];
int money; }ElemType;
struct Rooms{ 此结构体定义了旅客的基本信息,包括姓名、房间号、房间等级、电话、身份证号码、消费量
此结构体定义了各个等级客房的基本信息,包括3、
int price; int num; int remain_num; } room3 ,room4 ,room5
struct rooms{ int room_300; int flag_room; }allroom[301]={0,0};
struct LNode {
ElemType data; LNode *next; };
typedef LNode *LinkList;
4.部分主要函数(包含在fun.h 的头文件里) ?void welcome()
打开软件的欢迎界面,任意键可以进入使用界面。 ?void desktop()
显示菜单的界面,具有一定的的美观性。菜单的选项一目了然,从键盘输入正确菜单选项即可运行,输入非法或错误选项时,会有亲情提示 ?void do_rooms300(void)
再次初始化300间房,具体是将房间号分别命名为1、2、3……299、300,使其恰好是结构体数组allroom[300]的下标,对后面的房间信息处理提供便利 ?Status InitList(LinkList &L)
定义全局变量的链表指针L 后,在主函数首先将其初始化,建立空的链表,用于存储所有旅客的信息
Status read_left_info(LinkList &L)
每一次打开软件时,此函数用于读取文件(上次退出时保存的未退房旅客的信息)里的数据,如果上次退出没有保存旅客信息或是没有未退房旅客信息需要保存,此函数讲不执行
Status out(LinkList L)
此结构体定义了300个客房的基本信息,3、4、5星级的客房各100间,房间号码都初始化为0,房间的标识符也都初始化为0
此结构体定义链表的结构
选择退出系统时的提示函数,如果有未退房旅客,此函数会提示用户直接退出会丢失信息,可以选择保存在退出,以便下次使用系统时读取(read_left_info函数读取)
Status create(LinkList &L)
创建旅客信息的函数,有旅客需要住房,需要录入各种旅客信息,以及选择几星级房间和房间号,如果输入房间等级和房间号不合法会有提示,如果输入的房间号已经在使用之中,也
会有“此房间已被使用”的提示,完全正确输入后自动返回主菜单
Status deleteroom(LinkList &L)
删除某客房信息的函数,在有必要时舍弃某些信息,次信息直接从当前链表删除,不存储到文件(不同于outroomnum函数)
Status outroomnum (LinkList &L)
选择某房间号的退房处理,退房时会有收取旅客费用(基础客房费用和额外的消费)的提示,将其从链表删除节点,成功退房后,还会将旅客信息存入文件,已被将来查住房记录或营业额统计
Status researchroomnum(LinkList L)
查并查看某客房的信息,若是空房,或非法输入会有提示
Status changeroomnum(LinkList &L)
改变旅客信息的函数,需要重新输入次客房旅客的信息,修改时其住房消费会改变,如果更改房间等级,房间不同等级的剩余量以及其他相关信息亦会随之更新
Status allInfoPrint(LinkList L,void(*vi)(ElemType))
用于查看当前所有已用房间及住客的基本信息
Status othercost(LinkList &L)
旅客可以选择在旅馆的其他消费,如用餐、洗衣、娱乐和购买生活用品等,并收取费用(可在消费前退出消费)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。