C语言课程设计报告
课程名称:计算机综合课程设计
学院:
学生姓名:
学号:
指导教师:
年月日
高速铁路列车信息查询系统设计报告
目录
一、课程设计任务书
1.课程设计背景 (2)
2.功能简介 (2)
3.课程设计要求 (3)
二、系统设计
1.总体结构 (3)
2.模块 (3)
3.功能 (4)
三、模块设计
1.主要模块功能 (4)
2.源代码 (4)
四、调试与测试
1. 调试方法 (18)
2. 测试结果的分析与讨论 (20)
五、设计总结 (21)
六、心得体会 (21)
七、致谢 (21)
八、参考文献 (21)
一、课程设计任务书
1.课程设计背景
广深港高速铁路(Guangzhou-Hong Kong High-speed Railway),简称广深港高铁,是中国华南地区连接广州市、东莞市、深圳市和香港特别行政区之间的高速铁路,线路呈西北至东南走向;为中国“八纵八横”高速铁路网京哈-京港澳通道的南端部分,是京广高速铁路的延伸线,联络广州铁路枢纽和深圳铁路枢纽。广深港高速铁路北起广州南站、南至香港西九龙站,线路全长141千米。
2019年铁路春运,广深港高速铁路累计运送旅客897万人次,其中跨境旅客数量超过230万人次;同年4月5日至7日,广深港高速铁路全线日均发送旅客27.8万人次。
本组设计的“广深港高速铁路列车信息查询系统 1.0”具有录入本段铁路列车信息、浏览本段列车时刻表、多种查询等多种功能。本系统改动后还可扩大铁路区间长度,增加停站个数。
2、功能简介
本系统总体上具有三大功能。
录入铁路信息:补充列车车次及各个到站及出发时间,在档案中更改列车信息。进入系
统可选择录入新的若干车次列车信息。
浏览时刻表:本功能可浏览已录入所有车次的到站及时间信息。
查询车次:本功能可依照“班次查询”、“列车类型查询”、“站站查询”、“综合查询”多种方式查询。可以实现依照车号,车型查询列车信息;按照始发站,终点站,经停站查询列车信息;还可综合列车类型和到站信息查询列车信息。
3、课程设计要求
(1)录入每一列车车次详细信息(信息用文本文件保存),可不定时地增加班次数据
(2)浏览列车时刻查询表,可显示出所有班次当前状况(如果当前系统时间超过了某班次的发时,则显示“已发”的提示信息),“历时”根据车次详细信息自行计算。
(3)查询车次:
1、班次号查询:按照列车车号查询对应车次信息;
2、按站站查询:按照列车经停站查询对应车次信息;
3、按列车类型查询:列出所查询类型的同类列车信息
(举例:搜索G,系统显示所有G型列车)
4、综合查询:以上几种查询方式的组合(如可查询从广州南站出发至香港西九龙的G
型列车信息);
5、附加功能:增加返程查询
二、系统设计
1.总体结构
进入主菜单后用户可以选择:
(1)录入信息;
(2)浏览时刻表;
(3)查询车次;
(4)退出系统;
四个选项,四大模块分别执行录入、浏览、查询、退出四个功能。
2.模块
(1)录入信息;
(2)浏览时刻表;
(3)查询车次;
(4)退出系统;
3.功能
(1)录入信息模块:用户按照录入数量、车型、车号、始发站、终点站、经停站(预设
四个)和各个车站到站及出发时间,依次录入数据,并保存在文档中。
(2)浏览时刻表模块:用户可浏览数据库中所有列车的一切信息。
(3)查询车次模块:用户可在本模块中选择四种查询方式输入要求,系统将按照用户需
求显示符合条件的车次。
(4)退出系统模块:用户对系统使用后选择退出,系统显示对用户使用的感谢,系统具
有人性化设计。
三、模块设计
(一)主要模块功能
1.菜单模块:显示系统标识及四个初始选项。
2.录入信息模块:用户按照录入数量、车型、车号、始发站、终点站、经停站(预设四个)和各个车站到站及出发时间,依次录入数据,并保存在文档中。
3. 浏览时刻表模块:用户选择后,系统显示出数据库已经录入的所有车次信息供用户浏览。
4. 查询车次模块:
(1)列车类型查询:用户输入需要列车类型,系统显示所有符合条件的车次信息。
(2)班次查询:用户输入需要列车的车号,系统显示所有符合条件的车次信息。
(3)站站查询:用户输入起点和终点,系统显示所有经停用户需要出发站和到达站的车次信息,供用户参考。
(4)综合查询:用户输入起点、终点和所需要车型,系统显示所有满足用户要求的车次信息,供用户参考。
(二)源代码
1.菜单模块源代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include <time.h>
#define N 100
#define k "F:/"
//列车基本信息结构体
struct TrainInfo
{
char type[50];//列车类型
char serial[5];//车次编号
char dep_station[50];//始发站
char dep_time[50];//始发时间
char dest_station[50];//终到站
char dest_time[50];//终到时间
char transit1[50];//经停站1
char transit1_arr[50];//经停站1到达时间
char transit1_left[50];//经停站1发车时间
char transit2[50];//经停站2
char transit2_arr[50];//经停站2到达时间
char transit2_left[50];//经停站2发车时间
char transit3[50];//经停站3
char transit3_arr[50];//经停站3到达时间
char transit3_left[50];//经停站3发车时间
char transit4[50];//经停站4
char transit4_arr[50];//经停站4到达时间
char transit4_left[50];//经停站4发车时间
};
int main()
{
int x,y;
system("color f9");//修改窗口为白底蓝字
TrainInfo a[N];
void Logging(TrainInfo a[]);//录入
void Browse(TrainInfo a[]);//浏览
void Search1(TrainInfo a[]);//班次查询
void Search2(TrainInfo a[]);//列车类型查询
void Search3(TrainInfo a[]);
void Search4(TrainInfo a[]);
do
{
time_t t;
高速查询struct tm * lt;
time (&t);//获取Unix时间戳
lt=localtime (&t);//转为时间结构
printf(" 广深港高速铁路列车信息查询系统 1.0\nGuangzhou-Hong Kong High-speed Railway Train Information Query System\n\n");
printf("*********主菜单*********\n\n 1.录入信息\n 2.浏览时刻表\n 3.查询车次\n 4.退出系统\n\n************************\n");
printf
(" %d/%d/%d %d:%d:%d\n",lt->tm_year+1900,lt->tm_mon+1,lt->tm_mday,lt->tm_hour,lt->tm _min,lt->tm_sec);//显示时间
scanf("%d",&x);
switch(x)
发布评论