地铁信息管理系统
一、问题描述 设计一简单的地铁管理系统可以对地铁线路进行简单管理,系统的主要功能:显示已有的地铁信息,分类显示,分别按地铁编号、线路、起始站、终点站进行查询记录,添加、删除和更新地铁线路,并保存记录至文件中等。 二、需求分析 功能需求分析 通过c程序实现对地铁信息管理的设计,建立文件,用来存储地铁的各类信息,在浏览信息时可以对文件中保存的信息进行调用浏览。其中有以下模块:地铁信息管理系统界面设计、查询信息、增加信息、删除信息、浏览所有信息和根据地铁的编号更新不同类别的信息; 地铁信息管理系统界面设计 主要功能是设计地铁信息管理系统的界面,能够提示用户的实际操作等。采用编号的形式实现相对应的操作,其中:0 刷新地铁信息 1 增加地铁信息 2 浏览地铁信息 3查询地铁信息 4 更新地铁信息 5 删除地铁信息 6 退出 查询信息模块 主要功能是查找需要的地铁线路信息,根据用户选择的三种方式输入查询的地铁线路、起始站、终点站,将会显示所有相关的线路信息 增加信息模块 主要功能是添加地铁信息,添加操作是根据用户的要求实现的,输入待增加的地铁数量,系统会提示之后进行输入地铁的编号,编号会自动更新,如果输入已有的编号,系统会提示输入正确的编号,之后在操作提示下输入增加的地铁线路、起始站、终点站、途径站数的信息,输入完成后,将提示用户录入成功; 删除信息模块 主要功能是删除不需要的地铁信息,根据输入地铁的编号删除相关的信息,系统会提示删除成功,如果输入的编号错误系统将提示该编号不存在! 浏览信息模块 主要功能是显示地铁的所有信息,包括地铁编号、线路、起始站、终点站、票价、途经站数,用户在浏览信息前需要先刷新系统,再进行浏览的操作; 更新信息模块 主要功能是更新地铁的信息,根据用户输入要更新的地铁编号再进行对地铁信息的修改; 代码如下:
#include
#include
#include
#include
#define N 100
struct subway//定义一个结构体
{
char num[N];
char line[N];//地铁线路
char sstation[N];//起始站
char ostation[N];//终点站
char wstation[N];//途径站数
char charge[N];//票价
}sub[N];//给结构体起别名sub;
int k=1,n,m;
char readfile();//文件读取
void save();//将信息保存至文件
void insert();//增加地铁信息
void Delete();//删除地铁信息
void Search();//查询地铁信息
void Print();//浏览地铁信息
void Update();//更新地铁信息
void menu();//主菜单调用其他函数
int main()
{
while(k)
menu();
system("pause");
return 0;
}
char readfile()
{
FILE *fp;//要读取的文件指针
int i=0;//数组移动
if ((fp=fopen("subway.txt","r"))==NULL)//打开操作不成功
{
printf("Open file is error!");
system("pause");
exit(0);
}
//原txt文档的数据之间是空格隔开的,fscanf用来格式化读取文件中的数据
while(fscanf(fp,"%s %s %s %s %s %s",sub[i].num,sub[i].line,sub[i].sstation,sub[i].ostation,sub[i].charge,sub[i].wstation)==6)
{
i++;
}
fclose(fp);//关闭文件
n=i;
printf("录入完毕!\n");
}
void save()
{
int i;
FILE *fp;//要读取的文件指针
fp=fopen("subway.txt","w"); //打开文件进行写入操作
for(i=0;i
FILE *fp;//要读取的文件指针
int i=0;//数组移动
if ((fp=fopen("subway.txt","r"))==NULL)//打开操作不成功
{
printf("Open file is error!");
system("pause");
exit(0);
}
|