公交车站管理系统c++解析.docx

上传人:b****2 文档编号:499343 上传时间:2022-10-10 格式:DOCX 页数:17 大小:465.75KB
下载 相关 举报
公交车站管理系统c++解析.docx_第1页
第1页 / 共17页
公交车站管理系统c++解析.docx_第2页
第2页 / 共17页
公交车站管理系统c++解析.docx_第3页
第3页 / 共17页
公交车站管理系统c++解析.docx_第4页
第4页 / 共17页
公交车站管理系统c++解析.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

公交车站管理系统c++解析.docx

《公交车站管理系统c++解析.docx》由会员分享,可在线阅读,更多相关《公交车站管理系统c++解析.docx(17页珍藏版)》请在冰豆网上搜索。

公交车站管理系统c++解析.docx

公交车站管理系统c++解析

 

沈阳航空航天大学

 

实验报告

 

课程名称:

面向对象程序设计及C++

实验题目:

公交车站点信息管理软件

 

院(系):

计算机学院

专业:

计算机科学与技术

班级:

34010105

学号:

2013040101204

姓名:

孙思

一、实验目的

达到对所学面向对象程序设计知识的一次综合运用,熟练掌握面象对象分析问题、解决问题的方法。

2、实验内容描述

设计一个公交车站点信息管理软件,它能够被用户和管理人员使用,管理人员利用这个软件对站点进行插入、删除的管理功能;用户则可以利用这个软件查询公交车站的信息,例如,某路公交经过的所有站点。

三、类设计及描述

该程序设计了一个公交车类bus,其中定义了name表示公交车的线路名称例如100,spot_num表示一路公交汽车经过的站点的个数,字符数组spot[50][30]表示该路公交车经过的站点个数用字符数组数组spot[50][]表示,每个站点的名字用字符数组spot[][30]表示。

Bus类中还定义了三个函数Insert,Delete,search_name,分别表示向某路公交车线路中加入、删除站点信息以及线路的查询。

四、关键函数描述

findstat:

显示查询线路函数。

显示查询线路目录,用户根据提示选择要查询线路的所有站点,根据输入的选项,调用函数search_name输出该路线的所有站点信息。

init:

初始化函数,读入已经存好的站点信息。

user:

显示使用者界面函数。

有查询公交车线路和返回选项,根据用户输入,调用findstat函数或者返回主界面,当输入其它选项时输出“并没有这个选项”。

addstat:

显示加入站点函数。

根据输入情况对某路公交车调用insert函数插入站点。

当输入其它选项时输出“并没有这个选项”。

delestat:

显示删除站点函数。

根据输入情况对某路公交车调用delete函数删除站点。

当输入其它选项时输出“并没有这个选项”。

manager:

显示管理者界面函数。

有加入、删除、查询站点三个选项,根据输入分别调用addstat、delestat、findstat函数。

当输入其它选项时输出“并没有这个选项”。

main:

主函数。

显示初始界面,选择进入管理者界面或者使用者界面或者退出程序。

分别调用manager函数或者user函数。

bus类中定义的函数:

1.Insert:

加入某站

输入要加入站点的位置,用一个for循环找到正确的位置,输入要加入站点名称,并且用strcpy函数依次将后边的站点向后移动一位,站点的个数增加一个。

增加成功后显示“加入成功!

”。

2.Delete:

删除某站

输入要删除站点的名称,对比已经存在的站点和要删除的站点找到找到正确的位置,依次将后边的站点向前移动一位,站点的个数减一。

删除成功后显示“删除站点成功”。

3.search_name:

输出公交车所有路线

用for循环输出每个站点的信息,输出spot[i]。

 

5、程序测试/运行的结果

 

 

图5.1初始界面

 

图5.2管理者界面

 

图5.3查询界面

图5.4显示线路界面

 

图5.5插入站点界面

图5.6成功插入站点信息界面

 

图5.7再次查询检验是否成功插入界面

图5.8删除站点界面

 

图5.9成功删除站点界面

 

图5.10再次查询检查是否成功删除站点界面

图5.11使用者界面

 

图5.11查询站点界面

图5.12显示线路界面

 

6、实验总结

在课堂上我知道了c++是兼容c语言的,但是在变成过程中还是体会到了两者之间不小的差别,c语言中没有类的概念,但是和c语言的结构体很像但是又不完全相同,这给我刚编程是造成了很多的困扰,后来理清思路设计每一个功能模块,再将每个函数实现,软件就完成了。

这次程序设计老师让我们自己设计功能自由发挥,有很多东西要写但是后来将程序变得复杂,最后删了又删,有很多地方还不够完善,界面做的也不够美观。

但是这次程序设计还是有很大的收获,理论的学习和实际操作还是有很大的差距,只有勤于练习才能学好c++。

附录(实验代码)

#include

#include

#include

#include

usingnamespacestd;

classbus

{

public:

intname,spot_num;

charspot[50][30];

intInsert();//加入某站

intDelete();//删除某站

intsearch_name();//输出公交车所有路线

};

staticbuscar1,car2,car3;

intbus:

:

Insert()

{

intloc,i;

charaddstation[10];

cout<<"请输入要加入的站点的名称"<

cin>>addstation;

cout<<"请输入要加入的位置"<

cin>>loc;

for(i=spot_num++;i>=loc;i--)

strcpy(spot[i],spot[i-1]);

strcpy(spot[i],addstation);

cout<<"加入成功!

"<

system("pause");

return0;

}

intbus:

:

Delete()

{

inti;

charaddstation[10];

cout<<"请输入要删除的站的名称"<

cin>>addstation;

for(i=spot_num-1;i>=0;i--)

{

if(strcmp(spot[i],addstation)==0)

{

for(;i

strcpy(spot[i],spot[i+1]);

break;

}

}

spot_num--;

cout<<"删除站点成功"<

system("pause");

return0;

}

intbus:

:

search_name()

{

inti=0;

cout<

"<

for(;i

cout<

cout<

system("pause");

return0;

}

intfindstat()

{

intn;

while

(1)

{

system("CLS");

printf("\n\n\t\t1.查询100路的所有站点\n");

printf("\t\t2.查询200路的所有站点\n");

printf("\t\t3.查询300路的所有站点\n");

printf("\t\t4.退出\n");

scanf("%d",&n);

switch(n)

{

case1:

system("CLS");car1.search_name();break;

case2:

system("CLS");car2.search_name();break;

case3:

system("CLS");car3.search_name();break;

case4:

return0;

default:

printf("并没有这个选项\n");system("pause");

}

}

return0;

}

intinit()

{

inti;

FILE*f=fopen("input.txt","r");

car1.name=100;

car2.name=200;

car3.name=300;

car1.spot_num=9;

car2.spot_num=9;

car3.spot_num=9;

for(i=0;i<9;i++)

fscanf(f,"%s",car1.spot[i]);

for(i=0;i<9;i++)

fscanf(f,"%s",car2.spot[i]);

for(i=0;i<9;i++)

fscanf(f,"%s",car3.spot[i]);

return0;

}

intuser()

{

intn;

while

(1)

{

system("CLS");

printf("\n\n\t\t使用者界面\n");

printf("\t\t1.查询公交车线路\n");

printf("\t\t2.返回\n");

scanf("%d",&n);

switch(n)

{

case1:

findstat();break;

case2:

return0;

default:

printf("并没有这个选项\n");system("pause");

}

}

return0;

}

intaddstat()

{

intn;

while

(1)

{

system("CLS");

printf("\n\n\t\t1.向100路中加入站点\n");

printf("\t\t2.向200路中加入站点\n");

printf("\t\t3.向300路中加入站点\n");

printf("\t\t4.退出\n");

scanf("%d",&n);

switch(n)

{

case1:

car1.Insert();break;

case2:

car2.Insert();break;

case3:

car3.Insert();break;

case4:

return0;

default:

printf("并没有这个选项\n");system("pause");

}

}

return0;

}

intdelestat()

{

intn;

while

(1)

{

system("CLS");

printf("\n\n\t\t1.从100路中删除站点\n");

printf("\t\t2.从200路中删除站点\n");

printf("\t\t3.从300路中删除站点\n");

printf("\t\t4.退出\n");

scanf("%d",&n);

switch(n)

{

case1:

system("CLS");car1.Delete();break;

case2:

system("CLS");car2.Delete();break;

case3:

system("CLS");car3.Delete();break;

case4:

return0;

default:

printf("并没有这个选项\n");system("pause");

}

}

return0;

}

intmanager()

{

intn;

while

(1)

{

system("CLS");

printf("\n\n\t\t管理者界面");

printf("\n\t\t1.向公交车中加入车站\n");

printf("\t\t2.从公交车中删除车站\n");

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 笔试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1