欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于C++的火车票管理系统C++课程设计样本.doc

    • 资源ID:49030519       资源大小:258.50KB        全文页数:27页
    • 资源格式: DOC        下载积分:9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于C++的火车票管理系统C++课程设计样本.doc

    资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。信息科学与技术学院程序设计基础课程设计报告题目名称: 车票管理系统专业班级: 电子信息工程10级2班学生姓名: 王彪樊江涛学生学号: 指导教师: 高 攀完成日期: -01目 录1 课程设计综述 31.1 课程设计的目的 31.2 课程设计的题目 31.3 题目要求 32 概要设计 33 详细设计 43.1 流程图 43.2 源程序44 测试 55 课程设计总结51.课程设计综述1.1 课程设计的目的让我们更加深入的了解C+的,使我们一学期学习到的东西得到实践.1.2 课程设计的题目火车票管理系统1.3 题目要求用c+设计一个系统, 能提供下列服务: ( 1) 录入班次信息(信息用文件保存),可不定时地增加班次数据( 2) 浏览班次信息,可显示出所有班次当前状态(如果当前系统时间超过了某班次的发车时间,则显示”此班已发出”的提示信息)。( 3) 查询路线: 可按班次号查询 ,可按终点站查询( 4) 售票和退票功能A: 当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票, 自动更新已售票人数B: 退票时, 输入退票的班次, 当本班车未发出时才能退票, 自动更新已售票人数2 方案选择1)算法设计说明由主函数进入,弹出主菜单界面,经过Switch语句选择需要的功能,能够选择班次录入,浏览班次信息,查询班次信息,购票和退票以及退出系统,以完成不同的操作.其中查询班次信息中还能够由班次查询或者终点站查询.整个系统的文件载入用一个文件载入函数承当.3 详细设计3.1 流程图开始Main函数,进入Switch语句班次录入子函数浏览班次子函数查询子函数购买车票子函数退订车票子函数按照班次查询按照终点站查询返回到主菜单退出程序子函数结束3.2 源程序#include <iostream>#include <fstream>#include <string>#include<time.h>using namespace std;void welcome(); /欢迎子函数void choose(); /选择子函数void banciluru(); /班次录入子函数void liulanbancixinxi(); /浏览班次信息子函数void shoupiao(); /售票子函数void tuipiao(); /退票子函数void quit(); /退出子函数void chaxun(); /查询子函数int loading(); /文件载入子函数const int MAX=20; /使数组最大值可调const int N=50;struct time /时间结构体,为了与系统时间做比较.int hour;int minutes;struct ticket /车票结构体,包含车次,时间结构体,起点,终点,行车时间,额定载客量,已订票人数int Number;struct time Setout;char QidianMAX;char ZhongdianMAX;float Lasttime; int Fixnumber;int Fixednumber;carN;/主函数int main()welcome();return 0;/欢迎子函数void welcome() cout<<"_"<<endl; cout<<"| 欢 * 迎 * 使 * 用 * 火 * 车 * 票 * 管 * 理 * 系 * 统 |"<<endl; cout<<"| |"<<endl; cout<<"| 本管理系统有以下功能: |"<<endl; cout<<"| |"<<endl; cout<<"| 1 班次录入 |"<<endl; cout<<"| 2 浏览班次信息 |"<<endl; cout<<"| 3 查询火车信息 |"<<endl; cout<<"| 4 购买火车票 |"<<endl; cout<<"| 5 退订火车票 |"<<endl; cout<<"| 6 退出系统 |"<<endl; cout<<"|_|"<<endl; cout<<"请输入所要执行功能前的数字: "<<endl; choose();/选择子函数void choose()string i; cin>>i; if(i="1") banciluru(); if(i="2") liulanbancixinxi(); if(i="3") chaxun(); if(i="4") shoupiao(); if(i="5") tuipiao(); if(i="6") quit(); elsecout<<"输入有误!请在数字1-5之间重新您的输入选择!"<<endl;choose();/班次录入子函数void banciluru()string t="1" ofstream outfile; outfile.open("班次信息.txt",ios:app); for(int i=0;t="1"i+) cout<<"请输入需要添加的火车班次:"<<endl; cin>>cari.Number; cout<<"请输入此班次发车时间(格式:先输入小时,回车,再输入分钟):"<<endl; cin>>cari.Setout.hour; cin>>cari.Setout.minutes; cout<<"请输入出发站:"<<endl; cin>>cari.Qidian; cout<<"请输入终点站:"<<endl; cin>>cari.Zhongdian; cout<<"请输入行车时间:"<<endl; cin>>cari.Lasttime; cout<<"请输入额定载客量:"<<endl; cin>>cari.Fixnumber; cout<<"请输入已订票人数:"<<endl;cin>>cari.Fixednumber;outfile<<cari.Number<<" "<<cari.Setout.hour<<" "<<cari.Setout.minutes<<" "<<cari.Qidian<<" "<<cari.Zhongdian<<" "<<cari.Lasttime<<" "<<cari.Fixnumber<<" "<<cari.Fixednumber<<endl;cout<<"是否继续录入?(是请输1,否请输任意键返回主菜单)"<<endl;cin>>t;if(t!="1")welcome();outfile.close();cout<<"输入回车键返回"<<endl;getchar();getchar();welcome();/浏览班次子函数void liulanbancixinxi()int c;c=loading();cout<<"班次"<<" "<<"发车时间"<<" "<<"起点站"<<" "<<"终点站"<<" "<<"行车时间"<<" "<<"额定载客量"<<" "<<"已订票人数"<<endl;for(int i=0;i<c;i+) cout<<cari.Number<<" "<<cari.Setout.hour<<":"<<cari.Setout.minutes<<" "<<cari.Qidian<<" "<<cari.Zhongdian<<" "<<cari.Lasttime<<" "<<cari.Fixnumber<<" "<<cari.Fixednumber<<endl;time_t tval; struct tm *now; tval = time(NULL); now = localtime(&tval); if(now->tm_hour=cari.Setout.hour&&now->tm_min>cari.Setout.minutes)|(now->tm_hour>cari.Setout.hour)cout<<"此车已发出"<<endl; cout<<"输入回车键返回"<<endl;getchar();getchar();welcome();/车次查询子函数void Numbersearch();void Finalsearch();void chaxun()string t;cout<<"1.按班次查询"<<endl;cout<<"2.按终点站查询"<<endl;cout<<"请输入您想选择的查询方法前的数字:"<<endl;cin>>t;if(t="1")Numbersearch();if(t="2")Finalsearch();if(t!="1"|t!="2")cout<<"输入有误,请重新输入"<<endl;chaxun();/班次查询子函数void Numbersearch()loading();int SearchNumber;cout<<"请输入您需要查找的班次号:"<<endl;cin>>SearchNumber;cout<<"班次"<<" "<<"发车时间"<<" "<<"起点站"<<" "<<"终点站"<<" "<<"行车时间"<<" "<<"额定载客量"<<" "<<"已订票人数"<<endl;cout<<carSearchNumber-1.Number<<" "<<carSearchNumber-1.Setout.hour<<":"<<carSearchNumber-1.Setout.minutes<<" "<<carSearchNumber-1.Qidian<<" "<<carSearchNumber-1.Zhongdian<<" "<<carSearchNumber-1.Lasttime<<" "<<carSearchNumber-1.Fixnumber<<" "<<carSearchNumber-1.Fixednumber<<endl; cout<<"输入回车键返回"<<endl;getchar();getchar();welcome();/终点站查询子函数void Finalsearch()int R; R=loading(); int i; char AddressMAX;cout<<"请输入终点站名称:"<<endl; cin>>Address;cout<<"班次"<<" "<<"发车时间"<<" "<<"起点站"<<" "<<"终点站"<<" "<<"行车时间"<<" "<<"额定载客量"<<" "<<"已订票人数"<<endl; for(i=0;i<R;i+) if(strcmp(Address,cari.Zhongdian)=0)cout<<cari.Number<<" "<<cari.Setout.hour<<":"<<cari.Setout.minutes<<" "<<cari.Qidian<<" "<<cari.Zhongdian<<" "<<cari.Lasttime<<" "<<cari.Fixnumber<<" "<<cari.Fixednumber<<endl;cout<<"输入回车键返回"<<endl;getchar();getchar();welcome();/购买火车票子函数void shoupiao()int R;R=loading(); int i; cout<<"请输入要订购的车票的班次:"<<endl; cin>>i; if(i<=0|i>R) cout<<"对不起, 今天没有这趟车,请明天再来, 谢谢使用!"<<endl;cout<<"输入回车键返回"<<endl;getchar();getchar();welcome();time_t tval; struct tm *now; tval = time(NULL); now = localtime(&tval); if(now->tm_hour=cari-1.Setout.hour&&now->tm_min<cari-1.Setout.minutes)|(now->tm_hour<cari-1.Setout.hour) if(cari-1.Fixednumber<cari-1.Fixnumber) (cari-1.Fixednumber)+; ofstream outfile; outfile.open("班次信息.txt",ios:out); for(i=0;i<R;i+) outfile<<cari.Number<<" "<<cari.Setout.hour<<" "<<cari.Setout.minutes<<" "<<cari.Qidian<<" "<<cari.Zhongdian<<" "<<cari.Lasttime<<" "<<cari.Fixnumber<<" "<<cari.Fixednumber<<endl; outfile.close(); cout<<"你的订票成功, 请按时上车, 谢谢使用!"<<endl; else cout<<"对不起, 今天的这趟车的票已卖完,请明天再来, 谢谢合作"<<endl; else cout<<"对不起, 今天的这趟车已发出,请明天再来, 谢谢合作"<<endl;cout<<"输入回车键返回"<<endl;getchar();getchar();welcome();/退订火车票子函数void tuipiao()int R;R=loading(); int i; cout<<"请输入要退购的车票的班次:"<<endl; cin>>i; if(i<=0|i>R) cout<<"对不起, 今天没有这趟车,无法完成退票.谢谢使用!"<<endl;cout<<"输入回车键返回"<<endl;getchar(); getchar();welcome(); time_t tval; struct tm *now; tval = time(NULL); now = localtime(&tval); if(now->tm_hour=cari-1.Setout.hour&&now->tm_min<cari-1.Setout.minutes)|(now->tm_hour<cari-1.Setout.hour) if(cari-1.Fixednumber>=1) cari-1.Fixednumber-=1; ofstream outfile; outfile.open("班次信息.txt",ios:out); for(i=0;i<R;i+) outfile<<cari.Number<<" "<<cari.Setout.hour<<" "<<cari.Setout.minutes<<" "<<cari.Qidian<<" "<<cari.Zhongdian<<" "<<cari.Lasttime<<" "<<cari.Fixnumber<<" "<<cari.Fixednumber<<endl; outfile.close(); cout<<"退订车票成功, 谢谢使用!"<<endl; else cout<<"对不起,今天的这趟车的票尚未卖出,无法完成退票!"<<endl; else cout<<"对不起, 今天的这趟车已发出,无法完成退票!"<<endl;cout<<"输入回车键返回"<<endl;getchar();getchar();welcome();/退出子函数void quit()cout<<"*谢谢使用本系统, 欢迎下次继续使用*"<<endl; /文件载入子函数int loading() int i;ifstream infile; infile.open("班次信息.txt",ios:in); if(!infile) cout<<"请查看原文件是否存在!"<<endl;cout<<"按任意键返回"getchar();getchar();welcome(); for(i=0;!infile.eof();i+) infile>>cari.Number>>cari.Setout.hour>>cari.Setout.minutes>>cari.Qidian>>cari.Zhongdian>>cari.Lasttime>>cari.Fixnumber>>cari.Fixednumber;return i-1;4 测试主菜单:班次录入:浏览班次信息:查询火车信息:测试中发现订购和退订车票后,虽然已订购车票数实际上有增减,但不能存入到文件中及时保存.后来经过以文件覆盖的方法重新录入一次文件得以解决.测试中还发现若时间是整点的话,分钟的0只能是一个0,因为分钟定义的格式是int.,但若果改成char格式之后和系统时间比较的函数将不成立.因此这个程序依然存在这样的一个问题.5 课程设计总结经过这次的课程设计,我发现我还有好多的不足之处,还有好多知识不能很好的运用,而且题目中的一个要求没有正常的完成.我觉得我们应该花更多的时间去查找资料,因为仅凭自己已学的知识是无法完成这些内容的.这次课程设计我用了9个子函数去完成,分开完成各个函数并验证其正确性,这样的方法让我能够顺利完成整个系统.不足之处还有好多,我应该在以后的学习中更加努力完善.6参考书目: 1 谭浩强, C+程序设计, 北京, 清华大学出版社, .

    注意事项

    本文(基于C++的火车票管理系统C++课程设计样本.doc)为本站会员(知****量)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开