列车时刻管理系统C语言程序设计(源代码)
问题分析
随着社会的不断发展,人们在交通方式的选择上有了不同以往的选择,以前的靠人力,畜力,以及摩托车,现在人们的选择更多的会放在了汽车,飞机还有列车上。每当春节前后时,都有一批民工潮,学生潮,这些农民工和学生都来自于祖国的各个地方,因此车站如何合理有序的安排列车出站到站时间成了一个很关键的内容,有助于维持车站的秩序以及减少不必要的等待。而本课题的列车时刻管理系统也应用与这些地方,不过由于专业知识学的还不多,因此还不能将一个完整的列车时刻管理系统完全的展示出来,只是在最基础的层面上做了一些工作。
系统功能设计
添加新记录:
利用结构数组的方式来添加新记录,并且保存在文件train.txt文件中,并且记录上限为300,新纪录的内容包括:出站地址,出站的时刻(时),出站时刻(分),到站地址,到站时刻(时),到站时刻(分)。
查看:
查询功能总共分为四种方式:①按出站地址查询②按出站时刻查询③按到站地址查询
④按到站时刻查询,这个功能由于能力有限,只限查找单一数据。
修改:
修改功能:根据出站的地址,查找出对应的一组数据的内容,然后逐一修改。
删除:
修改功能总共分为两个部分:①单一删除(按照出站地址)②全部删除
保存:
每执行一个任务后程序会自动将数据写入train.txt文档中。
模块(函数)划分
void main():主函数
void MainMenu():主菜单列表
void 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 DeleteMenu():删除菜单列表
void DeleteOne():删除一组数据
void DeleteAll():删除所有数据
void ReadFromFile():从文件中读入
void WriteToFile():从文件中写入
模块的算法设计(部分主要函数的代码)
整体构造:
结构体:
struct Record
{
int hour1;
int hour2;
int minute1;
int minute2;
char city1[20];
char city2[20];
};
主菜单:
void 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 5:exit(0);
}
}
数据检测:
void ChkData(char city1[],char city2[],int hour1,int minute1,int hour2,int minute2)
{
if