2023年12月29日发(作者:影驰gtx650显卡参数)
目录
第一章 问题的定义 ......................................................................................................................... 1
第二章 可行性研究 ......................................................................................................................... 2
第三章 项目开发计划 ..................................................................................................................... 3
3.1 开发内容 ........................................................................................................................... 3
3.2开发目标 ............................................................................................................................ 3
3.3 开发环境 ........................................................................................................................... 3
第四章 需求分析 ............................................................................................................................. 4
第五章 概要设计 ........................................................................................... 错误!未定义书签。
5.1 数据流程 ........................................................................................................................... 5
5.2数据字典 ............................................................................................................................ 6
5.3系统功能模块图 .............................................................................. 错误!未定义书签。
第六章 数据库设计 ....................................................................................................................... 12
6.1 数据库的逻辑设计 ......................................................................................................... 12
6.2 数据库的物理设计 ......................................................................................................... 14
第七章 详细设计 ........................................................................................................................... 16
7.1程序流程图 ...................................................................................................................... 16
7.2.1游客子模块流程图 ...................................................................................................... 16
7.2.2 管理员子模块流程图 ................................................................................................. 17
7.2.3车次信息查询模块流程图 .......................................................................................... 18
7.2.4录入车次信息模块流程图 .......................................................................................... 19
7.2.5删除车次信息模块流程图 .......................................................................................... 20
7.2.6修改车次信息模块流程图 .......................................................................................... 21
第八章 测试报告 ........................................................................................................................... 23
8.1测试工具 .......................................................................................................................... 23
8.2测试对象 .......................................................................................................................... 23
8.3管理员录入测试 .............................................................................................................. 23
8.4游客按车次查询测试 ...................................................................................................... 25
第九章 用户手册 ........................................................................................................................... 27
9.1管理员手册 ...................................................................................................................... 27
9.2游客使用手册 .................................................................................................................. 27
附录 ................................................................................................................................................ 28
1
第一章 问题的定义
为了加强铁路运输信息建设,以及为广大旅客更好地旅客服务,让广大旅客能够及时有效地得到客、货运输信息,有必要开发出一块小巧方便的列车查询系统方便旅客及时准确的了解列车信息,从而方便购票、退票。
列车时刻查询系统是便民类的系统。该系统能够为用户提供有关列车时刻充足的信息和快捷的查询手段。在计算机普及的信息时代,用电脑软件来查询列车时刻已经替代了一直以来人们使用传统的方式查询列车时刻,用传统的方式存在着许多缺点。使用电脑软件进行查询,方便快捷。因此有利于人们快速、方便的查找到所需的相关列车时刻信息。
列车信息量的不断增大,使得列车信息管理人员的工作变得越来越复杂且容易出错,急需更好的方式管理列车信息,计算机技术不断发展,使得利用计算机软件管理列车信息变成可能,而且会节省人力物力,带来更好的经济效益,给人们提供方便。
旅客关注的一般是列车的车次、发车时间、到站时间、全部运行时间等一些列车的基本数据,根据这些需求,把列车的基本信息统一由管理员录入计算机并及时更新、修改和删除一些车次的列车信息,从而动态的维护信息的更新。
软件的目的是使用性强,不论工作人员还是旅客都要能方便使用软件,这就要求软件要操作简单,不能有繁琐难懂的操作方法。对于管理员来说,要有录入列车车次信息功能、修改车次信息功能、删除信息功能等管理员有权力进入并进行操作的功能。而对于游客,则可以根据列车的车次和火车站等联系来查询列车信息。
这款软件是为了方便人们出行的火车查询系统,为非盈利性软件,所以开发时间有限,但所要求的功能都是按质按量完成,在时间有限的情况下也注重了效率的重要。
1
第二章 可行性研究
通过对市场长时间的调查发现,研发一款列车查询系统是非常有必要的。而且根据现在的技术水平完全有能力支持者款系统的研发成功。
在技术日趋成熟的今天,我们可以通过多种编程语言来对着款系统进行编写开发,在现在的windows操作系统中对系统进行检测,多种算法可提供选择来实现数据库设计。说以在技术上是完全可行的。
由于本款系统小巧简便,不会需要很多经费,不会带来很多的经济负担,而且这款系统是在现在的操作系统中实现所以不需要额外的硬件需求,从而减少了经济投入,在经济方面是完全可行的。
这款软件是方便人们出行乘坐火车的查询系统,所以操作上一定要简单易懂,同时要方便管理员的管理,只要根据说明书进行操作熟悉了之后就会很简单,所以应用可行性是行的通的。
通过这几方面的研究发现列车查询系统的研发是可行的。
2
第三章 项目开发计划
3.1 开发内容
在本项目的开发为期三周中,开发时首先要编写好开发文档,包括可行性研究报告、项目开发计划、需求分析说明书、概要设计说明书、详细设计说明书、用户手册,确保开发过程按部就班完成,同时方便客户的应用。其次就是编写代码、测试的工作,以及日后系统维护的工作。
3.2开发目标
本列车查询系统主要实现以下功能:
1.管理员可以方便录入新的列车信息。
2.在应用过程中管理员可以方便调用和修改、删除列车信息。
3.旅客可以方便的根据车次或站名查询自己需要查询的信息。
3.3 开发环境
开发环境:Windows XP
开发工具:Visual Basic 6.0
数据库管理系统: SQL Server 2000
数据库服务器: SQL Server 2000 桌面引擎
3
第四章 需求分析
4.1项目分析
随着人们生活水平的提高和信息化时代的到来,管理系统的作用已越来越重要,列车时刻查询系统是个小型管理系统,用C++语言实现。所有数据都要利用文件系统保存,使用文件输入输出流保存文件信息,以备系统下次运行时使用。
列车时刻查询和决策工作是一项琐碎、繁杂的工作,由于列车时刻在各种节日休假时期经常性的调整,导致列车时刻表必须经常修改,以确保准确无误的向用户及时的提供列车时刻信息。几十年前的那种传统的方式存在着许多缺点,如:效率低、时间长、繁琐,给用户带来了诸多不便。在计算机普及的信息时代,使用电脑软件进行查询,使查询更加迅速、方便、清晰。
此列车时刻查询决策系统软件,能帮助人们利用计算机快速方便的查询列车时刻。本软件集列车基本数据、车次管理、列车查询于一身,目的在于能够使管理人员更加方便快捷的对列车时刻进行更新和管理。同时使用户更加方便快速的查询列车时刻信息。此列车时刻查询决策系统使列车时刻信息的查询工作更系统化、规范化、自动化。从而在一方面提高了管理人员的工作效率,减少了传统人工管理方式所带来的人力,物力的浪费,另一方面由于本软件具有查找方便、可靠性高、存储量大等优点,所以实现了列车时刻信息查询及管理的自动化。
4
4.2 数据流程
根据需求分析的得到列车查询系统处理流程,根据不同的用户需求,首先确定目标系统的业务流程,其数据流图如图5.1。
图4.2火车票查询系统数据流程图
对数据流图所示功能描述:
1.用户登录:管理员和游客都可定义为用户并合法登录
2.火车信息删除:对已有过时的信息进行删除
3.火车信息录入:对需要增加的火车信息更新录入。
5
4.火车信息修改:对库中的火车信息进行局部修改。
5.信息查询:游客可以根据自己的需要进行相应查询。
6.车次信息库:包含所有车次信息,方便管理员的管理和游客的查询。
4.3数据字典
数据流图对系统的整个过程进行了大体描述,对整体的描述还远远不能更具体的表述出系统的数据内容,同时还要有数据字典加以辅助,才能对体统跟清楚的理解。具体数据字典如下:
表4-1车次数据项
名称:车次
别名:trnu
描述:显示列车的编号
定义:由数字或字母组成
输入:管理员
输出:列车信息库
表4-2出站时间数据项
名称:出站时间
别名:trst
描述:规定列车的出站时间
定义:由数字和时间符号组成
输入:管理员
输出:列车信息库
表4-3车次信息数据项
名称:车次信息
别名:trin
描述:列车的基本信息属性
定义:车次信息=车次+列车类型+里程+出站时间+进站时间+始发站+终点站+总运行时间
输入:管理员
输出:列车信息库
6
表4-4信息管理数据项
名称:信息管理
别名:inad
描述:管理员对列车信息管理的过程
定义:信息管理=车次+管理员编号+登录密码+管理员姓名
输入:管理员
输出:列车信息库
表4-5信息查询数据项
名称:信息查询
别名:inch
描述:游客的查询过程
定义:信息查询=游客姓名+车次+站名+游客编号
输入:游客
输出:列车信息库
表4-6列车类型数据项
名称:列车类型
别名:trty
描述:列车所属种类
定义:由大写字母表示
输入:管理员
输出:列车信息库
7
表4-7管理员编号数据项
名称:管理员编号
别名:adnu
描述:对管理员的数据标号
定义:有数字组成
输入:管理员
输出:列车信息库
表4-8游客编号数据项
名称:游客编号
别名:vinu
描述:对游客进行的数据标号
定义:由数字组成
输入:游客
输出:列车信息库
表4-9登录密码数据项
表4-10总运行时间数据项
名称:登录密码
别名:vinu
描述:管理员对系统操作时的登录密码
定义:由数字组成
输入:管理员
输出:列车信息库
8
表4-10登录密码数据项
名称:总运行时间
别名:neti
描述:列车整体过程中需要运行的时间
定义:由数字和时间表示符号组成
输入:列车信息库
输出:列车信息库
表4-11状态数据项
名称:状态
别名:trsta
描述:列车当前的运行状态
定义:由汉字显示列车状态
输入:列车信息库
输出:列车信息库
表4-12始发站数据项
名称:始发站
别名:trss
描述:列车的驶出站的站名
定义:由字母组成
输入:管理员
输出:列车信息库
9
第五章概要设计
5.1系统功能模块图
根据需求分析阶段得到的数据流图,并结合软件工程所需的知识,根据用户的要求,给出列车查询系统功能模块图如图5.1所示
图5.1列车查询系统功能模块图
10
5.2 模块功能
录入列车信息模块:
该部分功能主要是用于系统管理员输入列车的各种信息,加强系统的可扩展性和延续性,使系统信息保持更新。
查询列车信息模块:
查询列车时刻信息,以及相关资料,查询分两种方式,一种是按列车号查询,另一种是按终点站查询。两种查询想辅助。使用户更快捷的查询到有关信息。
删除列车信息模块:
删除列车时刻信息功能主要用于更新列车信息数据,对于不必要的信息和错误的过时的信息进行相关处理,有利于简化系统,对于系统的运行速度的提升有着良好的加速效果。此功能是管理员专用功能,游客用户无权调用。
修改列车信息模块:
此功能用于修改列车信息,使用权限仅限于管理员。进行列车信息的相关修改对于系统的正常运行有着显著的作用。
游客子模块:
此功能用于游客等登录保证游客对车次的查询。
管理员子模块:
用于管理员的登录,使得管理员进入系统管理层。
11
第六章 数据库设计
6.1 数据库的逻辑设计
根据对系统的数据分析和该阶段所建立的概念模型,已经得出能够满足系统设计要求的几个关系描述,先阶段的主要工作就是把前一阶段的成果转化为具体的数据库。下面给出初步E-R图如图6.1所示。
图 6.1初步E-R图
根据三范式的化简原则,可以把初步的E-R图化简,下面得到基本E-R图如图6.2所示
12
图6.2基本E-R图
实体:车次信息(车次,状态,里程,列车类型,总运行时间,出站时间,进站时间,始发站,终点站);
管理员(管理员编号,管理员姓名,登录密码);
游客(游客编号,游客姓名);
联系:信息管理(车次,管理员编号,登录密码);
信息查询(车次,站名);
13
6.2 数据库的物理设计
基于数据库的原理,结合数据库逻辑设计的基本E-R图,本着程序设计尽可能言简意赅的原则我们采用创建一个列车信息库,并在库中建立相应的数据表,具体数表如下所示:
1车次信息数据表具体如下图所示:
表6-1 车次信息数据表
字段名 数据类型 约束 描述
trnu
trty
trlo
trst
tren
neti
trss
tras
int
char
char
data
data
char
char
char
主键
不为空
不为空
不为空
不为空
不为空
不为空
不为空
车次
列车类型
里程
出站时间
到站时间
总运行时间
始发站
终点站
14
trsta char 不为空 状态
2 管理员数据表具体如下图所示:
表6-2 管理员数据表
字段名
adnu
adna
pass
数据类型
int
char
char
约束
主键
不为空
不为空
描述
管理员编号
管理员姓名
登录密码
3游客数据表具体如下图所示:
表6-3 游客数据表
字段名
vinu
vina
数据类型
int
char
约束
主键
不为空
描述
游客编号
游客姓名
4 信息管理数据表具体如下图所示:
表6-4 信息管理数据表
字段名
trnu
adnu
pass
数据类型
int
int
char
约束
主键
不为空
不为空
描述
车次
管理员编号
登录密码
5信息查询数据表具体如下图所示:
表6-5信息查询数据表
15
字段名
trnu
stna
数据类型
int
char
约束
主键
不为空
描述
车次
站名
第七章 详细设计
7.1程序模块图
根据本系统的内容得到的具体数据流图在本次设计中起到了系统整体描述的作用,根据数据流图的描述可以把每个过程抽象成模块形式,再根据每个模块的具体方案结合所学C++知识进行功能模块的编写,具体功能模块结合在一起构成整个数据流程图所要实现的功能。
7.2.1游客子模块流程图
游客子模块是游客进行查询操作登录时必须拥有的模块,实现了游客等登录,从而为以后的查询奠定基础。具体流程图如图7.1所示。
16
图7.1 游客子模块程序流程图
7.2.2 管理员子模块流程图
管理员子模块是管理员登录的模块,为管理员进行以后的操作作准备。具体流程图如图7.2所示。
17
图7.2管理员模块程序流程图
7.2.3车次信息查询模块流程图
车次信息查询模块是游客在系统中操作的关键模块,本模块实现的功能是帮助游客查询到其想要查询的列车信息,具体流程图如图7.3所示。
18
图7.3车次信息查询模块程序流程图
7.2.4录入车次信息模块流程图
录入车次信息模块是管理员操作的模块,它实现了把新的车次信息录入到系统中,保证能够及时更新车次信息,方便旅客查询。具体流程图如图7.4所示。
19
图7.4录入车次信息模块程序流程图
7.2.5删除车次信息模块流程图
删除车次信息模块是对已经过时的车次信息进行清除,减少对旅客造成不必要的麻烦,同时减少信息库的资源浪费。具体流程图如图7.5所示。
20
图7.5删除车次信息模块程序流程图
7.2.6修改车次信息模块流程图
修改信息模块是对车次信息进行局部微调的模块,不用直接删除再全部输入,减少了管理员的工作量。具体流程图如图7.6所示。
21
图7.6修改车次信息模块程序流程图
22
第八章 测试报告
8.1测试工具
一台完备的电脑和Visual C++ 6.0运行环境
8.2测试对象
列车查询系统各个模块是否能正常运行
8.3管理员录入测试
测试方法:
1、管理员在登录界面登录,并输入密码进入管理员操作界面;
2、按提示进入录入车次信息功能模块;
3、输入一组列车基本信息,并保存;
4、返回并选择查看车次信息,对照是否正确录入并保存到车次信息库中;
5.退出系统。
测试目的:
通过对管理员录入模块的测试了解系统是否能正常的录入更新车次信息,并间接观察其他相关功能能否配合所测试功能完成相应操作。
测试结果:
1管理员登录如图8.1所示
23
图8.1管理员登录
2进入录入功能模块并录入信息如图8.2所示
图8.2管理员录入信息
24
3录入结果查询如图8.3所示
图8.3录入结果查询验证
8.4游客按车次查询测试
测试方法:
1、游客在登录界面进入游客查询界面;
2、按提示选择按车次查询;
3、观察是否显示所查询的车次信息;
4、查询完毕退出系统。
测试目的:
通过按车次查询的方法直接明了的观察了查询模块是否能正常运行,如果一切正常则说明此次列车查询系统所要完成的功能基本达成,如果不能正常显示说明还要加以改进。
测试结果
1游客登录并进入查询界面如图8.4所示
25
图8.4游客登录查询界面
2游客按车次查询并观察所示信息如图8.5所示
图8.5游客按车次查询结果
26
第九章 用户手册
为了用户方便快捷的是用列车查询系统管理和查询相关信息,特别编写了用户手册,为用户详细介绍了系统如何运行,其中管理员和游客不同用户是如何使用系统的相关功能都用介绍。
9.1管理员手册
1 管理员通过登录界面进入管理界面,进入前需要输入密码,初始密码默认为123456;
2 进入管理员界面后,管理员可以选择相关的功能加以操作;
3 录入或修改完列车信息后要及时保存,以免遗漏;
4 管理员可以对单个车次的车次信息进行修复同时也要保存修改后的信息;
5 完成对相关功能的操作后,请按提示安全退出。
9.2游客使用手册
1 游客使用时按提示进入查询界面;
2 查询时给出不同的查询方式,可以按车次查询同时也可以按站名查询;
3 查询完相关信息后可以继续查询其他车次信息,如结束查询请按提示安全退出。
27
附录
#include
#include
#include
#include
#include
#include
using namespace std; //命名空间
class train_infor
{
private:
static int train_No; //静态数据成员,统计当前所有的train_infor对象的数目
char start[20]; //起点站
char end[20]; //终点站
int train_order; //班次号
int Hour_start,Minute_start; //发车时间
float GoHour; //行车时间
public:
train_infor();
~train_infor();
train_infor *next;
void input(); //录入函数
void input(ifstream & is); //读取函数
void output(); //输出函数
void output(ofstream & os); //写入函数
void GetTime_start(); //获取发车时间函数
bool GetTime(); //判断当前班次状况函数
int Get_train_order() { return train_order; } //返回班次号
string Get_end()const; //返回终点站的字符串
};
int train_infor::train_No=1;
train_infor::train_infor()
{
train_No++;
}
28
train_infor::~train_infor()
{
train_No--;
}
void train_infor::input() //车次信息输入
{
cout<<"ttt按提示输入:"< cout<<"请输入班次: "; while(1) { cin>>train_order; if (()) //判断输入的数据类型是否有错 { cout << "n班次输入错误,请重新输入:"; (); //()方法很重要,如果不调用,则cin异常不会终止,那么程序就进入了死循环 (); //一般情况下,cin自动跳过输入的空格,如果你要把键盘上输入的每个字符 包括空格和回车键都作为一个输入字符给字符型变量时,必须使用函数() } else break; } GetTime_start(); cout<<"请输入行车时间:"; while(1) { cin>>GoHour; if (()) //判断输入的数据类型是否有错 { cout << "n行车时间输入错误,请重新输入:"; (); (); } else break; } cout<<"请输入起始站与终点站(始发站/终点站):"; cin>>start;cin>>end; } 29 void train_infor::input(ifstream & is) { is>>train_order>>Hour_start>>Minute_start>>start>>end>>GoHour; (); } void train_infor::output() { cout<<" "< if(Minute_start==0) 分钟时刻,若为分则在后面多显示个,以符合时间格式 { cout< } else { cout< } cout< if(!GetTime()) cout<<"t 此班列车已出发"< else cout<<"t 此班列车未出发"< } void train_infor::output(ofstream & os) { os< 输出宽度 < < < < < < } void train_infor::GetTime_start() { cout<<"请输入始发时间(时/分):"; while(1) { 30 //判断发车时的 //setw()设置 cin>>Hour_start>>Minute_start; if (()) //判断输入的数据类型是否有错 { cout << "n时间输入错误,请重新输入:"; (); (); } else if(Hour_start<0||Hour_start>24||Minute_start<0||Minute_start>60) cout<<"n时间格式出错,请重新输入:"; //判断时间格式是否出错,小时不能小于0大于24,分钟不能小于0大于60 else break; } } bool train_infor::GetTime() { struct tm *local; time_t t; t=time(NULL); local=localtime(&t); //获取当前系统时间 if(local->tm_hour local->tm_min<=Minute_start)) return 1; //比较当前时间与发车时间,获得班次的当前状况,返回表示班次未出发 else return 0; //返回表示班次已出发 } string train_infor::Get_end()const { string s=end; return s; } class train_link { public: train_link(){head=new train_infor;head->next=NULL;key=0;}//带参数的构造函数 ~train_link(){delete head;} //析构函数 void input(); //录入列车信息 31 void mend(); //修改列车信息 void del(); //删除列车信息 int find(train_infor **p,int num,char *pn); //查找函数 void found(); //查询列车信息 void show(); //显示列车信息 void save(); //保存列车信息 void begin(); //初始化列车信息 void clear(); //清除函数 void about(); //关于列车信息 char mainmenu(); //主菜单函数 void setkey(int k){ key=k; } //设置系统修改标志 int getkey(){ return key;} //返回系统修改标志 private: train_infor *head; //链表指针 int key; //系统修改标志 int password; //管理员登陆标志 }; void train_link::input() //列车信息输入功能菜单控制 { if(password==1) { train_infor *p,*p2=NULL; p=head; int n=1; //int n; while(p->next) p=p->next; while(n) { p2=new train_infor; p2->input(); p->next=p2; p2->next=NULL; p=p->next; train_link::setkey(1); cout<<"ttt按1继续输入 , 按0返回菜单: "; cin>>n; if(!cin) throw string("数据输入错误"); } } else cout<<"ntt对不起,游客不能录入车票信息"< } 32 void train_link::show() //浏览列车信息 { cout<<"列车基本信息如下:"< <<"|班次 发车时间 起点站 终点站 行车时间 当前状况 |"< train_infor *p; p=head; while(p->next) { (p->next)->output(); p=p->next; } } void train_link::found() //列车信息查询 { train_infor *p; int num,n; char name[20]; do { cout<<"tt1:按列车班次查找, 2:按列车终点站查找: "; cin>>n; if(!cin) throw string("数据输入错误"); }while(n<1||n>2); if(n==1) { cout<<"ttt请输入班次: "; cin>>num; if(!cin) throw string("数据输入错误"); } if(n==2) { cout<<"ttt请输入终点站: "; cin>>name; } if(!find(&p,num,name)) { cout<<"tt找不到你要查找的车次,请确定输入信息是否正确!"< return; } 33 } int train_link::find(train_infor **p1,int num,char *pn) //列车信息查询 { train_infor *p; p=head; int t=0; while(p->next) { (*p1)=p; if( (p->next)->Get_train_order()==num|| (p->next)->Get_end()==pn ) { cout<<"列车基本信息如下:"< <<"|班次 发车时间 起点站 终点站 行车时间 当前状况 |"< (p->next)->output(); t=1; } p=p->next; } return t; } void train_link::del() //列车信息删除 { if(password==1) { train_infor *p,*p2; int num;char name[20]; cout<<"ttt请输入列车班次号: "; cin>>num; if(!cin) throw string("数据输入错误"); if( !find(&p,num,name) ) { cout<<"tt对不起!找不到你要删除的内容,请确定输入信息是否正确!"< return; } cout<<"nttt确定删除(Y/N)?"; char a;cin>>a; if(a=='y'||a=='Y') { p2=p->next; 34 p->next=p2->next; delete p2; train_link::setkey(1); cout<<"nttt信息已删除!"; } else { cout<<"nttt取消删除!"; } } else cout<<"ntt对不起,游客不能删除车票信息"< } void train_link::mend() //列车信息修改 { if(password==1) { train_infor *p; int num; char name[20]; cout<<"ttt请输入班次号: "; cin>>num; if(!cin) throw string("数据输入错误"); if( !find(&p,num,name) ) { cout<<"tt对不起!找不到你要修改的内容,请确认输入信息是否正确!"< return; } (p->next)->input(); train_link::setkey(1); } else cout<<"ntt对不起,游客不能修改车票信息"< } void train_link::save() //列车信息保存 { if(password==1) { train_infor *p; p=head; 35 ofstream os("",ios::out); //文件以输出方式打开 if (train_link::getkey()==1) { while(p->next) { (p->next)->output(os); p=p->next; } } cout<<"ttt文件已保存! "< train_link::setkey(0); } else cout<<"ntt对不起,游客无法保存车票信息"< } void train_link::about() //列车时刻查询系统说明 { cout< cout<<"使用说明:"< <<"t1.请按照操作提示输入正确的格式,以保证系统正常运行;"< <<"t2.当使用管理员登陆时,需输入密码,可进行对系统的所有操作;"< <<"t3.当使用游客身份登陆时,无需输入密码,但只能浏览和查询列车时刻信息;"< <<"t4.车票信息用文本文档格式,文件名为train,保存在本程序文件夹目录下,可以直接打开查看."< <<"系统说明:"< <<"t"< <<"tt "< } void train_link::begin() { password=0; train_infor *p,*p2; p=head; clear(); long t; ifstream is("",ios::in); //文件以输入方式打开 if(!is) { ofstream os("",ios::out); //文件以输出方式打开 (); //关闭文件 return ; 36 } int num=-1; while(1) { num=-1; t=(); //记录下当前位置 is>>num; (t); //移动到原来位置 if(num<0) { (); return; } p2=new train_infor; p2->input(is); p->next=p2; p2->next=NULL; p=p->next; } } void train_link::clear() { train_infor *p,*p2; p=head->next; while( p ) { p2=p; p=p->next; delete p2; } } char train_link::mainmenu() { struct tm *local; char s1[128]; time_t t; t=time(NULL); local=localtime(&t); strftime(s1,128,"%Y-%m-%d %H:%M ",local); 把时间保存在s1字符串里面 string s; 功能选择是否输入错误 37 //输入is对象内容 //按照指定的格式,//定义字符串s,来判断 cout<<"nn ────<<欢迎使用列车时刻查询系统>>──── "< cout <<" ┌───────────────────────────┐"< <<" │┌─────────────────────────┐│"< <<" ││ 1. 录入列车信息 2. 浏览列车信息 ││"< <<" ││ 3. 查询列车信息 4. 删除列车信息 ││"< <<" ││ 5. 修改列车信息 6. 保存列车信息 ││"< <<" ││ 7. 关于列车时刻查询系统 0. 退出系统 ││"< <<" │└─────────────────────────┘│"< <<" └───────────────────────────┘"< <<"ttttt "< while(password==0) //身份验证选择管理员或者游客,游客只能查看无其他功能 { cout<<"tt请选择用户名(1.管理员;2.游客): "; int n; cin>>n; if(!cin) throw string("数据输入错误"); if(n==1) { cout<<"ntt请输入管理员密码: "; int m;cin>>m; if(m==123456) { password=1; cout< break; } else { cout<<"ntt密码输入不正确n"< } } else { 38 password=2; //游客身份标志 break; } } cout<<" 请选择功能按钮: "; while(true) { cin>>s; if(()!=1||s[0]<'0'||s[0]>'9') //()返回字符串的长度,即字符个数 cout<<"输入错误,请重新选择功能按钮: "; else break; } return s[0]; } int main() { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|BACKGROUND_BLUE); // 调用windows系统文件改变字体颜色和背景颜色 train_link pp; int k=1; string s; (); try { while(k==1) { system("cls"); s=nu(); //调用主菜单函数 switch(s[0]) { case '1':(); break; //录入列车信息 case '2':(); break; //浏览列车信息 case '3':(); break; //查询列车信息 case '4':(); break; //删除列车信息 case '5':(); break; //修改列车信息 case '6':(); break; //保存列车信息 case '7':();break; //关于列车时刻查询系统 case '0':k=0;break; //退出系统 } if(k==1) 39 { cout<<"nttt是否返回主菜单? 1.是(继续) 2.不是(退出): "; cin>>k; if(!cin) throw string("数据输入错误"); } if(k==0) { if(()==1) { cout<<"ttt是否保存? 1.保存 0.不保存: "; cin>>k; if(!cin) throw string("数据输入错误"); if(k==1) (); (); k=0; } } } } catch(string s) { cout< system("pause"); } return 0; } 40
发布者:admin,转转请注明出处:http://www.yc00.com/num/1703834723a1319269.html
评论列表(0条)