问题分析
随着社会的不断发展,人们在交通方式的选择上有了不同以往的选择,以前的靠人力,畜
力,以及摩托车,现在人们的选择更多的会放在了汽车,飞机还有列车上。每当春节前后时,
都有一批民工潮,学生潮,这些农民工和学生都来自于祖国的各个地方,因此车站如何合理
有序的安排列车出站到站时间成了一个很关键的内容,有助于维持车站的秩序以及减少不必
要的等待。而本课题的列车时刻管理系统也应用与这些地方,不过由于专业知识学的还不多,
因此还不能将一个完整的列车时刻管理系统完全的展示出来,只是在最基础的层面上做了一
些工作。
五、系统功能设计
1.添加新记录:
利用结构数组的方式来添加新记录,并且保存在文件train.txt文件中,并且记录上限为300,
新纪录的内容包括:出站地址,出站的时刻(时),出站时刻(分),到站地址,到站时刻(时), 到站时刻(分)。
2查看:
查询功能总共分为四种方式:①按出站地址查询②按出站时刻查询③按到站地址查询
④按到站时刻查询,这个功能由于能力有限,只限查找单一数据。
3修改:
修改功能:根据出站的地址,查找出对应的一组数据的内容,然后逐一修改。
4删除:
修改功能总共分为两个部分:①单一删除(按照出站地址)②全部删除
5保存:
每执行一个任务后程序会自动将数据写入train.txt文档中。
六、模块(函数)划分
void main():主函数
void Mai nMenu():主菜单列表
void ShowMenu():查询菜单列表
void AddNew():添加新的数据
int lsLoop():循环输入数据
void Display():输出所有的函数
void Search_ccity():按出站地址查询
void Search_dcity():按到站地址查询
void Search_ctime():按出站时刻查询
void Search_dtime():按到站时刻查询
void ChkData(char city1[],char city2[],i nt hour1,i nt minu te1,i nt hour2,i nt min ute2)
数据检测
void Record_Modify():修改数据
void DeleteMenu():删除菜单列表
void DeleteOne():删除一组数据
void DeleteAII():删除所有数据
void ReadFromFile():从文件中读入
void WriteToFile():从文件中写入
七、模块的算法设计(部分主要函数的代码)
1.整体构造:
2?结构体:
struct Record
{
int hourl;
int hour2;
int minu te1;
int minu te2; char city1[20]; char city2[20];
};
3.主菜单: void Mai nMenu()
{
system("cls");
printf(”
王菜单
\n");
int opti on;
printf(”
-——1-
添加新记录
\n"
printf(”
2-
查看
\n");
printf(”
-----3-
修改
\n");
printf(”
-----4-
删除
\n");
printf(”
-----5-
退出程序
\n");
printf("请选择:
\n");
scan f("%d",&optio n); getchar();
switch (opti on)
{
case 1:AddNew();break;
case 2:ShowMe nu ();break;
case 3:Record_Modify();break;
case 4:DeleteMe nu( );break;
case 5:exit(0);
}
}
4?数据检测:
void ChkData(char city1[],char city2[],i nt hour1,i nt min ute1,i nt hour2,i nt minu te2) {
if (strle n(city1)>20)
{
printf("出站地址的字符不能超过20个!\n");
Mai nMen u();
}
if (strle n(city2)>20)
{
printf("到站地址不能超过 20位!\n");
Mai nMen u();
}
if (hour1<0||hour1>23)
{
printf("时刻输入错误(0<=hour<24)!\n");
Mai nMen u();
}
if (hour2<0||hour2>24)
{
printf("时刻输入错误(0<=hour<24)!\n");
M