代码-C++简单民航票数系统的买票、退票功能

问题描述

C++简单民航票数系统的买票、退票功能

这是要求:(1)预售票及退票功能:当查询到某航班寓于剽窃在行把起飞前15日方可订票且距离起飞还有超过四小时的情况下才可以预订票,订票时需提供18位身份证号,不符合要求的身份证号无法预订,并且每人每次最多预订两张机票,超过数量将无法预订;退票时必须保证在本航班起飞前至少四小时并且该身份证号已预订过机票的情况下才可以退票。预售票及退票成功后自动更新库中该航班的余票数票。(2)信誉功能:对客户的失信次数(即在航班起飞后未进行取票)进行记载,写到costumer.Txt文档中。如果失信次数超过两次将无法进行机票的预定。
这是我的部分代码:
struct visitor
{
char IDnumber[18];//游客身份证号
int boughtnum;//你所买的票的数目,最多两张
int costumer;//你的失信次数
};

struct flight
{
string flightnumber;//航班号
string flightcompany;//航空公司
int startmonth;//起飞时间(月)
int startday;//起飞时间(日)
int starthour;//起飞时间(时)
int startminute;//起飞时间(分)
string overtime;//到达时间
string startplace;//起点
string overplace;//终点
int ticketprice;//票价
int ticketnumber;//余票数量
bool islate;//是否晚点
};
void SouthFlight::Buy( flight myflight )
{

int a = SearchByFlightnumber(myflight);
if( a != -1 )
{
char IDnumber[] = "123456789098765432"; //默认的身份证号
string inIDnumber; //用于存储键盘输入身份证号
bool judge = false; //用于判断身份证号是否输入正确
char array[19] = {0};
cout<<"请输入18位身份证号码: "<<endl;
for( int i = 0 ; i < 18 ; i++ )
{
array[i] = getch();
cout<<array[i];
}
cout<<endl;
if( !strcmp (IDnumber,array) )
{
judge = true;
}
else
{
while( !judge )
{
cout<<"输入错误,请重新输入18位身份证号码: ";
for( int i = 0 ; i < 18 ; i++)
{
array[i] = getch();
cout<<array[i];
}
cout<<endl;
if( !(strcmp (IDnumber,array) ) )
judge = true;
}
}

    /*if( xx.data1[0].costumer >= 2 )
    {
        cout<<"你的信誉过低,无法买票!"<<endl;
    }
    else
    {*/
        if( OK() && OK1() )
        {
            data[i].ticketnumber--;
            data1[0].boughtnum++;
        }
        else
            cout<<"现在不是该航班的购票时间!"<<endl;
    //}
}

}

void SouthFlight::Refund( flight myflight )
{

//如果已购买该车票,并在发车前4小时之前

/*cout<<"请输入你的身份证号:"<
cin>>IDnumber[18];
for ( int j = 0 ; j < (int)data1.size() ; j++ )
{
//*************
if( data1[j].IDnumber == )
{

cout<<"请输入需要退票的航班号:"<<endl;
for ( int i = 0 ; i <(int)data.size() ; i++ )
{
        if ( data[i].flightnumber == flightnumber )
        {
            data[i].ticketnumber++;
        }
        else

}
Save();
Save1();*/

}
思路有点混乱,希望能有人指点一下。

解决方案

代码不全,只能简单看到几点问题
1 结构参数最好传指针或引用
购票流程应该如下:
(1)验证买票人的身份证号
(2)验证买票人是否失信超过2次
(3)验证买票人是否已经买超过2张票
(4) 查找是否有票
(5)验证是否提前15天
(6)条件全部满足执行买票逻辑(记录买票人,买票数+1,代售票数减1)

退票类似

解决方案二:

票的信息你用的什么?数组还是链表?
针对这两个的删除方法应该不一样的,也就是退票的方式应该不同

时间: 2025-01-21 12:15:16

代码-C++简单民航票数系统的买票、退票功能的相关文章

求民航售票系统代码用java+jsp代码 SQLserver数据库myeclipse平台

问题描述 求民航售票系统代码用java+jsp代码 SQLserver数据库myeclipse平台 用于课程设计不用太复杂,只用实现基本功能.1.用户登录2.根据时间,出发地,目的地查询机票功能3.订票4.订单查询5.退票.用java+jsp代码 SQLserver数据库myeclipse平台 解决方案 参考:http://download.csdn.net/download/angelyucc/2373156 解决方案二: 这个可以参考,但最好还是自己写吧 解决方案三: http://down

Linux下一个简单的日志系统的设计及其C代码实现

1.概述 在大型软件系统中,为了监测软件运行状况及排查软件故障,一般都会要求软件程序在运行的过程中产生日志文件.在日志文件中存放程序流程中的一些重要信息,包括:变量名称及其值.消息结构定义.函数返回值及其执行情况.脚本执行及调用情况等.通过阅读日志文件,我们能够较快地跟踪程序流程,并发现程序问题.因此,熟练掌握日志系统的编写方法并快速地阅读日志文件,是对一个软件开发工程师的基本要求. 本文详细地介绍了Linux下一个简单的日志系统的设计方法,并给出了其C代码实现.本文为相关开发项目Linux下软

3小时搞定一个简单的MIS系统案例Northwind,有视频、有源代码下载、有真相

一.瞎扯框架.架构      楼主自从1998年从C语言.MASM.Foxbase开始学计算机开始接触这个行当16年以来,2001年干第一份与程序.软件.然后是各种屌的东西开始,差不多干了13年了,这13年来,用过VF\VC\VB\C#搞过N多N多的项目,记得在2002年.2003年那个疯狂并且操蛋的年代,在整天VB代码与各种SQL.各种Bug.各种需求敲打.各种吐血的需求变更.各种大半夜还坐在医院的小板凳的加班与折磨之中,慢慢的学会去思考,他妈的这是为什么,写了程序那么的折磨人,从那时开始,就

用&amp;#106avascript轻松制作一套简单的抽奖系统

    作者:jegg 年底将至,许多公司忙着搞年会,会上一般都会有一些抽奖活动,下面的程序就是用javascript 写的一个简单的抽奖系统与大家共享. 此代码借鉴了网上的一些网友的代码,又加上了一些诸如不重复抽奖之类的改进.大概思路如下: 1.将所有的的抽奖数据(这里为手机号码)存入数组中. 2.使用random 函数随机产生该数组的INDEX 3.使用setInterval 函数以极短的时间间隔产生该数组随机INDEX所对应的手机号码,并显示. 4.使用removeEleAt(index)

用Javascript轻松制作一套简单的抽奖系统

javascript    作者:jegg 年底将至,许多公司忙着搞年会,会上一般都会有一些抽奖活动,下面的程序就是用javascript 写的一个简单的抽奖系统与大家共享. 此代码借鉴了网上的一些网友的代码,又加上了一些诸如不重复抽奖之类的改进.大概思路如下: 1.将所有的的抽奖数据(这里为手机号码)存入数组中. 2.使用random 函数随机产生该数组的INDEX 3.使用setInterval 函数以极短的时间间隔产生该数组随机INDEX所对应的手机号码,并显示. 4.使用removeEl

Node.js和MongoDB实现简单日志分析系统

  Node.js和MongoDB实现简单日志分析系统  这篇文章主要介绍了Node.js和MongoDB实现简单日志分析系统,本文给出了服务器端.客户端.图表生成.Shell自动执行等功能的实现代码,需要的朋友可以参考下     在最近的项目中,为了便于分析把项目的日志都存成了JSON格式.之前日志直接存在了文件中,而MongoDB适时闯入了我的视线,于是就把log存进了MongoDB中.log只存起来是没有意义的,最关键的是要从日志中发现业务的趋势.系统的性能漏洞等.之前有一个用Java写的

构建一个简单的CaaS系统_docker

在CaaS系统出现前企业应用架构基本被IaaS/SaaS/PaaS等模式垄断,直到Docker的出现为我们打开了另一个扇大门,废话不说了,我们直奔主题. 我们先了解下一个简单的CaaS系统是如何为用户提供服务的: 企业用户上传它的应用代码或其他代码托管方式,我们生成用户应用的镜像,或者用户直接上传镜像,或者用户直接使用我们提供的基础服务镜像 用户部署他的镜像应用,启动它的镜像容器 用户访问他的应用服务 OK,需求确定了,该搬砖了. 用户镜像制作 既然是一个简单的CaaS系统,我们就不让用户上传代

简单的刷票系统(突破IP限制进行投票) (转)

前言 相信大家平时肯定会收到朋友发来的链接,打开一看,哦,需要投票.投完票后弹出一个页面(恭喜您,您已经投票成功),再次点击的时候发现,啊哈,您的IP(***.***.***.***)已经投过票了,不能重复投票.这时候,我们可能会想,能不能突破ip地址的限制进行刷票呢?有了这样的想法,那就去做吧,下面我将介绍我这个简单的刷票系统,仅供有需求的园友们参考. 1.系统设计 系统主要实现的是突破IP限制进行刷票,其中,由IP采集模块负责从互联网上爬取代理IP,放入阻塞队列,该任务会定期执行.之后由投票

如何构建一个简单的CAAS系统

在CAAS系统出现前企业应用架构基本被IAAS/SAAS/PAAS等模式垄断,直到docker的出现为我们打开了另一个扇大门,废话不说了,我们直奔主题 我们先了解下一个简单的CAAS系统是如何为用户提供服务的 企业用户上传它的应用代码或其他代码托管方式,我们生成用户应用的镜像,或者用户直接上传镜像,或者用户直接使用我们提供的基础服务镜像 用户部署他的镜像应用,启动它的镜像容器 用户访问他的应用服务 OK,需求确定了,该搬砖了. 1. 用户镜像制作 既然是一个简单的CAAS系统,我们就不让用户上传