#include<iostream>
#include<string>
#include<stdio.h>
#include<iomanip>
#define SIZE_view 50
#define SIZE_line 100
#define SIZE_way 300
#define MAXNODE 30//定义最多的顶点数
#define MAXCOST 1000
//自己写的头文件
//#include<addview.h>// //
using namespace std
struct view_info/*城市信息结构*/
{
int id
char name[20]
int code
char shortname[20]
char LName[100]// 经过此车站的铁路线名称
} views[SIZE_view]
struct line_info //铁路线信息结构
{
int Lid
char LName[20]
int start_id //始发站id
int end_id//终点站id
int dist //铁路线长度
int sign//通行标志
}lines[SIZE_line]
struct way_info //铁路度的信息结构
{
int station1
int station2
int dist
}ways[SIZE_way]
struct path_info //用于最短路径的查询
{
int count
int path[SIZE_view]
}
int view_count,line_count,way_count//用来存储文件中有多少条记录
void readviews()
{
int i
ifstream infile("views.txt",ios::in) //打开文件
infile >>view_count //把文件中的记录赋值给view_count
if(!infile) //打开文件失败
{
cerr<<"open error!"<<endl
exit(1)
}
//infile>>view_count // 先读入文件个数
for(i=0i<view_counti++)
{
infile>>views[i].id>>views[i].name>>views[i].code>>views[i].shortname>>views[i].LName
}
//view_count=i//给出原文件中车站的个数
infile.close()
cout<<" "<<"id"<<""<<"name"<<""<<"code"<<""<<"shortname"<<""<<"LName"<<endl
for(i=0i<view_counti++)
cout<<" "<<views[i].id<<" "<<views[i].name<<" "<<views[i].code
<<" "<<views[i].shortname<<" "<<views[i].LName<<endl
}
void readways() //读文件ways.txt
{
int i
ifstream infile("ways.txt",ios::in) //打开文件
infile>>way_count////把文件中的记录赋值给way_count
if(!infile) //打开文件失败
{
cerr<<"open error!"<<endl
exit(1)
}
for(i=0i<way_counti++)
infile>>ways[i].station1>>ways[i].station2>>ways[i].dist
infile.close()
//测试用,输出路段的信息
cout<<" "<<"station1"<<" "<<"station2"<<" "<<"dist"<<endl
for(i=0i<way_counti++)
cout<<" "<<ways[i].station1<<" "<<ways[i].station2<<" "<<ways[i].dist<<endl
}
void readlines() //读文件lines.txt
{
int i
ifstream infile("lines.txt",ios::in) //打开文件
infile>>line_count //把文件中的记录赋值给line_count
if(!infile) //打开文件失败
{
cerr<<"open error!"<<endl
exit(1)
}
for(i=0i<line_counti++)
infile>>lines[i].Lid>>lines[i].LName>>lines[i].start_id>>lines[i].end_id>>lines[i].dist>>lines[i].sign
infile.close()
/*
cout<<" "<<"Lid"<<""<<"LName"<<""<<"start_id"<<""<<"end_id"<<" "<<"dist"<<""<<"sign"<<endl
for(i=0i<view_counti++)
cout<<" "<<lines[i].Lid<<" "<<lines[i].LName<<" "<<lines[i].start_id
<<" "<<lines[i].end_id<<" "<<lines[i].dist<<" "<<lines[i].sign<<endl
*/ //这里是输出文件中的信息
}
void search () //查询车站信息(所在的铁路线)
{
cout<<"please enter the station name:"
char sta_name[20]
cin>>sta_name //输入要查询的名字
cout<<endl
ifstream infile("views.txt ",ios::in) //读文件
infile >>view_count //读出文件记录的个数
if(!infile) //打开文件失败
{
cerr<<"open error!"<<endl
exit(1)
}
int i,mark
for(i=0i<view_counti++)
infile>>views[i].id>>views[i].name>>views[i].code>>views[i].shortname>>views[i].LName
infile.close()
for(i=0i<view_counti++)
{
if(strcmp(sta_name,views [i].name)==0)//找到车站
{
cout<<"the station's informations is:\n"<<endl
cout<<""<<"id"<<""<<"name"<<""<<"code"<<""<<"shortname"<<""<<"LName"<<endl
cout<<""<<views[i].id<<""<<views[i].name<<""<<views [i].code
<<""<<views [i].shortname<<" "<<views [i].LName <<endl
break
}
mark=i
}
if(mark==( view_count -1)) //若没有找到,输出提示
{
cout<<"sorry,the station is not in here"<<endl
}
}
void addview()
{
cout<<"please enter the new view's informations:"<<endl //输入新车站信息
cout<<"id:"
cin>>views[view_count].id
cout<<"name:"
cin>>views[view_count].name
cout<<"code:"
cin>>views[view_count].code
cout<<"shortname:"
cin>>views[view_count].shortname
cout<<"LName:"
cin>>views[view_count].LName
ofstream outfile("views.txt",ios::app) //打开views文件,并且写入数据
outfile<<view_count<<endl
if(!outfile)//文件打开失败
{
cerr<<"open error!"<<endl
exit(1)
}
outfile<<views[view_count].id<<" "<<views[view_count].name<<" "<<views[view_count].code
<<" " <<views[view_count].shortname<<" "<<views[view_count].LName<<endl
//在文件末尾添加
view_count=view_count+1
outfile.close() //关闭文件
cout<<"successfully! the new station is added"<<endl
cout<<"now station number is:"<<view_count<<endl
}
void addway()
{
cout<<"please enter the new way's informations:"<<endl //输入新车站信息
cout<<"station1:"
cin>>ways[way_count].station1// station1的id
cout<<"station2:"
cin>>ways[way_count].station2 //station2的id
cout<<"dist:"
cin>>ways[way_count].dist //路段的长度
ofstream outfile("ways.txt",ios::app) //打开way.txt文件
outfile<<way_count<<endl
if(!outfile)//文件打开失败
{
cerr<<"open error!"<<endl
exit(1)
}
outfile<<ways[way_count].station1<<" "<<ways[way_count].station2<<" "<<ways[way_count].dist
//在文件末尾添加
outfile.close() //关闭文件
cout<<"successfully! the new station is added"<<endl
way_count=way_count+1
cout<<"now station number is:"<<view_count<<endl
}
void addline()
{
cout<<"please enter the new line's informations:"<<endl //输入新铁路线信息
cout<<"Lid:"
cin>>lines[line_count].Lid
cout<<"LName:"
cin>>lines[line_count].LName
cout<<"start_id:"
cin>>lines[line_count].start_id
cout<<"end_id:"
cin>>lines[line_count].end_id
cout<<"dist:"
cin>>lines[line_count].dist
cout<<"sign:"
cin>>lines[line_count].sign
ofstream outfile("lines.txt",ios::app) //打开文件
outfile <<line_count <<endl
if(!outfile)//文件打开失败
{
cerr<<"open error!"<<endl
exit(1)
}
outfile<<lines[line_count].Lid<<" "<<lines[line_count].LName<<" "<<lines[line_count].start_id
<<" " <<lines[line_count].end_id<<" "<<lines[line_count].dist<<lines[line_count].sign<<endl
//在文件末尾添加
outfile.close() //关闭文件
cout<<"successfully! the new line is added"<<endl
line_count=line_count+1
cout<<"now line number is:"<<line_count<<endl
}
//-----------------------------------------------------------------------------------
void floyed()//弗洛伊德(Floyed)算法
{
int i, j, k, m, start_num, end_num //i,j用来表示起始点和终点
int dist_list[SIZE_view][SIZE_view]//定义了一个数组
view_count=view_count+1
struct path_info path_list[SIZE_view][SIZE_view] //定义了一个path_info结构的变量,包含着count和path[]用来存储经过的路径
for(i=1i<=view_counti++) //这里开始读文件,先让所有的线都为最大值
for(j=1j<=view_countj++)
dist_list[i][j]=MAXCOST
for(int t=0t<=way_countt++)
{
i=ways[t].station1
j=ways[t].station2
dist_list[i][j]=ways[t].dist//把文件中的数据赋值给dist_list[i][j]=ways[t].dist形式
}
for (i =0i<view_counti++)
{
for (j= 0j<view_countj++)
{
if (i == j)
{
dist_list[i][j] = 0
continue
}
dist_list[i][j] = -1
path_list[i][j].count = 0
for (k = 0k<way_countk++) //
{
if (ways[k].station1 == i &&ways[k].station2 == j) //把起始点和终点分别给予i,j
{
dist_list[i][j] = ways[k].dist
path_list[i][j].count = 2
path_list[i][j].path[0] = i
path_list[i][j].path[1] = j
break
}
}
}
}
for (k = 0k<= view_count-1k++)
{
for (i = 0i <view_counti++)
for (j = 0j<view_countj++)
{
if (i == k || j == k || i == j)
continue
if (dist_list[i][k] == -1 || dist_list[k][j] == -1)
continue
if ( (dist_list[i][j] == -1) ||
((dist_list[i][j] != -1) &&(dist_list[i][k] + dist_list[k][j] <dist_list[i][j])))
{
dist_list[i][j] = dist_list[i][k] + dist_list[k][j]
// shortest[i][j]=shortest[i][k]+shortest[k][j]
path_list[i][j].count = path_list[i][k].count + path_list[k][j].count - 1
// path[i][j]=k
for (m = 0m <path_list[i][k].countm++)
path_list[i][j].path[m] = path_list[i][k].path[m]
for (m = 0m <path_list[k][j].countm++)
path_list[i][j].path[m+path_list[i][k].count] = path_list[k][j].path[m+1]
}
}
}
cout<<" Floyed table:\n"
cout<<" All views in the school:\n"
for (i = 0i <view_count-1i++)
cout<<""<<i+1<<":"<<views[i].name<<endl
cout<<" Please input the start number: "
cin>>start_num
cout<<" Please input the end number: "
cin>>end_num
cout<<endl<<endl
cout<<"From"<<views[start_num-1].name<<"to"<<views[end_num-1].name
if (dist_list[start_num][end_num] == -1)
cout<<"no way."<<endl
else
{
cout<<"distance is "<<dist_list[start_num][end_num]<<", and path is :"//dist_list[][]用来表示两点间的长度
k = path_list[start_num][end_num].path[0]-1 //path_list[][]用来保存路径path[m]在这里表明是通过的那个车站的
cout<<views[k].name
for (m = 1m <path_list[start_num][end_num].countm++)
{
k = path_list[start_num][end_num].path[m]-1//这里应该也是int型,k是经过的路径的id
cout<<"->"<<views[k].name
}
}
cout<<endl<<endl
}
void main()
{
readviews()
readlines()
readways()
while(1)
{
int menu
cout<<endl<<endl<<endl<<endl
cout<<" 全国铁路运输网最佳经由系统 "<<endl
cout<<"**********************************************************"<<endl
cout<<" 1:增加车站信息 "<<endl
cout<<" 2:增加铁路线信息 "<<endl
cout<<" 3:查询车站信息 "<<endl
cout<<" 4:查询最短路径 "<<endl
cout<<" 5:退出界面 "<<endl
cout<<"**********************************************************"<<endl
cout<<"输入要进行的 *** 作的代码(1--5):"<<endl
cin>>menu
while(menu<1||menu>5)
{
cout<<"error!please enter again:"
cin>>menu
}
switch(menu)
{
case 1:
while(1)
{
addview()
while (1)
{
addway()
cout<<"do you want to continue (y/n) "<<endl
char con
cin>>con
if(con=='y')
addway()
else
break
}
cout<<"do you want to continue (y/n) "<<endl
char con
cin>>con
if(con=='y')
addview()
else
break
}
break
case 2:
while(1)
{
addline()
cout<<"do you want to continue (y/n) "<<endl
char con
cin>>con
if(con=='y')
addline()
else
break
}
break
case 3:
while(1)
{
search ()
cout<<"do you want to continue (y/n) "<<endl
char con
cin>>con
if(con=='y')
search ()
else
break
}
break
case 4:
while(1)
{
floyed()
cout<<"do you want to continue (y/n) "<<endl
char con
cin>>con
if(con=='y')
floyed()
else
break
}
break
case 5:
{
cout<<"谢谢使用,再见!"<<endl
exit(1)
}
}
}
}
#include<iostream>#include<string>
#include<fstream>
#include<sstream>
using namespace std
class Tair //通过定义一个类来定义数据录入的函数
{
char flight[20]char data[20]char start[20]
char finish[20]char stime[20]char ftime[20]int price
public:
Tair()
{}
Tair(char fl[20], char D[20],char S[20],char Fin[20],char st[20],char ft[20],int pr)
friend void main()//将主函数定义为友元函数,方便访问类中的成员
}
Tair::Tair (char fl[20], char D[20],char S[20],char Fin[20],char st[20],char ft[20],int pr)
{
strcpy(flight,fl)//
strcpy(data,D)
strcpy(start,S)
strcpy(finish,Fin)
strcpy(stime,st)
strcpy(ftime,ft)
price=pr//
}
void main()
{
int p=0//全局变量,用于选择菜单时的输入
Tair *s[100]//类定义的指针将所录入的数据按类中的形式分别存储
ofstream *file[100]
int i=0//全局变量,用于做每个录入数据的下标
int j=0
int chris1=0//用于判断do—while语句
while(p!=6)
{
cout<<"\n************ 欢迎来到民航售票系统,请选择您需要的 *** 作并输入相应数字! ***********\n"
cout<<"(1)录入信息\n"
cout<<"(2)按起点查出所有航班的信息\n"
cout<<"(3)按终点查出所有航班的信息\n"
cout<<"(4)按日期、航班号查询航班信息\n"
cout<<"(5)按起点站统计航班数\n"
cout<<"(6)退出\n"
do //判断输入指令是否正确
{
cin>>p
if((p>=1&&p<=6))
chris1=1
else
cout<<"指令错误!请重新输入:"<<endl
}while(chris1==0)
do
{
switch(p)
{
case 1://录入
{
char flight[20],data[20],start[20],finish[20],stime[20],ftime[20]
int pricechar c//用于在小项中选择是否继续 *** 作
do
{
cout<<"请依次输入航班号、日期、起点站、终点站、起飞时间、到达时间、票价\n"
cin>>flight>>data>>start>>finish>>stime>>ftime>>price
fstream outfile,infile//作一个文本文档在文件夹中用于显示所录入的数据
outfile.open("flight.txt",ios::out|ios::app)//以向文件追加写入的方式打开文件flight.txt
if(!file)
{
cout<<"flight.txt can not open.\n"
return
}
outfile<<"航班号:"<<flight<<" "<<"日期:"<<data<<" "<<"起点站:"<<start<<" "<<"终点站:"<<finish<<" "<<"起飞时间:"<<stime<<" "<<"到达时间:"<<ftime<<" "<<"票价:"<<price<<endl
outfile.close()
infile.open("flight.txt",ios::in)
if(!file) //判断文件是否打开
{
cout<<"f1.txt can not open.\n"
return
}
char ch
while(infile.get(ch))
cout<<ch
cout<<endl<<endl
infile.close()
j++
s[i]=new Tair(flight,data,start,finish,stime,ftime,price)
i++
cout<<"已录入"<<i<<"条航班信息,想继续录入吗(y/n)"<<endl
cin>>c
chris1=0
//do
//{
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"<<endl
cin>>c
}
//else chris1=1
//}while(chris1==0)
}while(c=='y')
break
}
case 2://按起点站查询
{
char st[20]char cint j=0int flag
if(i==0)
{ cout<<"系统中没有航班信息,请先进行录入 *** 作!"<<endlbreak}
do
{
flag=0
cout<<"请输入要查询的航班的起点站: "<<endl
cin>>st
cout<<"您要查询的起点站为%c的航班信息如下:"<<st<<endl<<endl
for(int j=0j<ij++)
{
if(strcmp(st,(*s[j]).start)==0)
{
flag=1
cout<<"航班号:"<<(*s[j]).flight<<"日期:"<<(*s[j]).data<<"终点站:"<<(*s[j]).finish<<"起飞时间:"<<(*s[j]).stime<<"到达时间:"<<(*s[j]).ftime<<"票价:"<<(*s[j]).price<<endl
}
}
if(flag==0) cout<<"对不起,您查询的航班信息不存在!"<<endl<<endl
cout<<"您想继续查询吗?(y/n):"
cin>>c
if(c!='n'&&c!='y')
{
cout<<"指令错误!请重新输入:"<<endl
cin>>c
}
}while(c=='y')
break
}
case 3://按终点站查询
{
char fin[20]char cint j=0int flag
if(i==0)
{ cout<<"系统中没有航班信息,请先进行录入 *** 作!"<<endlbreak}
do
{
flag=0
cout<<"请输入要查询的航班的终点站: "<<endl
cin>>fin
cout<<"您要查询的终点站为"<<fin<<"的航班信息如下:"<<endl<<endl
for(int j=0j<ij++)
{
if(strcmp(fin,(*s[j]).finish)==0)
{
flag=1
cout<<"航班号:"<<(*s[j]).flight<<"日期:"<<(*s[j]).data<<"起点站:"<<(*s[j]).start<<"起飞时间:"<<(*s[j]).stime<<"到达时间:"<<(*s[j]).ftime<<"票价:"<<(*s[j]).price<<endl
}
}
if(flag==0) cout<<"对不起,您查询的航班信息不存在!"<<endl
cout<<"您想继续查询吗?(y/n):"
cin>>c
if(c!='n'&&c!='y')
{
cout<<"指令错误!请重新输入:"<<endl
cin>>c
}
}while(c=='y')
break
}
case 4://按日期、航班号查询
{
char dat[20],fli[20]char cint j,flag
if(i==0)
{ cout<<"系统中没有航班信息,请先进行录入 *** 作!"<<endlbreak}
do
{
flag=0
cout<<"请输入要查询的航班的日期和航班号: "<<endl
cin>>dat>>fli
cout<<"您要查询的日期为"<<dat<<",航班号为"<<fli<<"的航班信息如下:"<<endl<<endl
for(j=0j<ij++)
{
if(strcmp(dat,(*s[j]).data)==0 &&strcmp(fli,(*s[j]).flight)==0)
{
flag=1
cout<<"起点站:"<<(*s[j]).start<<"终点站:"<<(*s[j]).finish<<"起飞时间:"<<(*s[j]).stime<<"到达时间:"<<(*s[j]).ftime<<"票价:"<<(*s[j]).price<<endl
}
}
if(flag==0) cout<<"对不起,您查询的航班信息不存在!"<<endl
cout<<"您想继续查询吗?(y/n):"
cin>>c
if(c!='n'&&c!='y')
{
cout<<"指令错误!请重新输入:"<<endl
cin>>c
}
}while(c=='y')
break
}
case 5://按起点或终点统计一周的航班数
{
int count,flag,j
char str[20] char c
if(i==0)
{ cout<<"\n系统中没有航班信息,请先进行录入 *** 作!"<<endlbreak}
do
{
flag=0count=0
cout<<"\n请输入要统计的航班起点站:"<<endl
cin>>str
for(j=0j<ij++)
{
if(strcmp(str,(*s[j]).start)==0)
{
flag=1
count++
}
}
if(j>=i &&flag==0)
cout<<"对不起,您查询的航班信息不存在!"<<endl<<endl
else
cout<<"\n您要查询的起点站为"<<str<<"的航班数为:"<<count<<endl<<endl
cout<<"您想继续查询吗?(y/n):"
cin>>c
if(c!='n'&&c!='y')
{
cout<<"指令错误!请重新输入:"<<endl
cin>>c
}
}while(c=='y')
break
}
case 6://退出
{
cout<<endl<<"********* 感谢您的使用,( ^_^ )/~~拜拜! **********"<<endl
break
}
}break
}while(chris1==0)
}
}
火车站售票管理系统的与实现毕业设计2010-12-24 09:42
.5.3数据库概念结构设计 15
3 售票情况查询
2. 近于手工的 *** 作,直观的图形用户界面,美观、友好、简单易用:所有菜单,窗口, *** 作方式均为win98风格。 *** 作方便,充分考虑前台 *** 作人员 *** 作条件及习惯,有良好的易用性。
火车站售票管理系统的与实现毕业设计要 i
目火车站售票管理系统的与实现毕业设计.1管理信息系统的发展历史 3
2br>一个完善的车站售票计算机管理信息系统应当包括系统应具有售票、查询、管理和维护等功能,系统管理员可以进行对车次的更改、票价的变动及调度功能,票价的修改可以通过修改运价来进行,车次调度可通过对发车时刻表的修改来进行,维护功能即可对表进行修改。设计从始至终贯穿着这样的原则:
.3管理信息系统的开发方式 5
2.4管理信息系统的开发过程 6
第火车站售票管理系统的与实现毕业设计录 ii
第.2功能需求描述 9
3nbsp 第一章简要介绍了本系统的设计总体线路。第二章概述了管理信息系统的相关理论,第三章对本系统进行了系统分析和设计,包括功能需求描述、数据库设计等内容。第四章介绍了本系统的具体实现。最后一章对本系统开发过程中结论及使用过程中的体会进行了总结。
&.2研究路线 1
第火车站售票管理系统的与实现毕业设计 车票表修改
②火车站售票管理系统的与实现毕业设计五章 结论及体会 33
参.5.1数据库介绍 11
3nbsp (2)、查询功能
① 销售车票
②br>功能:
nbsp 关键词: 车站售票管理;设计;开发
<
摘要
一个大型的计算机管理系统必须有一个正确的设计指导思想,通过合理的选择数据结构, *** 作系统以及开发环境,构成一个完善的网络系统,才能充分发挥计算机信息管理优势。现代化的车站售票是集预定车票、售票 、退票、车次查询、报表及其他各种服务,车站售票组织庞大,服务项目多,信息量大,要想提高劳动生产,降低成本,提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。
第一章简要介绍了本系统的设计总体线路。第二章概述了管理信息系统的相关理论,第三章对本系统进行了系统分析和设计,包括功能需求描述、数据库设计等内容。第四章介绍了本系统的具体实现。最后一章对本系统开发过程中结论及使用过程中的体会进行了总结。
关键词: 车站售票管理;设计;开发
目录
摘要 i
目录 ii
第一章 导言 1
1.1问题的提出 1
1.2研究路线 1
第二章 管理信息系统研究概述 3
2.1管理信息系统的发展历史 3
2.2管理信息系统的特点 3
2.3管理信息系统的开发方式 5
2.4管理信息系统的开发过程 6
第三章 车站售票管理系统分析与设计 9
3.1车站售票管理系统功能需求简介 9
3.2功能需求描述 9
3.3目标系统要求 11
3.4系统平台选择 11
3.5数据库设计 11
3.5.1数据库介绍 11
3.5.2数据库需求分析 13
3.5.3数据库概念结构设计 15
3.5.4数据词典设计 16
3.5.5使用ado数据控件访问数据库 18
第四章 车站售票管理系统的功能实现 20
4.1登陆界面编码设计 20
4.2售票管理界面编码设计 22
4.3报表管理界面编码设计 26
4.4数据库备份管理界面编码设计 27
4.5发布应用程序 30
4.5.1编译应用程序 30
4.5.2打包应用程序 31
4.5.3发布应用程序的步骤 32
第五章 结论及体会 33
参考文献 35
一个完善的车站售票计算机管理信息系统应当包括系统应具有售票、查询、管理和维护等功能,系统管理员可以进行对车次的更改、票价的变动及调度功能,票价的修改可以通过修改运价来进行,车次调度可通过对发车时刻表的修改来进行,维护功能即可对表进行修改。设计从始至终贯穿着这样的原则:
1. 以用户需求为目标,以方便用户为原则,系统将在统一的windows *** 作系统图形界面下提供各种实用功能,尽可能降低使用前的学习、实施和使用中的维护时间。
3. 利用目前最为流行的32位数据开发工具visualbasic6.0, 既可使用access,foxpro等中小型数据库,又使其支持sql server,sybase,oracle,db2等各种大型数据库。
功能:
(1)、售票功能
① 销售车票
② 预订车票
③ 退票
(2)、查询功能
① 车次查询
② 时刻表查询
③ 售票情况查询
(3)、调度功能
① 运价修改
② 车辆修改
③ 终点站修改
④ 车次修改
(4)、维护功能
① 车票表修改
② 预订车票表修改
③ 退票表修改
④ 密码修改
(5)、统计功能
① 售票统计
② 报表打印
目标系统要求
1、时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。
2、可靠性。能连续准确的处理业务,有较强的容错能力。
3、可理解性。用户容易理解和使用该系统。
4、可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。
5、可用性。目标系统功能齐全,能够完全满足业务需求。
6、安全保密性。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。
nbsp
>目录
摘一章 导言 1
1.1问题的提出 1
1二章 管理信息系统研究概述 3
2.2管理信息系统的特点 3
2三章 车站售票管理系统分析与设计 9
3.1车站售票管理系统功能需求简介 9
3.3目标系统要求 11
3.4系统平台选择 11
3.5数据库设计 11
3.5.2数据库需求分析 13
3.5.4数据词典设计 16
3.5.5使用ado数据控件访问数据库 18
第四章 车站售票管理系统的功能实现 20
4.1登陆界面编码设计 20
4.2售票管理界面编码设计 22
4.3报表管理界面编码设计 26
4.4数据库备份管理界面编码设计 27
4.5发布应用程序 30
4.5.1编译应用程序 30
4.5.2打包应用程序 31
4.5.3发布应用程序的步骤 32
第考文献 35
<
1. 以用户需求为目标,以方便用户为原则,系统将在统一的windows *** 作系统图形界面下提供各种实用功能,尽可能降低使用前的学习、实施和使用中的维护时间。
2. 近于手工的 *** 作,直观的图形用户界面,美观、友好、简单易用:所有菜单,窗口, *** 作方式均为win98风格。 *** 作方便,充分考虑前台 *** 作人员 *** 作条件及习惯,有良好的易用性。
3. 利用目前最为流行的32位数据开发工具visualbasic6.0, 既可使用access,foxpro等中小型数据库,又使其支持sql server,sybase,oracle,db2等各种大型数据库。
< (1)、售票功能
① 预订车票
③ 退票
&车次查询
② 时刻表查询
③nbsp (3)、调度功能
① 运价修改
② 车辆修改
③ 终点站修改
④ 车次修改
(4)、维护功能
① 预订车票表修改
③ 退票表修改
④ 密码修改
(5)、统计功能
① 售票统计
② 报表打印
目标系统要求
1、时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。
2、可靠性。能连续准确的处理业务,有较强的容错能力。
3、可理解性。用户容易理解和使用该系统。
4、可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。
5、可用性。目标系统功能齐全,能够完全满足业务需求。
6、安全保密性。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)