C++实现的复杂车票管理系统设计

需积分: 50 40 下载量 99 浏览量 更新于2024-09-09 7 收藏 88KB DOC 举报
"C++课程设计车票管理系统的实现" 在这个车票管理系统中,开发者使用了C++编程语言来创建一个复杂的应用程序,旨在提供高效、便捷的车票管理功能。系统分为九个部分,可能包括用户界面、数据存储、车次管理、售票、退票、查询等功能模块,这样的设计使得系统结构清晰,易于理解和维护,也有助于在项目评估中获得高分。 首先,代码引入了多个头文件以支持不同功能: - `#include<iostream>` 用于标准输入输出,如控制台的交互。 - `#include<fstream>` 支持文件输入输出,用于数据的持久化存储。 - `#include<string>` 提供字符串操作的相关类和方法。 - `#include<iomanip>` 使能参数化输入/输出,如设置输出精度、填充字符等。 - `#include<time.h>` 提供时间处理函数,用于处理发车时间等相关信息。 `Bus_infor` 类是整个系统的核心,它定义了一个车次的信息,包括: - `static int Bus_No` 是静态数据成员,用于统计系统中存在的`Bus_infor`对象数量。 - `char start[20]` 和 `char end[20]` 分别表示车次的起点站和终点站,使用字符串类型存储。 - `int Bus_order` 存储班次号。 - `int all_tickted` 是额定载客量,即每班车的最大售票数。 - `int tickted` 记录已售出的票数。 - `int Hour_start, Minute_start` 表示发车时间的小时和分钟。 - `float GoHour` 是行车时间,以小时为单位。 `Bus_infor` 类还包含了一系列的成员函数,如构造函数、析构函数以及各种输入输出、操作票务的方法: - 构造函数 `Bus_infor()` 初始化静态变量`Bus_No`并设置`tickted`为0。 - 析构函数 `~Bus_infor()` 在对象销毁时更新`Bus_No`。 - `input()` 函数用于从用户或文件获取车次信息。 - `input(ifstream& is)` 读取文件中的车次信息。 - `output()` 和 `output(ofstream& os)` 分别用于在控制台和文件中输出车次信息。 - `Order_tickt(int n)` 定义了订票功能,可以预定指定数量的车票。 - `Unorder_tickt(int n)` 实现退票功能。 - `GetTime_start()` 获取发车时间。 - `GetTime()` 判断当前班次是否已发车。 - `Get_all_tickted()`、`Get_tickted()` 和 `Get_bus_order()` 分别返回额定载量、已售票数和班次号。 - `string Get_end() const` 返回终点站的字符串。 通过这些成员函数,系统能够完成对车次的创建、修改、查询以及售票和退票操作,确保了车票管理的完整性和有效性。此外,使用静态成员变量`Bus_No`可以跟踪系统中车次的数量,有助于进行统计和管理。整个系统设计合理,结合了面向对象编程的原则,提供了良好的可扩展性和维护性。
2019-03-22 上传
资源包含任务书以及说明书还有项目源码 设计要求: (1) 只能使用C语言,源程序要有适当的注释,使程序容易阅读 (2) 至少采用文本菜单界面(如果能采用图形菜单界面更好) (3) 写出课程设计报告,具体要求见相关说明文档 功能要求: 一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如 班次 发车时间 起点站 终点站 行车时间 额定载量 已订票人数 1 8:00 太原 广汉 2 45 30 2 6:30 太原 成都 0.5 40 40 3 7:00 太原 成都 0.5 40 20 4 10:00 太原 成都 0.5 40 2 (1)录入班次信息(信息用文件保存),可不定时地增加班次数据 (2)浏览班次信息,显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。 (3)查询路线:可按班次号查询,,可按终点站查询 设计要求: (1) 只能使用C语言,源程序要有适当的注释,使程序容易阅读 (2) 至少采用文本菜单界面(如果能采用图形菜单界面更好) (3) 写出课程设计报告,具体要求见相关说明文档 功能要求: 一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如 班次 发车时间 起点站 终点站 行车时间 额定载量 已订票人数 1 8:00 太原 广汉 2 45 30 2 6:30 太原 成都 0.5 40 40 3 7:00 太原 成都 0.5 40 20 4 10:00 太原 成都 0.5 40 2 (1)录入班次信息(信息用文件保存),可不定时地增加班次数据 (2)浏览班次信息,显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。 (3)查询路线:可按班次号查询,,可按终点站查询 (4)售票和退票功能 A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数 B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数