学习目标:

折腾


学习内容:

c语言


学习时间:

暑假


学习产出:

火车票管理系统: 要求用面向对象的方法实现火车票管理系统, 车票信息包
括车次号、 发车时间、 到站时间、 出发地、 到达地、 行车时间、 剩余车票
数、 票价等, 如:

车次 发车时间 到站时间 出发地 到达地 行车时间 剩余车票数 票价
G6714 6:40 8:30 石家庄站 北京西站 1时50分 9 129
Z50 7:28 10:05 石家庄站 北京西站 2时37分 18 43.5
T146 7:48 11:18 石家庄站 北京西站 3时30分 17 43.5
...... ...... ...... ...... ...... ...... ...... ......

具体实现的管理功能如下:
(1) 录入车次信息(文本文件保存) , 可随机地增加车次数据。
(2) 浏览车次信息, 途径站。
(3) 查询车票: 按照出发地、 到达地查询车次.
(4) 售票功能: 自动更新剩余车票数。
程序所显示的菜单内容如下:
请选择下面的菜单:
1.录入车次信息
2.浏览车次信息
3.查询车票信息
4.售票
5.退出
请选择

#include <iostream>
#include<string.h>
#include<fstream>
using namespace std;int number;//功能键
int n;//车次的个数class Ticket
{
public:char no[10];//车次号int month;//发车时间int day;//发车时间int hour;//发车时间int minute;//发车时间char start_station[20];//出发地char last_station[20];//到达地float time;//行车时间int price;//票价int last_ticket;//剩余车票数char tu_station[20];//途径站
};
Ticket t[1000];void menu();//菜单
void chose(int);//功能的选择
void input(Ticket t[]);//录入车次信息,可随机地增加车次数据
void show(Ticket t[]);//浏览车次信息,途径站。
void findtic(Ticket t[]);//查询车票:按照出发地、到达地查询车次.
void selltic(Ticket t[]);//售票功能,自动更新剩余车票数int main()
{cout<<"输入车次数:"<<endl;cin>>n;while(1){menu();cin>>number;chose(number);}return 0;
}void chose(int number)
{switch(number){case 1:input(t);// 录入车次信息break;case 2:show(t);//可在最后追加一批学生信息break;case 3:findtic(t);//查询车票信息break;case 4:selltic(t);//售票功能break;case 5:exit(0);//退出break;default:break;}
}void  menu()//菜单
{cout<<"\n***********请选择下面的菜单:***********\n";cout<<"\t 1.录入车次信息\n";//cout<<"\t 2.浏览车次信息\n";//可在最后追加一批学生信息cout<<"\t 3.查询车票信息\n";//输入数据cout<<"\t 4.售票\n";// 按总分降序进行排序cout<<"\t 5.退出\n";//任意输入一个学号,能显示该学生的基本信息。cout<<"\t 请选择";cout<<"\n***************************************\n";
}void input(Ticket t[])//录入车次信息
{int k;cout<<" 录入输1 增加输2 "<<endl;cin>>k;if(k==1){for(int i=0; i<n; i++){cout<<"请输入车次号:"<<endl;cin>>t[i].no;cout<<"请输入发出时间:"<<endl;cout<<"月:"<<endl;cin>>t[i].month;cout<<"日:"<<endl;cin>>t[i].day;cout<<"时:"<<endl;cin>>t[i].hour;cout<<"分:"<<endl;cin>>t[i].minute;cout<<"请输入始发站:"<<endl;cin>>t[i].start_station;cout<<"请输入途径站:"<<endl;cin>>t[i].tu_station;cout<<"请输入终点站:"<<endl;cin>>t[i].last_station;cout<<"请输入行车时间:"<<endl;cin>>t[i].time;cout<<"请输入票价:"<<endl;cin>>t[i].price;cout<<"请输入剩余车票数"<<endl;cin>>t[i].last_ticket;}}if(k==2){int x;cout<<"请输入要添加的车次数:"<<endl;cin>>x;for(int i=n; i<(n+x); i++){cout<<"请输入车次号:"<<endl;cin>>t[i].no;cout<<"请输入发出时间:"<<endl;cin>>t[i].month>>t[i].day>>t[i].hour>>t[i].minute;cout<<"请输入始发站:"<<endl;cin>>t[i].start_station;cout<<"请输入途径站:"<<endl;cin>>t[i].tu_station;cout<<"请输入终点站:"<<endl;cin>>t[i].last_station;cout<<"请输入行车时间:"<<endl;cin>>t[i].time;cout<<"请输入票价:"<<endl;cin>>t[i].price;cout<<"请输入剩余车票数"<<endl;cin>>t[i].last_ticket;}n=n+x;}char c;cout<<"你要保存到文本文件中吗(y/n)"<<endl;cin>>c;if(c=='y'){ofstream ofs;//写到文本文件当中去ofs.open("ticket.txt",ios::out);for(int i=0; i<n; i++){ofs<<"车次号:"<<t[i].no<<endl;ofs<<"发出时间:"<<t[i].month<<"月"<<t[i].day<<"日"<<t[i].hour<<"时"<<t[i].minute<<"分"<<endl;ofs<<"始发站:"<<t[i].start_station<<endl;ofs<<"途径站:"<<t[i].tu_station<<endl;ofs<<"终点站:"<<t[i].last_station<<endl;ofs<<"行车时间:"<<t[i].time<<endl;ofs<<"票价:"<<t[i].price<<endl;ofs<<"剩余车票数:"<<t[i].last_ticket<<endl;}cout<<"保存成功!"<<endl;}}void show(Ticket t[])//浏览车次信息,
{for(int i=0; i<n; i++){cout<<"车次号:"<<t[i].no<<endl;cout<<"发出时间:"<<t[i].month<<"月"<<t[i].day<<"日"<<t[i].hour<<"时"<<t[i].minute<<"分"<<endl;cout<<"始发站:"<<t[i].start_station<<endl;cout<<"途径站:"<<t[i].tu_station<<endl;cout<<"终点站:"<<t[i].last_station<<endl;cout<<"行车时间:"<<t[i].time<<endl;cout<<"票价:"<<t[i].price<<endl;cout<<"剩余车票数:"<<t[i]. last_ticket<<endl;cout<<endl;}}void findtic(Ticket t[])//查询功能:
{
//    int i;//按时间的
//    int m,d;
//    cout<<"请输入发车时间(*月*日):"<<endl;
//    cin>>m>>d;
//    for( i=0;i<n;i++)
//    {
//        if((t[i].month==m)&&(t[i].day==d))
//        {
//        cout<<"车次号:"<<t[i].no<<endl;
//        cout<<"发出时间:"<<t[i].hour<<":"<<t[i].minute<<endl;
//        cout<<"始发站:"<<t[i].start_station<<endl;
//        cout<<"终点站:"<<t[i].last_station<<endl;
//        cout<<"行车时间:"<<t[i].time<<endl;
//        cout<<"票价:"<<t[i].price<<endl;
//        cout<<"剩余车票数:"<<t[i].last_ticket<<endl;
//        }
//
//    }char startplace[20];char getplace[20];cout<<"请输入出发站:"<<endl;getchar();gets(startplace);cout<<"请输入到达站"<<endl;;getchar();gets(getplace);for(int i=0; i<n; i++){if((strcmp(startplace,t[i].start_station)==0)&&(strcmp(getplace,t[i].last_station))){cout<<"车次号:"<<t[i].no<<endl;cout<<"发出时间:"<<t[i].month<<"月"<<t[i].day<<"日"<<t[i].hour<<"时"<<t[i].minute<<"分"<<endl;cout<<"始发站:"<<t[i].start_station<<endl;cout<<"途径站:"<<t[i].tu_station<<endl;cout<<"终点站:"<<t[i].last_station<<endl;cout<<"行车时间:"<<t[i].time<<endl;cout<<"票价:"<<t[i].price<<endl;cout<<"剩余车票数:"<<t[i].last_ticket<<endl;cout<<endl;}}}
void selltic(Ticket t[])//售票功能
{char cc[20];int k;cout<<"请输入你要买的车次号:"<<endl;getchar();gets(cc);cout<<"你要买几张:"<<endl;cin>>k;cout<<"购买成功!"<<endl;for(int i=0; i<n; i++){if(strcmp(cc,t[i].no)==0){t[i].last_ticket-=k;}}
}

火车票管理系统c++相关推荐

  1. C语言火车票管理系统

    大一学完C语言期末综合实验(涉及链表,文件读取保存) 1)添加模块:读入火车信息加入表中,可循环添加.自动生成唯一标志序号便于修改和删除 2)查询模块:可根据序号.车次号.起点终点查询更方便用户使用, ...

  2. java设计火车的类,JAVA课程设计--火车票管理系统

    JAVA课程设计--火车票管理系统 ******************* 实践教学实践教学 ******************* 兰州理工大学兰州理工大学 计算机与通信学院 2013 年秋季学期 ...

  3. 火车票管理系统linux,火车票管理系统

    火车票管理系统 一. 课题内容和要求 改系统要求实现一个简单.实用的火车票管理程序,主要功能包括火车票数据的录入.查找.删除.显示.售票.退票等.所有火车票数据都要利用文件系统保存,以备系统下次运行时 ...

  4. Swing+Mysql实现的火车票管理系统3(功能分为普通用户和管理员,包含登录、车票查询、改签、购票、我的订单、用户注册、用户首页、车站管理、价格管理、用户管理等)

    博客目录 Swing+Mysql实现的火车票管理系统3 实现功能截图 系统功能 使用技术 代码 完整源码 Swing+Mysql实现的火车票管理系统3 本系统是一个火车票购票管理系统,分为普通用户和管 ...

  5. 【课程设计】数据库:火车票管理系统

    [课程设计]数据库:火车票管理系统 摘要:本文主要介绍了火车票管理系统,其中包括其选题功能概述,对该系统的方案方法设计,以及过程实现等内容.由于系统的代码量较大,因此将会较为抽象地对思想进行介绍,在必 ...

  6. 火车票售票系统C语言大作业,C语言课程设计--火车票管理系统

    <C语言课程设计--火车票管理系统>由会员分享,可在线阅读,更多相关<C语言课程设计--火车票管理系统(19页珍藏版)>请在人人文库网上搜索. 1.二.设计内容二.设计内容 设 ...

  7. java课设 火车订票_JAVA课程设计火车票管理系统

    JAVA课程设计火车票管理系统 *******************实践教学*******************兰州理工大学计算机与通信学院2013 年秋季学期Java 课程设计题 目: 火车票管 ...

  8. java 数据库 火车票管理系统6_基于Java火车票售票管理系统

    基于Java火车票售票管理系统 熊水平 / 河池学院物理与机电工程学院 [摘 要]随着计算机的普及,信息处理量的逐渐扩大,手工处理方式已经远远不能满足人们管理活动的需要,各种工作都逐渐由手工转为自动化 ...

  9. c语言火车票管理系统源代码2000行,C语言教务管理系统[2000行代码].doc

    专业资料 精心整理 C语言教务管理系统 一.程序结构图 二.程序运行截图 1. 个人信息简介 2. 修改颜色 3. 注册界面 4. 信息保存至文件 5. 登录界面 6. 管理员录入信息 7. 学生信息 ...

最新文章

  1. sql多条件查询语句
  2. LCD正向扫描和反向扫描
  3. ubuntu9.10硬盘安装记录一
  4. 未正确安装master data services_GP数据库安装
  5. html文件上传删除,文件上传以及删除文件方法
  6. LeetCode 1100. 长度为 K 的无重复字符子串(滑动窗口)
  7. 订单编号的数据类型是什么_电商仓储是如何进行发货的?拣货的原则是什么?...
  8. Objective-C 继承新的认识以及作用
  9. 360浏览器打开html不能正常显示图片,360浏览器网页不显示图片?如何显示出来...
  10. 雨果奖首设游戏奖项,Hades拿下科幻界的诺贝尔奖
  11. php开发微信会员系统,PHP实例:微信公众号实现会员卡领取功能
  12. org.hibernate.MappingException: Unknown entity常见问题(新手需注意)
  13. 一步一步 copy163: 网易严选 ---- vue-cli
  14. oracle ora 3136,关于ORA-3136的处理思路
  15. C语言编程>第二十二周 ③ 下列给定的程序中,函数fun的功能是根据整型形参n,计算如下公式的值:
  16. (五)不只是 huohuo 的 JS 面试题
  17. Linux下批量把GDK编码的文章转化为UTF-8编码的文章以及“iconv: 未知 xxx 处的非法输入序列”错误处理
  18. (亲测)1分钟破解IDM权限,傻瓜都能学会的破解方法(番外篇:利用破解工具直接破解IDM)...
  19. 如何在计算机桌面上添加小工具,怎么在电脑的桌面小工具里添加便签
  20. RenderContents和Render区别

热门文章

  1. 易友姓名测试软件发布
  2. MQ测试:发出第一条MQ消息
  3. 微信文本换行json php,json文本换行 \n符
  4. 新手入门 Git GitHub
  5. 体感游戏 | 手势识别玩飞机大战游戏(二) Python+OpenCV实现简易手势识别功能
  6. BurpSuite与Chrome浏览器设置
  7. Appium 定位元素
  8. 系统集成项目管理工程师:项目管理办公室PMO
  9. 车牌识别OCR算法的工作原理
  10. 前馈神经网络手写数字识别