列车时刻管理系统C语言程序设计(源代码)

上传人:壹****1 文档编号:511751281 上传时间:2024-01-29 格式:DOC 页数:19 大小:231.50KB
返回 下载 相关 举报
列车时刻管理系统C语言程序设计(源代码)_第1页
第1页 / 共19页
列车时刻管理系统C语言程序设计(源代码)_第2页
第2页 / 共19页
列车时刻管理系统C语言程序设计(源代码)_第3页
第3页 / 共19页
列车时刻管理系统C语言程序设计(源代码)_第4页
第4页 / 共19页
列车时刻管理系统C语言程序设计(源代码)_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《列车时刻管理系统C语言程序设计(源代码)》由会员分享,可在线阅读,更多相关《列车时刻管理系统C语言程序设计(源代码)(19页珍藏版)》请在金锄头文库上搜索。

1、一、 问题分析随着社会的不断发展,人们在交通方式的选择上有了不同以往的选择,以前的靠人力,畜力,以及摩托车,现在人们的选择更多的会放在了汽车,飞机还有列车上。每当春节前后时,都有一批民工潮,学生潮,这些农民工和学生都来自于祖国的各个地方,因此车站如何合理有序的安排列车出站到站时间成了一个很关键的内容,有助于维持车站的秩序以及减少不必要的等待。而本课题的列车时刻管理系统也应用与这些地方,不过由于专业知识学的还不多,因此还不能将一个完整的列车时刻管理系统完全的展示出来,只是在最基础的层面上做了一些工作。二、 系统功能设计1. 添加新记录:利用结构数组的方式来添加新记录,并且保存在文件train.t

2、xt文件中,并且记录上限为300,新纪录的内容包括:出站地址,出站的时刻(时),出站时刻(分),到站地址,到站时刻(时),到站时刻(分)。2. 查看:查询功能总共分为四种方式:按出站地址查询按出站时刻查询按到站地址查询按到站时刻查询,这个功能由于能力有限,只限查找单一数据。3. 修改:修改功能:根据出站的地址,查找出对应的一组数据的内容,然后逐一修改。4. 删除:修改功能总共分为两个部分:单一删除(按照出站地址)全部删除5. 保存:每执行一个任务后程序会自动将数据写入train.txt文档中。三、 模块(函数)划分void main():主函数void MainMenu():主菜单列表void

3、 ShowMenu():查询菜单列表void AddNew():添加新的数据int IsLoop():循环输入数据void Display():输出所有的函数void Search_ccity():按出站地址查询void Search_dcity():按到站地址查询void Search_ctime():按出站时刻查询void Search_dtime():按到站时刻查询void ChkData(char city1,char city2,int hour1,int minute1,int hour2,int minute2):数据检测void Record_Modify():修改数据void

4、 DeleteMenu():删除菜单列表void DeleteOne():删除一组数据void DeleteAll():删除所有数据void ReadFromFile():从文件中读入void WriteToFile():从文件中写入四、 模块的算法设计(部分主要函数的代码)1. 整体构造:主菜单删除数据修改数据查询数据添加数据单一删除全部删除按到站时刻查询按出站时刻查询按到站地址查询按出站地址查询2. 结构体:struct Recordint hour1; int hour2;int minute1;int minute2;char city120;char city220;3. 主菜单:v

5、oid MainMenu()system(cls);printf(-主菜单-n);int option;printf(-1-添加新记录-n);printf(-2-查看-n);printf(-3-修改-n);printf(-4-删除-n);printf(-5-退出程序-n);printf(请选择: n);scanf(%d,&option);getchar();switch (option)case 1:AddNew();break;case 2:ShowMenu();break;case 3:Record_Modify();break;case 4:DeleteMenu();break;case

6、 5:exit(0);4. 数据检测:void ChkData(char city1,char city2,int hour1,int minute1,int hour2,int minute2)if (strlen(city1)20)printf(出站地址的字符不能超过20个!n);MainMenu();if (strlen(city2)20)printf(到站地址不能超过20位!n);MainMenu();if (hour123) printf(时刻输入错误(0=hour24)!n); MainMenu();if (hour224) printf(时刻输入错误(0=hour24)!n);

7、MainMenu();if (minute159) printf(时刻输入错误(0=minute59)!n); MainMenu();if (minute259) printf(时刻输入错误(0=minute59)!n); MainMenu();5. 读入文件中的数据:void ReadFromFile() FILE *fp; int i; if (fp=fopen(train.txt,rb)=NULL) printf(列车时刻信息不存在,请重新建立!n); return; else printf(列车信息存在,请按回车键选择操作); if (fread(&num,sizeof(int),1,

8、fp)!=1) num=-1; else for(i=0;inum;i+) fread(&Recordsi,sizeof(struct Record),1,fp); fclose(fp); 6. 将数据写入文件中:void WriteToFile() FILE *fp; int i; if (fp=fopen(train.txt,wb)=NULL) printf(不能打开文件!n); return; if (fwrite(&num,sizeof(int),1,fp)!=1) printf(写入文件错误!n); for (i=0;inum;i+) if (fwrite(&Recordsi,siz

9、eof(struct Record),1,fp)!=1) printf(写入文件错误!n); fclose(fp); 五、 实验运行结果(部分)1.主菜单2. 查询菜单3. 按出站地址查询4.修改信息5. 删除信息六、 设计总结通过本次课程设计,我对C语言这种程序设计语言有了初步的认识,对以后的专业课程打下了一定的基础。C语言是一门面向对象的程序设计语言,因此需要我们对函数部分要下功夫。另外数组同样是很重要的内容,通过数组的学习,我们可以将日常生活中的一些问题用计算机来解决。最后,我们学习了指针与结构,这部分是C语言的精髓部分,不过有点难度,这次的课程设计中我用的是数组的原因之一是对指针这方面

10、还有些不足,希望在日后的学习中多加努力。通过这次课程设计让我知道了学习中的不足,也明白了要想学好更难的知识就要先学好基础课程。/*列车时刻管理系统*/#include #include #include #include #include #include struct Record /*定义结构体*/int hour1;int hour2;int minute1;int minute2;char city120;char city220;struct Record Records300; /*数组的成员个数限制了数据的数量要小于300*/int num=0;void AddNew();int

11、 IsLoop();void Display();void ShowMenu();void Search_ccity();void Search_dcity();void Search_ctime();void Search_dtime();void ChkData(char city1,char city2,int hour1,int minute1,int hour2,int minute2);void Record_Modify();void DeleteMenu();void DeleteAll();void DeleteOne();void ReadFromFile();void MainMenu();void WriteToFile();void main() /*主函数*/ReadFromFile(); /*读取文件中的数据*/getchar();while (1) MainMenu(); WriteToFile();/*将数据写入文件中*/*

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号