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

    火车票务管理系统C语言.doc

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

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

    火车票务管理系统C语言.doc

    . .火车票务管理系统一、 课题容和要求设计目标:设计一个火车票务管理系统,用C语言实现。对该系统的要求如下:需求描述:1.系统功能(1)火车时刻信息录入。包括车次、日期、起点、终点、开车时间、到达时间、票价。数据存入数据文件hchsk.dat或hchsk.txt中。(2)火车时刻信息查询。按照车次查询按终点查询按起点查询按终点和日期查询 (3)统计 按终点统计每日的车次数 按起点统计每日的车次数2. 系统主界面应有以下功能选项录入火车时刻信息查询火车时刻信息统计火车车次退出注:建议用VC环境开发用户界面。结果形式:提交程序设计报告和可演示的系统软件二、需求分析系统主界面应有以下功能选项1录入火车时刻信息2查询火车时刻信息3统计火车车次4.退出 (1)火车时刻信息录入。包括车次、日期、起点、终点、开车时间、到达时间、票价。数据存入数据文件hchsk.dat或hchsk.txt中。(2)火车时刻信息查询。按照车次查询按终点查询按起点查询按终点和日期查询 (3)统计 按终点统计每日的车次数 按起点统计每日的车次数二、 概要设计void SearchTrainNum();/按照车次查询void SearchToPlace();/按终点查询void SearchFromPlace();/按起点查询void SearchToPlaceAndDate();/按终点和日期查询void CountToPlace();/按终点统计每日的车次数void CountFromPlace();/按起点统计每日的车次数三、详细设计 程序的源代码与注释 #include<stdio.h>#include<string.h>#include<stdlib.h>void SearchTrainNum();void SearchToPlace();void SearchFromPlace();void SearchToPlaceAndDate();void CountToPlace();void CountFromPlace();void Star();struct TRAIN char trainNum10; char date30;char fromPlace20;char toPlace20;char inTime30;char outTime30; double price;struct TRAIN train30;int main() int request; char ch='Y'int i=0;double myprice; FILE *fp;repeat: Star(); printf("火车管理系统界面n");printf("1.录入火车时刻信息.n");printf("2.查询火车时刻信息.n");printf("3.统计火车车次.n");printf("4.退出.n"); Star();printf("n");printf("请输入:");scanf("%d",&request);switch(request)/利用case分支构造case 1: fp=fopen(".train.rec","wb");/利用文件与流 if(!fp) printf("File can not be openedn"); exit(1); doprintf("Enter车次 日期 起点 终点 开车时间 到达时间 票价n>>> ");scanf("%s%s%s%s%s%s%lf",traini.trainNum,traini.date,traini.fromPlace ,traini.toPlace,traini.inTime,traini.outTime,&myprice);traini.price=myprice;fwrite(&traini,sizeof(struct TRAIN),1,fp);i+; printf("continue(Y/N)(N to end)?");getchar(); scanf("%c",&ch); while(ch!='N'); fclose(fp);printf("返回主界面吗?(Y返回)");getchar();scanf("%c",&ch);if(ch='Y')printf("nn");goto repeat;break; case 2: printf("nn"); printf(">>>>>火车时刻信息查询<<<<<n"); printf("1.按车次查询.n"); printf("2.按终点查询.n"); printf("3.按起点查询.n"); printf("4.按终点和日期查询.n"); printf("5.退出.n"); printf("请输入:"); scanf("%d",&request); switch(request) case 1: SearchTrainNum(); break; case 2: SearchToPlace(); break; case 3: SearchFromPlace(); break; case 4: SearchToPlaceAndDate(); break; case 5: exit(0); break; printf("返回主界面吗?(Y返回)");getchar();scanf("%c",&ch);if(ch='Y')printf("nn");goto repeat; break;case 3: printf("nn"); printf(">>>>>火车车次统计系统<<<<<n"); printf("1.按终点统计每日的车次数.n"); printf("2.按起点统计每日的车次数.n"); printf("3.退出.n"); printf("请输入:"); scanf("%d",&request); switch(request) case 1: CountToPlace(); break; case 2: CountFromPlace(); break; case 3: exit(0); break; printf("返回主界面吗?(Y返回)");getchar();scanf("%c",&ch);if(ch='Y')printf("nn");goto repeat;break;case 4: Star();printf("欢迎下次使用,拜拜n"); Star();exit(0); break;default:printf("Incorrect num entered.");printf("Enter a new num.n");break; return 0;void SearchTrainNum()FILE *fp1;char num20;char ch;int i=0;fp1=fopen(".train.rec","r+"); if(!fp1)printf("File can not be openedn");exit(1); do rewind(fp1);/文件指针的操作,到文件头部函数printf("输入你要查找的车次号.n>>>");scanf("%s",num);while(!feof(fp1)fread(&traini,sizeof(struct TRAIN),1,fp1);if(strcmp(num,traini.trainNum)=0)printf("%-4s%-12s%-8s%-10s%-10s%-8s%.2lf",traini.trainNum,traini.date,traini.fromPlace,traini.toPlace,traini.inTime,traini.outTime,traini.price);printf("n");i+; printf("continue(Y/N)(N to end)?"); getchar(); scanf("%c",&ch);while(ch!='N');printf("n");fclose(fp1);void SearchToPlace()FILE *fp2;char num20;char ch;int i=0;fp2=fopen(".train.rec","r+"); if(!fp2)printf("File can not be openedn");exit(1); dorewind(fp2);printf("输入你要查询的终点.n>>>");scanf("%s",num);while(!feof(fp2)fread(&traini,sizeof(struct TRAIN),1,fp2);if(strcmp(num,traini.toPlace)=0)printf("%-4s%-12s%-8s%-10s%-10s%-8s%.2lf",traini.trainNum,traini.date,traini.fromPlace,traini.toPlace,traini.inTime,traini.outTime,traini.price);printf("n");i+; printf("continue(Y/N)(N to end)?"); getchar(); scanf("%c",&ch);while(ch!='N');printf("n");fclose(fp2);void SearchFromPlace()FILE *fp3;char num20;char ch;int i=0;fp3=fopen(".train.rec","r+"); if(!fp3)printf("File can not be openedn");exit(1); dorewind(fp3);printf("输入你要查询的起点.n>>>");scanf("%s",num);while(!feof(fp3)fread(&traini,sizeof(struct TRAIN),1,fp3);if(strcmp(num,traini.fromPlace)=0) printf("%-4s%-12s%-8s%-10s%-10s%-8s%.2lf",traini.trainNum,traini.date,traini.fromPlace,traini.toPlace,traini.inTime,traini.outTime,traini.price); printf("n");i+; printf("continue(Y/N)(N to end)?"); getchar(); scanf("%c",&ch);while(ch!='N');printf("n");fclose(fp3);void SearchToPlaceAndDate()FILE *fp4;char num20;char num120;char ch;int i=0;fp4=fopen(".train.rec","r+"); if(!fp4)printf("File can not be openedn");exit(1); dorewind(fp4);printf("输入你要查询的终点与日期.n>>>");scanf("%s",num);scanf("%s",num1);while(!feof(fp4)fread(&traini,sizeof(struct TRAIN),1,fp4);if(strcmp(num,traini.toPlace)=0)&&(strcmp(num1,traini.date)=0)printf("%-4s%-12s%-8s%-10s%-10s%-8s%.2lf",traini.trainNum,traini.date,traini.fromPlace,traini.toPlace,traini.inTime,traini.outTime,traini.price); printf("n");i+; printf("continue(Y/N)(N to end)?"); getchar(); scanf("%c",&ch);while(ch!='N');printf("n");fclose(fp4);void CountToPlace()FILE *fp5;char num20;char ch;int i=0;int j=0;fp5=fopen(".train.rec","r+"); if(!fp5)printf("File can not be openedn");exit(1); dorewind(fp5);printf("输入你(要统计的车次数的)终点.n>>>");scanf("%s",num); j=0;while(!feof(fp5)fread(&traini,sizeof(struct TRAIN),1,fp5);if(strcmp(num,traini.toPlace)=0) j+;i+;printf("当日终点%s的车次数:%d",num,j);printf("n"); printf("continue(Y/N)(N to end)?"); getchar();scanf("%c",&ch);while(ch!='N');fclose(fp5);void CountFromPlace()FILE *fp6;char num20;char ch;int i=0; int j=0;fp6=fopen(".train.rec","r+"); if(!fp6)printf("File can not be openedn");exit(1); dorewind(fp6);printf("输入你(要统计的车次数的)起点.n>>>");scanf("%s",num); j=0;while(!feof(fp6)fread(&traini,sizeof(struct TRAIN),1,fp6);if(strcmp(num,traini.fromPlace)=0) j+;i+;printf("当日起点%s的车次数:%d",num,j);printf("n"); printf("continue(Y/N)(N to end)?"); getchar();scanf("%c",&ch);while(ch!='N');fclose(fp6);void Star()int i;for(i=0;i<20;i+)printf("*");printf("n");四、测试数据及其结果分析如图1.火车时刻信息录入2.火车时刻信息查询。(1)按照车次查询(2)按终点查询(3)按起点查询(4)按终点和日期查询3.统计1按终点统计每日的车次数2按起点统计每日的车次数4.退出。五、调试过程中的问题编译过程中由于MicrosoftVisualStudioC+6.0编译器的原因。直接给构造体double赋值会出现问题。在金教师的指导和帮助下:程序改为如下:struct TRAIN char trainNum10; char date30;char fromPlace20;char toPlace20;char inTime30;char outTime30; double price;int main() int request; char ch='Y'int i=0;double myprice; FILE *fp;scanf("%s%s%s%s%s%s%lf",traini.trainNum,traini.date,traini.fromPlace, traini.toPlace,traini.inTime,traini.outTime,&myprice);traini.price=myprice;. .word.zl.

    注意事项

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

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




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

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

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

    收起
    展开