![列车时刻表信息管理系统实践报告C语言源代码_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-9/3/91765d41-1a1b-42fc-a0b3-5e3736594e2c/91765d41-1a1b-42fc-a0b3-5e3736594e2c1.gif)
![列车时刻表信息管理系统实践报告C语言源代码_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-9/3/91765d41-1a1b-42fc-a0b3-5e3736594e2c/91765d41-1a1b-42fc-a0b3-5e3736594e2c2.gif)
![列车时刻表信息管理系统实践报告C语言源代码_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-9/3/91765d41-1a1b-42fc-a0b3-5e3736594e2c/91765d41-1a1b-42fc-a0b3-5e3736594e2c3.gif)
![列车时刻表信息管理系统实践报告C语言源代码_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-9/3/91765d41-1a1b-42fc-a0b3-5e3736594e2c/91765d41-1a1b-42fc-a0b3-5e3736594e2c4.gif)
![列车时刻表信息管理系统实践报告C语言源代码_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-9/3/91765d41-1a1b-42fc-a0b3-5e3736594e2c/91765d41-1a1b-42fc-a0b3-5e3736594e2c5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ttinclude zstdio. h ttinclude zstdlib ,axcludezstring. hv*定义头文件,处理文件及字符数组时要用到相应功能#define n 10 void fmenu() (system(/ cis ); printf (*vl 20*n );%cl.查询列车欢迎使用苏州列车时刻表信息管理系统printf ( ttttn3)printf (z n,z%c2.修改列车n3)printf ( ttt t%c3.增加列车n3)printf cw);%c4.取消列车n3)printf (t ttt%c5.保存信息n3)printf cn2);r ax* f,p
2、rintf (,2 t%co.vizkxxkxxxxxklx*、”);tttprintf j ; if选择要执行的操作:n); /*菜单程序,用于各种功能的选择*/ struct train/*定义结构体*/ );phiiatfi4rnfs;t t,tchar checi 6;旺1吁翦;yr);tint month;printf ( t把* totite;ttt lie咕件用011y杏定义一个结构体数组*/ void paixu(struct train *p) ;/*函数声明*/void chaxun (struct train *p)/*子程序其功能是查询列车*/ (paixu(liech
3、e) ;/*先排序一下,方便查看*/ char a 8 ;/*定义一个字符数组,输入要查 询的列车 int k=0, i, c;printf (请输入要查询的列车:n ); scanf (%s,a); for(i=0;in;i+)if (strcmp(pi , name, a) =0)printf (? 2 苏州 一%st%s (车次)t%d 年 %dt%d*%02dn, pi name, pi checi, pi year, pi , month, p_i , day, pi hour, pi , minute) ;/* 车的信息全部打出*/k+;)if(k=0)printf (z抱歉,没有
4、这趟列车n ) ; /*没有查到时,打出通知*/ printf c按1继续,按0退出);/选择继续或者退出*/ scanf (/ %d/ ,&c);if (c!=0)chaxun(lieche);void xiugai (struct train *p)/*子程序用于修改列车时间*/ (char a 8, b 6;int i, x, c, k 二 0, h, mi, y, m, d, q;printf (/请输入要修改的列车:n );scanf (%s, a);for(i=0;in;i+)(if (st rcmp (pi name, a) =0)printf (z,苏 州 一%st%s ()车
5、次 t%d 年 %dt%d*%02dn, pi name, pi checi, pi. year, pi month, p. i , day, pi hour, pi , minute)printf (要修改这趟列车吗? nl.是0.否n ); scanf &q) ; if (q=l)printf (请输入修改后的车次:n,z) ; scanf (刎,b);printf (请输入修改后的年月日:n); scanf ( %d%d%d, &y, &m, &d);scanf (/z%d%d ,&h, &mi);printf c确定修改吗? nl.是2 .否n ); /*选择是否确定修改列车时%d日将
6、所错误操作*/问,防小杳万iiscan f (d 9 &x);if (x=l) (strcpy (pi checi, b) ; pi. yearly;%d日pi month z1 m; pi. day=d; pi hour=h; pi minute 二 mi; printfc 己经修 改此列车);k+;)! if (k=0)printfc抱歉,没有这趟列车n ) ; /*没有查到时,打出通知*/ printf。按继 续,按scanf &c); 0退出n);if (c!=0)xiugai (lieche);void zengjia(struct train*p) /*子程序,用于列车增加*/st
7、ruct train a;char空白位置,在此处插入所填列车*/b 口二 / 0000000 / ;/*printf (/请输入要增加的列车目的地 : 尸scanf (s, a. name);printf (/请输入修改后的车次:rt);scanf a. checi);printf (/请输入所增加列车的年月日:);scanf (,z%d%d%d/z, &a, year, &a, month, &a, day);printf(/请输入所增加列车的小时和分钟:n);scanf (d%d, &a, hour, &a, minute);printf (确定要增加这一趟列车吗?nl.是0.否n);s
8、canf&x);if(x=l) for (i=0;in-l;i+)if (strcmp (pi name, b) =0) (strcpy (pi , name, a. name) ; strcpy (pij. checi, a. checi);pi. year=a , year;pi , month=a month; pi , day=a day; pi hour=a hour;pi , minute=a minute;strcpy (pli+l. name, b) ;/*找到位置,插入列车,并把0000000给后面一个结构体*/printfc已经增加这趟列车“);break; paixu(l
9、ieche) ; printf ( 按 1 继续,按 0 退出 n); scanf (%d, &c) ; if (c!=0) zengjia (lieche);1 voidpaixu(struct train *p)/*子程序,用于同名列车时刻排序*/ int i, x; char a6;for(i=0;ipi+l. year)/根据年份排序,strcpy (a, pi , checi);strcpy (pi checi, pi+l checi);strcpy(pi+l. checi, pi , checi) ; x 二 pi , year; pi year=pi+l. year; year二
10、x;x=pi month;pi month 二 pi+l , month;pi+l , month 二 x;x 二 pi. day;pi day=pi+l day;pi+l day=x;x 二 pi hour;pi hour 二hour;pi+l , hour=x;x 二 pi. minute;pi. minute=pi+l minute;pi+l. minute 二 x;else if (pli year 二二 pi+l. year)if (pil. monthpi+l. month)/ 相同年数,根据月份排序。strcpy(a, pi checi) ; strcpy(pli , checi
11、, pi+l checi);strcpy(pi+l checi, pi. checi) ; x=pli , month;pi. month h pli+1 month;pi+l month 二 x;x 二 pi , day;pi. day=pi+l day;pi+l day=x;x 二 pi , hour;pi , hour 二 pi+l , hour;pi+l hour二x;x 二 pi , minute;pi , minute 22 pi+l minute;pi+l minuter;)else if (pli month 二二 pi+l month)if (pij. daypi+l. da
12、y)相同月份、根据天排序strcpy (a, pi checi) ; strcpy (pi checi, pi+l , checi);strcpy(pi+l checi, pi checi) ; x 二 pi , day;pit.day 二 pi+l. day;pi+l day=x;x 二 pi , hour;pi , hour 二 pi+l hour;pi+l. hour=x; x 二 pi , minute;pi , minute=pi+ minute; pi+l. minute 二 x; )else if(pi. day=pi+l. day)if (pi. hourpi+l. hour)
13、相同天数,根据小时排序1strcpy (a, p i , checi);strcpy(pi. checi, pi+l , checi);strcpy (pi+l checi, pi checi); x=pi , hour;pi hour 二 pi+l hour;pi+l , hour=x;x 二 pi . minute;pi. minute 二 pi+l minute;pi+l minute 二 x;排序else if (pi. hour=pi+l.hour)/相同小时,根据分strcpy (a, pi checi);strcpy (pi , checi, pi+l checi);strcpy
14、 (pi+l checi, pi checi) ; x=pi , minute;pi minute z1 pi+l , minute; pi+l , minute二x;void quxiao (struct train *p)/* 子程序,用于取消列车 */char a8;char b 口二 0000000 ;int i, x, c, k=0, s;printf。请输入要取消的列车n); scanf a);for(i=0;in;i+) (if (strcmp (pi name, a) =0)printf c 苏 州 一 %st%s (车 次)t%d 年/d 月/d flt%d%02dnz, ,
15、 pi. name, pi checi, pi year, pi. month, pi. day, pi hour, pi. minute) ; printf(”确定要删除这一次列车吗?nl,是0.否);/*询问是否取消*/scanf&x);if (x=l)for (s=i ; s (n-1; s+)(strcpy (p s , name, p s+1 , name);strcpy(ps checi, ps+l. checi); ps year=ps+l. year;ps month 二 ps+l month;*/ps. day 二 ps+l , day;ps hour 二 ps+l, hou
16、r;ps. minute二ps+l. minute;/*将列车取消,把后一个结构体往前移一位k+;if (k=0)printfc抱歉,没有这趟列车);/*先查一下有没有要取消的列车*/ printfc按1继续,按0退出);scanf&c);if (c!=0)quxiao(lieche);)void baocun(struct train *p)/* 子程序,用于数据保存 */int c, i 二 0, x;char b 二0000000;printfc确定要保存修改吗? nl.是2.否n );scanf ( d : &x);if (x!=0)9har a 20 ; printfc /请输入要保
17、存的路径及文件名(扩展名为.txt) : w) ;/*自己指定位置*/ scanfa);file *pps;(pps 二 fopen(a, w+)二二 null)/* 打开一个新的文本文件 */printfc不能打开此文件勿-exit (0);while (strcmp(liechei name, b) !二0) (fprintf (pps, /z%s %s %d %d %d %d:%02dn, ,)pfi. name, pi. checi, pi. year, pi, month, pi. day ,pi. hour, pi. minute) ;/*将结构体数组的数据写进里面*/fprint
18、f (pps, %s,b) ; printf c 文件己保存 rt);printf 0按1继续,按0退出n );scanf&c);if (c!=0)baocun(lieche);void main。/*主程序,负责整个程序架构及函数调用等*/system。2color 3b);/*更改前景和背景颜色*/ char b = / 0000000 / ;file *fp;/*/int x, i ;实践 wwenjian. txtz/,? j r+/f )二二null)/* 打开文件,输入数据 */(printfg不能打开数据库文件n );exit (0);for(i=0;in;i+)fscanf (fp, %s%s%d%d%d%d:%02d, liechei. name, liechei. checi, &liechei. year, &lieche i . month, &liechei. day, &liechei. hour, &liechei. mi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 监控维护合同范本
- 2024-2025学年五年级语文上册第3单元变化1这儿原来是一座村庄作业设计北师大版
- 2024-2025学年高中政治第一单元第一课第一框文化与社会练习含解析新人教版必修3
- 2024-2025学年新教材高中数学第3章函数的概念与性质3.1函数的概念及其表示3.1.2函数的表示法第2课时函数表示法的应用教学案新人教A版必修第一册
- 2024-2025学年七年级生物下册第四章人体内物质的运输第二节血流的管道-血管教案新版新人教版
- 2024-2025学年高中化学第三章晶体结构与性质第三节金属晶体练习含解析新人教版选修3
- 社会支持系统对心理调适的助力
- 知识产权保护在绿色科技研发中的应用
- 人教版八年级物理上册全册导学案稿
- 社交属性在网络直播平台中的价值挖掘与应用
- 2024版《供电营业规则》学习考试题库500题(含答案)
- 全国职业院校技能大赛培训课件
- 供货送货服务承诺书
- 福建省医院大全
- EPC项目质量保证措施
- GB/T 16659-2024煤中汞的测定方法
- 2023-2024学年安徽省合肥市瑶海区八年级(下)期中数学试卷(含解析)
- 【体能大循环】聚焦体能循环-探索运动奥秘-幼儿园探究体能大循环有效开展策略课件
- 《Unit 10 You're supposed to shake hands》单元检测题及答案
- 华为云DevSecOps质量效能白皮书
- TSN 解决方案白皮书
评论
0/150
提交评论