首页 > 编程语言 >车站选票代码分析与展示(C++版)

车站选票代码分析与展示(C++版)

时间:2024-07-02 22:01:34浏览次数:19  
标签:车次 int 车站 timetables C++ char 选票 Timetable void

目录

程序的主要功能

1.主窗口:

2.管理员窗口:

3.普通顾客窗口:

主要数据结构

函数间调用关系

算法流程图

1.查询算法流程图​编辑

2.乘客买票算法流程图

程序运行结果

1.主窗口->管理员窗口

a.管理员窗口->验证窗口

b.管理员增加车次信息

c.浏览全部车辆信息

d.注销车次信息

e.车辆信息查询

2.主窗口->普通乘客窗口 

a.车辆信息查询

b.购买车票

c.退票

源代码


程序的主要功能

此车票管理系统可分别供管理员和顾客使用:

1.主窗口:

功能:根据需要选择进入管理/乘客窗口,或者退出系统。

自定义函数:

int MainWindowSelect()//主菜单选择函数

void AdminMode( Timetable *timetables,char *filename )//进入管理员模式

void PassagerMode( Timetable *timetables,char *filename )//进入乘客模式

int Quit()//退出车票管理系统

int ReadFromFile(Timetable *timetables,char *filename) //从文件中读取信息存入结构体中

int WritetoFile(Timetable *timetables,int n,char *filename) //将结构体中信息写入文件

void numbertochar(int number,char *str) //将数字数组转换成字符数组

int find(Timetable *timetables,int n,char *no)//按车次进行查询

int find(Timetable *timetables,int n,char *Last_station,int *b)//按终点站名进行查询

2.管理员窗口:

功能:

  1. 增加车次信息;
  2. 查看所有车次信息;
  3. 根据车次/终点站查询车辆信息;
  4. 根据车次注销车辆信息。

自定义函数:

int AdminWindowSelect()//管理员菜单选择函数

void Signin()//管理员验证函数

int AddBus(Timetable *timetables,int n)//增加车次信息

void ShowTimetableTitle()//显示信息栏标题

void ShowBusInfo(Timetable *timetables,int idx)//显示指定下标车辆信息

void SortbyTime(Timetable *timetables,int n) //按照时间升序排列车辆信息

void ShowTimetable(Timetable *timetables,int n) //显示所有车辆信息

void Query(Timetable *timetables,int n)//根据车次/终点站查询车辆信息

int DelBus(Timetable *timetables,int n) //管理员注销车次函数

3.普通顾客窗口:

功能:

  1. 根据车次/终点站查询车辆信息;
  2. 根据车次查询信息购买车票;
  3. 根据车次查询信息退票。

自定义函数:

int PassagerWindowSelect()//普通顾客菜单选择函数

int InitializationPassagerMode(Timetable *timetables,char *LogFileName,char *filename)//判断当天日志是否存在

void GenerateLogFileName(char *LogFileName)//根据当天时间生成日志

int StopService(Timetable *timetables,int n,char *no)//判断车辆是否发车

void TicketOrder(Timetable *timetables,int n)//根据车次查询信息,决定是否购买车票

void TicketDelete(Timetable *timetables,int n) //根据车次查询信息,决定是否退票


主要数据结构

定义了一个汽车信息表结构体:

struct Timetable

{

    char no[10];//班次

    int hour;//发车时间,小时

    int minute;//发车时间,分钟

    char Starting_station[10];//始发站

    char Last_station[10];//终点站

    float time;//行车时长

    int fare;//票价

    int max_number;//最大载客量

    int sold_number;//已售票数

};


  • 函数间调用关系


1.查询算法流程图

2.乘客买票算法流程图


1.主窗口->管理员窗口

a.管理员窗口->验证窗口

b.管理员增加车次信息

 

c.浏览全部车辆信息

d.注销车次信息

e.车辆信息查询


2.主窗口->普通乘客窗口 

a.车辆信息查询

b.购买车票

c.退票


源代码

见上一份博客/资源

标签:车次,int,车站,timetables,C++,char,选票,Timetable,void
From: https://blog.csdn.net/2302_80358806/article/details/140054037

相关文章

  • C++基础(二):C++入门(二)
        上一篇博客我们正式进入C++的学习,这一篇博客我们继续学习C++入门的基础内容,一定要学好入门阶段的内容,这是后续学习C++的基础,方便我们后续更加容易的理解C++。目录一、内联函数1.0产生的原因1.1概念1.2特性1.3面试题二、缺省参数2.1缺省参数的概念2.2......
  • C++与C#创建位图,是否需要区分RGB和BGR模式
    在处理位图时,确实需要区分RGB和BGR模式,因为不同的库和API对颜色通道的排序有不同的约定。具体到C++与C#,这一点也是需要注意的。C++创建位图使用GDI+或WIC(WindowsImagingComponent):当你在C++中使用这些WindowsAPI创建或操作位图时,通常会指定像素格式,比如PixelFormat2......
  • C++定义函数指针,回调C#
    C++定义函数指针。typedefint(__stdcall*delegate_func)(inta,intb);暴露接口:int__stdcallCPPcallCSharp(delegate_funcfunc);方法实现:int__stdcallCPPcallCSharp(delegate_funcfunc){returnfunc(1,2);}头文件calculator.h#ifndefLIB_CALCULATOR_H#defin......
  • LeetCode 算法:二叉树展开为链表 c++
    原题链接......
  • A tour of C++ 读书笔记
    第一章:C++只是个编译型语言,需要源文件编译成目标文件,再通过链接各种库到可执行文件1.6常量  const  constexpr这个代表是要在编译的时候估值,性能会有所增加吧2.4联合体(union)  联合体所有的成员都是分配在同一地址上面,所以联合体所占的空间是跟其自身内部成员所......
  • 2024年华为OD机试真题-分披萨-C++-OD统一考试(C卷D卷)
    2024年OD统一考试(D卷)完整题库:华为OD机试2024年最新题库(Python、JAVA、C++合集) 题目描述:“吃货”和“馋嘴”两人到披萨店点了一份铁盘(圆形)披萨,并嘱咐店员将披萨按放射状切成大小相同的偶数扇形小块。但是粗心服务员将披萨切成了每块大小都完全不同奇数块,且肉眼能分辨出大小......
  • C++那些事 研读...
    constthings1.const常量与#define宏定义常量区别const常量编译时期可以进行安全检查,#define宏定义并没有具体的数据类型,只是字符替换罢了,不能安全检查2.const与指针constchar*a;//指向constchar的指针charconst*a;//指向constchar的指针char*consta;//const......
  • Visual C++ generate uuid via UuidCreate and CoCreateGuid,get time now,write stri
    //ConsoleApplication3.cpp:Thisfilecontainsthe'main'function.Programexecutionbeginsandendsthere.//#pragmacomment(lib,"rpcrt4.lib")#include<windows.h>#include<chrono>#include<ctime>#include&l......
  • 《C++ Primer》导学系列:第 13 章 - 拷贝控制
    13.1拷贝、赋值与析构函数拷贝控制是C++中类设计的重要组成部分,用于管理对象的复制、赋值和销毁过程。理解并正确实现拷贝控制函数(拷贝构造函数、拷贝赋值运算符和析构函数)对于编写健壮和高效的C++程序至关重要。13.1.1拷贝构造函数拷贝构造函数用于创建对象的副本。它的......
  • C++23特性一览
    NewlanguagefeaturesNewlanguagefeaturetestingmacrosExplicitobjectparameters,explicitobjectmemberfunctions(deducingthis)ifconsteval/ifnotconstevalMultidimensionalsubscriptoperator(e.g.v[1,3,7]=42;)staticoperator()static......