大一C++火车票管理系统课题作业,大一C/C++语言知识

声明:

在本文中,我将分享我和我的课题小组在大一时期完成的一个课题项目。项目使用了基本的C/C++语法,也正好是软件工程专业学生一般的起步语言。然而,我必须指出,作为一个第一次使用编程语言编写项目的学生团队,这份代码对于有过许多编程经验的程序员可能不会达到项目的标准,可能存在不足之处。因此,我希望读者仅将其视为学习的参考,而非优秀作品以摘抄。
同时,我欢迎任何形式的指导和建议,以帮助我在未来的项目中改进和成长。
关于代码的说明:本项目中的代码可能存在命名不规范、质量参差不齐、结构不够完整、注释不足或不清晰、存在冗余等问题。
关于数据存储:本项目仅仅使用txt格式存储数据,不涉及Mysql等数据库的使用
文章资源提供课题小组最后的汇报,以及基于控制台的用户界面设计。

本文章仅面向需要参考基本代码的编程小白组员,

以及可能需要设计项目课题总体结构的组长参考。

IDE:Visual Studio 2022

文件结构:

AdministratorMenu.h   

  关于火车票管理员操作的相关函数的声明,例如添加火车票信息,删除火车票信息等

AdministratorMenu.cpp:

关于火车票管理员操作的相关函数的具体实现,实现的操作如上述头文件所述

ChangeAccountInformation.h

变更用户信息相关函数的声明,例如修改密码,身份认证等。

ChangeAccountInformation.cpp

实现上述头文件相关函数。

Login.h/Login.cpp

与登录相关的函数的声明/实现,例如验证密码。

Registered.h/Registered.cpp

与注册相关的函数的声明/实现,例如注册用户名,比对一次输入和二次输入的密码。

StaticMethod.h/StaticMethod.cpp

静态函数。这些函数封装了输入,调用这些类可以正确保证输入的类型。例如车票数量是int型,为了防止输入报错,这个源文件提供了int getSelectDigit()函数保证捕获非数值输入时的异常。

UserMenu.h/UserMenu.cpp

用户菜单相关的函数的声明/实现,例如:购票、退票、改签都在这里。

HeaderFile.h/Main.cpp

头文件声明了程序入口函数,Main即为入口所在文件,包含程序的主界面,例如选择管理员身份进入程序或者选择用户身份进入程序。

CommonLib.h

这个头文件导入了本项目中所有需要的依赖头文件,包括但不限于输入输出流iostream,字符串string。

数据结构

本项目用到的数据结构

#include <vector>//动态数组
#include <string>//字符串
#include <forward_list>//单向链表
#include <unordered_map>//哈希表

不认识没关系,了解其概念及其特效即可通览全文!

其他标准头文件

#include <conio.h>//隐藏输入密码的核心头文件
#include <iostream>//输入输出流cout
#include <iomanip>//控制台清屏及暂停运行
#include <fstream>//读写文件
#include <sstream>//文本转换输入流

总体导入

注意,上述图片代码在CommonLib.h文件中

关于头文件如何导入:将名字对应的头文件导入对应的源文件即可。例如Login.cpp对应导入的头文件为Login.h。此外,每一个头文件都需要导入CommonLib.h。

存储文件结构

AcountLibrary.txt

账号数据存储文件。存储格式:用户名 密码 密保 身份登记。注意每一个值之间用空格隔开,下述一样。

PrimordialInformationBase.txt

(火车票)信息根文件。本文件存储所有火车票最原始的信息。存储格式:车次 始发地 目的地 发车时间 预计到站时间 车票数量

TheUserBuysTheLibrary.txt

用户购票存储文件。由用户购买的车票信息存储在此。存储格式:用户名 车次1 车次2 ....。用于查询用户本身已购车票。

TicketBuyersDatabase.txt

车票被购买存储文件。与上述文件相似。存储格式:车次 用户1 用户2 ... 。用于管理员查询获取车票被够数量与统计车票数量。

课题项目总体设计介绍完毕

项目代码因为没有使用高级API使得代码亮稍大,因此我将代码打包成VS(IDE)可读的项目,在github,需要者请自取- 项目地址:https://github.com/pythonver/TrainManagementSystem

仓库URL(使用git克隆):https://github.com/pythonver/TrainManagementSystem.git

如果github进不去,可以下载Watt Toolkit 加速github

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值