C语言校园导航系统

C语言校园导航系统
C语言校园导航系统

课程设计报告

课程设计题目:校园导航

专业:计算机科学与技术

班级:1230701

学号:2

学生姓名:胡玖龙

指导教师:刘志锋

2014年6月19日

1 / 17

实验题目:

校园导航系统

实验时间:

2014/6/16-2014/6/19

实验地点:

软件楼402

实验目的:

综合运用所学的数据结构知识解决一个关于学校导航系统的问题,侧重对图的相关内容特别是求最短路径的应用,使得能进一步熟悉掌握数据结构的基础知识,进一步提升自己的解决问题和编程调试能力,为后续专业课程的学习打下基础。

实验要求:

设计学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从某个场所到达另一场所的最佳路径。

求最短路径用Dijkstra或Floryd算法实现。

2 / 17

实现思路:

先分析需求,本程序的主要目的是提供本学校地点的路径查询,并提供其他各种信息查询服务。

需求:

1、提供校园平面图,使得能直观的了解学校。

2、提供地点信息查询,为各地点提供简短的介绍。

3、提供任意两地点间最短路径查询,并计算总路程。

根据要求,先将校园平面图信息抽象为无向网,用邻接矩阵存储。

需求1:

定义map()函数,功能是输出校园的平面图。可简单的通过printf()函数实现。

需求2:

定义Query()函数,功能是查询输出地点信息。可直接输出无向网中的顶点信息。

需求3:

根据输入的起点和终点,运用Floryd算法,求出最短路径,计算路径长度并输出。

考虑到使用者并不一定需要使用所有的功能,所以开始时需要一个选择菜单。定义Menu()函数,功能是提供功能选择。

输入1,选择查看学校平面图

输入2,选择查看各地点信息

输入3,选择查找两地点间最短路径

输入4,退出程序

3 / 17

总流程图:

4 / 17

平面图模块流程图:

地点信息查询模块流程图:

5 / 17

求最短路径模块流程图:

实现过程:

从学校的平面图中选取出12个比较重要的地点,将其抽象成无向带权网并用邻接矩阵来表示。以图中的顶点代表地点,存放地点名称、编号、简介等信息,权值代表两地之间的距离。最短路径用Floyd算法求出。

地点间距离用地图软件测出。

6 / 17

将得到的信息绘制成无向网:

程序用到的函数:

MGraph InitGraph(MGraph &G) //构造校园图

void Menu() //初始菜单

void Map() //校园平面图

V oid Number() //输出地点编号,在其他操作中会用到void Query(MGraph G) //查找函数,可以输出地点名称和介绍void floyd(MGraph G) //floyd算法

void shortestPath_Floyd(MGraph &G) //求最短路径

void main(); //主函数

(1)图的存储结构:

typedef struct

{

char name[30]; //地点名称

int num; //地点编号

char introduction[200]; //地点介绍1.体育馆

2.北区宿舍

3.图书馆

4.樱花广场

5.三教

6.东门

7.青春广场

8.西区食堂

9.西区宿舍

10.南区食堂

11.南区宿舍

12.南门

7 / 17

}VertexType;

typedef struct{

VertexType vexs[MAX]; //地点

int arcs[MAX][MAX]; //存储图的邻接矩阵

int vexNum,arcNum; //地点数,路径数

}MGraph;

(2)构造校园图:

MGraph InitGraph(MGraph &G) //构造校园图

{

int i,j;

G.vexNum=12;

G.arcNum=16;

for(i=1;i<=G.vexNum;i++)

G.vexs[i].num=i;

strcpy(G.vexs[1].name,"体育馆");

strcpy(G.vexs[1].introduction,"有田径场及各种体育活动场馆");

strcpy(G.vexs[2].name,"北区宿舍");

strcpy(G.vexs[2].introduction,"学校北区的宿舍");

strcpy(G.vexs[3].name,"图书馆");

strcpy(G.vexs[3].introduction,"有着丰富的藏书,是学习、自习的好地方");

strcpy(G.vexs[4].name,"樱花广场");

strcpy(G.vexs[4].introduction,"有很多樱花树,适合早读");

strcpy(G.vexs[5].name,"三教");

strcpy(G.vexs[5].introduction,"学校的教学区");

strcpy(G.vexs[6].name,"东门");

strcpy(G.vexs[6].introduction,"学校的正门");

strcpy(G.vexs[7].name,"青春广场");

strcpy(G.vexs[7].introduction,"经常有各种各样的社团活动");

strcpy(G.vexs[8].name,"西区食堂");

strcpy(G.vexs[8].introduction,"西区的食堂,饭菜很好吃");

strcpy(G.vexs[9].name,"西区宿舍");

strcpy(G.vexs[9].introduction,"学校西区的宿舍,既有男生宿舍也有女生宿舍");

strcpy(G.vexs[10].name,"南区食堂");

strcpy(G.vexs[10].introduction,"南区食堂,饭菜很好吃");

strcpy(G.vexs[11].name,"南区宿舍");

strcpy(G.vexs[11].introduction,"学校南区的宿舍,全是男生宿舍");

strcpy(G.vexs[12].name,"南门");

strcpy(G.vexs[12].introduction,"学校的南门,比较小");

for(i=0;i

8 / 17

for(j=0;j

G.arcs[i][j]=INFINITY; //不存在的路径长度设为无穷大

G.arcs[0][1]=170;

G.arcs[1][2]=200;

G.arcs[1][4]=150;

G.arcs[2][3]=30;

G.arcs[2][4]=150;

G.arcs[2][5]=300;

G.arcs[3][4]=30;

G.arcs[4][6]=170;

G.arcs[4][7]=160;

G.arcs[5][6]=500;

G.arcs[5][10]=570;

G.arcs[6][7]=100;

G.arcs[7][8]=160;

G.arcs[8][9]=180;

G.arcs[9][10]=100;

G.arcs[10][11]=20;

}

for(i=0;i

G.arcs[j][i]=G.arcs[i][j];

return G;

}

(3)菜单模块:

void Menu() //初始菜单

{

printf("\n\n 东华理工大学校园导游系统\n");

printf(" ┏━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");

printf(" ┃编号┃功能┃\n");

printf(" ┣━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━┫\n");

printf(" ┃1 ┃查看学校平面图┃\n");

printf(" ┃2 ┃查看地点信息┃\n");

printf(" ┃3 ┃查找两地点间最短路径┃\n");

printf(" ┃4 ┃退出┃\n");

printf(" ┗━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");

printf("输入你的选择:");

}

9 / 17

(4)平面图模块:

void Map() //校园平面图

{

printf("\n");

printf(" ┏━━━━━━━┓\n");

printf(" ┃┃ \n");

printf(" ┃ 1.体育馆┃\n");

printf(" ┃┃\n");

printf(" ┗━━━┳━━━┛\n");

printf(" ┃\n");

printf(" ┏━━━┻━━━┓\n");

printf(" ┃┃\n");

printf(" ┏━━━━━━━━━┳━━━┫ 2.北区宿舍┣━━━┓\n");

printf(" ┃┃┃┃┃\n");

printf(" ┃┃┗━━━━━━━┛┃\n");

printf(" ┃┏━━━━━━━┓┃┃\n");

printf(" ┃┃┃┃┃\n");

printf(" ┏━━┓┃┃┃┃┣┓\n");

printf(" ┃┣╋┫ 3.图书馆┣┫┃┃6. \n");

printf(" ┃4. ┃┃┃┃┃┃┃东\n");

printf(" ┃樱┃┃┃┃┣━━━━━━━━━━━━━━━┫┃门\n");

printf(" ┃花┃┃┗━━━━━━━┛┃┃┃\n");

printf(" ┃广┃┃┏━━━━━━━┓┃┃┃\n");

printf(" ┃场┃┃┃┃┃┣┛\n");

printf(" ┃┃┃┃┃┃┃\n");

printf(" ┃┣┻┫ 5.三教┣┫┃\n");

printf(" ┗━━┛┃┃┃┃\n");

printf(" ┃┃┃┃\n");

printf(" ┗━━━━━━━┛┣━━━━┳━━━━━━━━━━┫\n");

printf(" ┃┏━━━┻━━━┓┃\n");

printf(" ┏━━━━━━━┓┃┃┃┃\n");

printf(" ┃┃┃┃┃┃\n");

printf(" ┃┃┃┃7.青春广场┃┃\n");

printf(" ┃8.西区食堂┣╋┫┃┃\n");

printf(" ┃┃┃┃┃┃\n");

printf(" ┃┃┃┃┃┃\n");

printf(" ┗━━━━━━━┛┃┗━━━━━━━┛┃\n");

printf(" ┃┃\n");

printf(" ┏━━━━━━━┓┃┃\n");

printf(" ┃┃┃┃\n");

printf(" ┃┃┃┃\n");

printf(" ┃9. ┃┃┃\n");

printf(" ┃西┃┃┃\n");

printf(" ┃区┣┫┃\n");

10 / 17

校园导航系统---算法与分析课程设计

算法设计与分析课程设计 题目:校园导航问题 文档: 物联网工程学院物联网工程专业 学号 学生姓名 班级物联网1101 二〇一三年十二月

设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路(最短路径)。 本系统为用户提供以下功能: (一)、查询了解学校概况,为导游参观者提供关于学校的相关信息。 (二)、查询校园各个场所和景点信息; (三)、为导游者或外来人员参观人员提供校园交通信息,方便用户走访学校。完成需要操作时,退出系统 校园导航查询系统的开发方法总结如下: (1) 需求分析,了解学校各个场所与场所或者是各个景点与景点之间的信息,路径和距离,考虑该如何设计才能满足用户需求。 (2) 概要设计,对调查得到的数据进行分析,根据其要求实现的功能分析系统结构和界面将实现的基本功能。 (3) 详细设计,设计系统界面并编辑实现其各个功能的代码。 (4) 调试分析,在设计完成后,调试系统运行的状况,修改完善系统,然后进行测试。 一、需求分析 1学校以及各景点介绍模块 采用一维数组将学校景点依次排放好编号G.vex[i].number=i 在选择校园介绍的时候,弹出G.vex[0]校园简介。在选择各景点信息的时候,可按编号查询2查询最短路径(主要) 查出出发地到想要到达的景点的最短路径,初步构想采用最经典的迪杰斯特拉算法最短路径函数 3查询各点距离 将所有景点的距离显示出来。 4主菜单页面显示 提供使用者选择功能界面,按照提示进行操作。 5退出 完成需要操作时,退出系统

校园导航系统模式图 二、概要设计 2.1算法设计说明 校园导航模型是由各个景点和景点以及场所和场所之间的路径组成的,所 以这完全可以用数据结构中的图来模拟。用图的结点代表景点或场所,用图的边 代表景点或场所之间的路径。所以首先应创建图的存储结构。结点值代表景点信 息,边的权值代表景点间的距离。结点值及边的权值采用图存储。本系统需要查 询景点信息和求一个景点到另一个景点的最短路径长度及路线,为方便操作,所 以给每个景点一个代码,用结构体类型实现。计算路径长度,最短路线和最佳路 径时可分别用迪杰斯特拉(Dijkastra )算法和哈密而顿回路算法实现。最后switch 选择语句选择执行浏览景点信息或查询最短路径和距离。 2.1.1学校以及各景点介绍模块 采用了图的邻接矩阵存储结构,首先初始化每一个景点名称(一维数组) fo r(i=1;i

校园导游系统

课程设计报告 课程名称:数据结构与算法 题目名称:校园导游系统 学生学院:数学与计算机科学系 专业班级: 2016级计算机科学与技术本科班小组组长:王明 小组成员: 王明郑双凤吕运发 指导老师:熊小颖老师

2017年10月15日 目录 一、设计目的3 二、问题描述3 三、基本要求3 四、概要设计3 五、主程序4 六、测试数据13

6.1调试程序所用数据13 6.2程序的调试结果 七、总结 一、设计目的 随着现代社会生活节奏的加快,人们外出旅行以寻求放松的时间越来越多。考虑到游客不可能对所有景点都有所了解,因此可能无法找到游玩景点最省时,最高效的路径,而人工导游成本又过高,故使用C语言,基于《数据结构》中图的相关算法开发了“南昌师范学院导游系统”。开发本系统目的在于为来访我校的游客提供一条最短游览路径,本系统从实际出发,通过对校园平面图的分析,将其转化为数据并保存在系统中,因此系统提供的路径具有较大的可信性。 二、问题描述 设计校园导游程序,为来访的客人提供服务,为来访我校的游客提供一条在游客当前位置到目的地的最短游览路径,找到游玩景点最

省时,最高效的路径。 三、基本要求 1.假设有一所校园的平面图,所含景点不小于10个,请选择适当 的坐标来表示出该图上的各个景点。 2.为来访的客人提供从当前位置到其他景点的最短路径的咨询; 3.必须具有校园平面图的修改和扩充功能(即某些景点坐标的修改 和景点个数的增加)。 四、概要设计 算法思路 本设计的重难点在于问题二的解决。利用了弗洛伊德算法函数设计Floyd() 本算法在设计时参考了《数据结构C语言版》一书中有关Floyd算法的介绍,同时借鉴了如今网上流行的设计方式。之所以选择本算法来实现计算最短路径,原因在于本算法容易理解,可以算出任意两个节点之间的最短距离,代码编写简单。 但是,本算法缺点在于时间复杂度过高,不适合用于计算大量数据。Floyd算法首先将两景点间路径长度数据存储于数组D[v][w]中,而后使用一个三维数组用于存放最短路径所经过的顶点,接下来使用三重循环判断两景点之间直接路径是否大于间接路径,若大于,则将三维数组中存放的顶点信息更改为简介路径所经过的顶点信息。以上部分完成后,当用于标记输入数据是否合法的

高校工资管理系统1

《软件开发方法》作业 高校工资管理系统 学院:信息工程学院 班级:计科0601 学号:061106128 姓名:王银玉

目录 1、背景材料-----------------------------------------------------3 1.1、编写目的----------------------------------------------3 1.2、背景--------------------------------------------------3 2、问题描述-----------------------------------------------------3 3、功能定义-----------------------------------------------------4 3.1、功能描述----------------------------------------------4 3.2、系统目标----------------------------------------------4 3.3、对软件功能的结论--------------------------------------4 4、测试环境-----------------------------------------------------5 5、用例图-------------------------------------------------------5 6、类图---------------------------------------------------------7 7、合作图-------------------------------------------------------8 8、时序图-------------------------------------------------------9 9、具体实现-----------------------------------------------------10 9.1、功能分析------------------------------------------------10 9.2、流程分析-------------------------------------------------10 9.3、常量定义-------------------------------------------------11 9.4、源代码--------------------------------------------------11

数据结构课程设计-校园导航

数据结构课程设计-校 园导航 -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN

课程设计报告 课程名称数据结构课程设计题目校园导航 指导教师 设计起始日期 5.9~5.16 学院计算机学院 系别计算机科学与工程 学生姓名 班级/学号 成绩

一、需求分析 本次实验设计的任务是实现一个简易的北京信息科技大学的校园导航平面图。设计要包括下列要求: 设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。 本课题实现校园多个场所(至少10个)的最短路径求解。 (1)输入的形式和输入值的范围:本系统主要数据类型为字符型char及整形int,char型主要包括单位编号,单位名称,单位简介,功能编号;输入功能编号与单位编号进行操作。 (2 ) 输出的形式:输出则通过已有的信息数据,通过相关的操作输出相应信息。 (3) 程序所能达到的功能:本程序可供任何人使用,主要功能1.浏览各单位及简介;2.查看所有游览路线;3.选择出发点和目的地求出最佳路径;4.查看某一单位信息。 (4)测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。 a.首先看到的是校园导航系统的菜单: b.查看浏览路线等待输入起始景点: C.选择出发点与目的地等待输入起始景点与目的地编号: d.参看景点信息等待输入景点编号:

二、概要设计 本系统包含一个文件。设计分有菜单,显示信息,弗洛伊德算法,迪杰斯特拉算法,查找景点信息等程序段。主程序为整系统的入口处,菜单主要实现显示系统功能,显示信息主要实现显示景点信息,弗洛伊德算法主要实现求两景点之间最短路径,迪杰斯特拉算法实现求两景点之间最短路径,查找景点信息主要实现显示某一景点信息。 系统首先通过主程序调用void main( );进入系统主菜单函数,根据用户的选择可分别进入:1.浏览各景点及简介;2.查看所有游览路线;3.选择出发点和目的地求出最佳路径;4.查看景点信息;5.退出系统。 选择“浏览各景点及简介”项,显示十个景点的有关信息,包括景点编号,景点名称,景点简介。 选择“查看所有游览路线”项,会进入输入起始景点编号的界面,输入正确编号后会显示起始景点到其余九个景点的最短路线的方案。 选择“选择出发点和目的地”项,会进入输入起始景点与目的景点的界面,输入起始景 点与目的景点,并有空格隔开就得到两景点之间的最佳路径。 选择“查看景点信息”项,会进入输入要查看的景点的界面,如入后会显示该景点的有关信息。 选择“退出系统”项,就会退出程序。 三、详细设计 (1)十三个单位的图

校园导航系统

课程设计 课程名称软件工程 题目名称校园导航系统专业班级2012级网络工程应用学生姓名柴安康 学号 51202031022 指导教师储德锋 二○一五年六月一日

任务书 上机时间安排星期 周次 一二三四五 第14 周-第 17周 12网络工程 应用,1-2节 12网络工程应 用,3-4节 指导时间地点上机时间,计算机基础实验室(B521) 课程软件工程班级2012网络工程 应用 指导教师储德锋 题目校园导航系统完成时间2015年5月20日至2015年6月11日 主要内容要求完成以下功能: 1. 了解模型机的指令系统。 2. 设计模型机指令,掌握指令的执行过程。 3. 了解简单计算机内部各部件的连接,微程序控制器的设计。 4. 熟练掌握程序汇编机器码指令的含义及编写。 5. 能熟练区分直接寻址、间接寻址、寄存器寻址等各种寻址方式的不同。 设计报告要求1.封面:(格式附后) 2.课程设计任务书 3.课程设计报告: (1)需求分析 (2)功能设计 (3)程序代码设计 (4)程序设计总结 (5)心得体会和参考文献 说明:学生完成课程设计后,提交课程设计报告及软件,要求文字通畅、字迹工整(也可用以打印),文字不少于5000 字,并装订成册。 版面要求1.题目用黑体三号,段后距18磅(或1行),居中对齐;2.标题用黑体四号,段前、段后距6磅(或0.3行);3.正文用小四号宋体,行距为1.25倍行距; 4.标题按“一”、“㈠”、“1”、“⑴”顺序编号。

分工协作说明 课题名称学生姓名学号所做的工作 校园导航系统金海侠51202032014 总体分工 指令结构总体设计夏昭明51202031005 需求分析 实地考察 陈金锁51202031010 指令具体实现夏宇峰51202031015 部分程序代码设计柴安康51202031018 调试运行 杨辉51202031022 心得体会 格式调整 代码指令的共同调试

员工工资管理系统c语言编程

#include #include #include #include #define null 0 typedef struct Info1 { char num[10]; char name[10]; char depar[10]; char yfsalary[10]; char aband[10]; char tax[10]; char sfsalary[10]; struct Info1 *next; }Info2; typedef struct Info1 *Info; Info head; void display(); void find(); void modify(); void add(); void del(); void list(); void listOne(Info s); Info isExists(char *num); void init(); void init() { head=(Info)malloc(sizeof(Info2)); head->next=null; } void main() { init(); while(1) {

char c; display(); scanf("%c",&c); switch(c) { case '1':find();break; case '2':add();break; case '3':modify();break; case '4':del();break; case '5':list();break; case '6':printf("\t\t...退出系统!\n");return; default: printf("\t\t输入错误!请按任意键返回重新选择(1-7)\n");getchar(); } } } void display() { printf("\n\t** 欢迎使用员工信息管理系统 **\n\n"); printf("\t请选(1-7):\n"); printf("\t============================================\n"); printf("\t\t1.查询员工信息\n"); printf("\t\t2.录入员工信息\n"); printf("\t\t3.修改员工信息\n"); printf("\t\t4.删除员工信息\n"); printf("\t\t6.显示所有员工信息\n"); printf("\t\t7.退出系统\n"); printf("\t============================================\n"); printf("\t您的选择是: "); } void listOne(Info p) { printf("\n该员工信息记录如下: "); printf("\n==========================================================\n\n"); printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n","员工编号","姓名","部门","应付工资","保险","税金","实付工资"); printf("%-12s%-10s%-10s%-7s%-7s%-10s%-10s%\n",p->num,p->name,p->depar,p->yf salary,p->aband,p->tax,p->sfsalary); } Info isExists(char *num)

校园导游系统设计与实现

校园导游系统设计与实现

目录 1.设计要求 2.1需求分析 2.2概要设计 2.3各个模块名称和功能 2.4 系统导游主界面 2.4.1前台系统 2.4.2后台系统 2.4.3退出系统 3实验总结 参考文献 附件

1.设计要求 设计一个校园导游程序,为来访的客人提供各种信息查询服务。 2.1需求分析 ⑴设计学校的校园平面图。选取若干个有代表性的景点抽象成一个无向带权图(无向网),所含景点不少于30 个。以图中顶点表示校内各景点,边上的权值表示两景点之间的距离。 ⑵存放景点代号、名称、简介等信息供用户查询。 ⑶为来访客人提供图中任意景点相关信息的查询。 ⑷为来访客人提供图中任意景点之间的问路查询。 ⑸可以为校园平面图增加或删除景点或边,修改边上的权值等。 景点距离图 2.2概要设计

校园旅游模型是由景点和景点之间的路径组成的,所以这完全可以用数据结构中的图来模拟。用图的结点代表景点,用图的边代表景点之间的路径。所以首先应设计一个图类。结点值代表景点信息,边的权值代表景点间的距离。结点值及边的权值用顺序表存储,所以需要设计一个顺序表类。本系统需要查询景点信息和求一个景点到另一个景点的最短路径长度及路线,为方便操作,所以给每个景点一个代码,用结构体类型实现。计算路径长度和最短路线时可用迪杰斯特拉(Dijkastra)算法实现。最后用switch 选择语句选择执行浏览景点信息或查询最短路径。 1、主界面设计 为了实现校园导游系统各功能的管理,首先设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能,方便用户使用本系统。 2、存储结构设计 本系统采用图结构类型(mgraph)存储抽象校园图的信息。其中,各景点间的邻接关系用图邻接矩阵类型(adjmatrix)存储;景点(顶点)信息用结构数组(vexs)存储,其中每个数组元素是一个结构变量,包含景点编号、景点名称及景点介绍三个分量;图的顶点个数及边的条数由分量vexnum、arcnum 表示,它们是整型数据。 3、系统功能设计 本系统除了要完成图的初始化功能外还设置了9个子功能。图的初始化由initgraph()函数实现。依据读入的图的顶点个数和边的条数,分别初始化图结构中图的顶点数组和图的邻接矩阵。9个子功能的设计描述如下。 ⑴景点信息查询 景点信息查询由函数seeabout()实现。该功能根据用户输入的景点编号输出该景点的相关信息。如景点编号、名称等。 ⑵学校景点介绍 学校景点介绍由函数browsecampus()实现。当用户选择该功能,系统即能输出学校全部景点的信息:包括景点编号、景点名称及景点介绍。 ⑶相邻的景点及其距离 为使游客能够知道其周围的景点和路径,方便他们迅速知道其所在位置和周围信息 ⑷查看浏览线路 查看浏览线路由函数shortestpath_dij()实现。该功能采用迪杰斯特拉(Dijkstra)算法实现。当用户选择该功能,系统能根据用户输入的起始景点编号,求出从该景点到其他景点的最短路径线路及距离。当用户选择该功能,系统能根据用户输入的起始景点及目的景点编号,查询任意两个景点之间的最短路径线路及距离。 ⑸更改图信息 修改一个已有景点的相关信息、删除一个景点及其相关信息、删除一条路径、加一条路径、修改路径长度、添加一个景点 ⑹数据安全防范 设置密码,能保证数据不会被随便更改,由pass()判定密码是否正确,可由changepw()函数修改密码,初始密码为gdufsx ⑺写入文件并保存修改 打开该软件,若没有graph.txt,则会由系统初始化生成一个graph.txt,若已存在该文档会由该文档中的内容初始化系统。 ⑻恢复初始状态 若数据已经显得很杂乱并很难修理,就可以启用这个功能

C++课程设计高校职工工资管理系统

课程设计报告 课程名称面向对象程序设计 课题名称高校工资管理系统 专业通信工程 班级1302 学号201303020222 姓名王树材 指导教师乔汇东胡瑛 2015年1月3日

湖南工程学院 课程设计任务书 课程名称面向对象程序设计 课题高校工资管理系统 专业班级通信1302 学生姓名王树材 学号201303020222 指导老师乔汇东、胡瑛、黄哲 审批 任务书下达日期2014年12月26日任务完成日期2015 年 1 月3日

一、设计内容与设计要求 1.课程设计目的: 面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。 2.课题题目 ⑴公司考勤管理系统 ⑵高校学籍管理系统 ⑶高校工资管理系统 ⑷高校人事管理系统 ⑸文件加密管理系统 3.设计要求: ⑴设计课题题目:第5个课题是扩展课题,有能力完成的同学可以选择。 其余每位同学根据自己学号除以4所得的余数加一选择相应题号的课题。换题 者不记成绩。 ⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系 统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。②完成 系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模块 图)。③完成系统详细设计:包括数据库需求分析;类层次图;界面设计与各 功能模块实现。④系统调试:调试出现的主要问题,编译语法错误及修改,重 点是运行逻辑问题修改和调整。⑤使用说明书及编程体会:说明如何使用你编 写的程序,详细列出每一步的操作步骤。⑥关键源程序(带注释) ⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。 ⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。二、进度安排

校园导航系统

题号:第七题 题目:校园导航问题 1,需求分析: 设计你的学校的平面图,至少包括10个以上的景点(场所),每两个景点间可以有不同的路,且路长也可能不同,找出从任意景点到达另一景点的最佳路径(最短路径)。 要求: (1)以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等有关信息。 (2)为来访客人提供图中任意景点相关信息的查询。 (3)为来访客人提供任意景点的问路查询,即查询任意两个景点之间的一条最短路径。 (4)修改景点信息。 实现提示: 一般情况下,校园的道路是双向通行的,可设计校园平面图是一个无向网。顶点和边均含有相关信息。 选做内容: (1)提供图的编辑功能:增、删景点;增、删道路;修改已有信息等。 (2)校园导游图的仿真界面。 2,设计: 2.1 设计思想: <1>,数据结构设计: (1)图。采用邻接矩阵存储,其中图所用到的结构体为: typedef struct

{ SeqList vertices; //表示图中的顶点 int Edge[MaxVertices][MaxVertices]; //表示图中的边 int numOfEdge; //表示图中边的数目}AdjMGraph; (2)景点。用顺序表存储。所用到的结构体为: typedef struct { char name[20]; //顶点名称 int code; //顶点代号 char introduction[50]; //顶点信息简介 }DataType; (3)景点之间的连接描述,所用到的结构体为: typedef struct { int row; int col; int weight; }RowColWeight; 用图来存放所提供的所有景点,然后用线性表来存放每一个景点的信息,其中包括景点的名称,代号,信息简介,以及其它的一些信息。这样就将对景点的操作,变成对图中各顶点的操作。 <2>,算法设计: 关于本课题的算法,很大部分来源于这学期数据结构课程的学习,其中包括:

校园导航系统源代码

数据结构-校园导航系统 简介:本系统采用C语言编写,运行环境为Dev-C++; 容以电子科技大学南校区为例; 主要功能有:1.查询景点信息;2.查询两景点间最短距离;3.查询两景点间所有路线;4.查询西电校园地图;5.修改景点和路径信息. 注意事项:在进行修改景点和路径信息操作前,请在可执行文件目录下用记事本创建”superUser.CODE”文件来存放用户名与密码(中间以空格隔开),否则无法进入.

源代码: #include #include #include #include #include #define Max 20000 typedef struct ArcCell { int adj; //两个景点间的距离 }ArcCell; typedef struct VertexType { int number; //景点编号 char sight[100]; //景点名称 char description[1000]; //景点简介

char particular1[1000]; char particular2[1000]; char particular3[1000]; //景点详情 }VertexType; typedef struct { VertexType vex[20]; //最多存放20个景点信息ArcCell arcs[20][20]; //两个景点间的距离 int vexnum,arcnum; }MGraph; MGraph G; char nameofschool[100]; //学校名称 int NUM=9; int P[20][20]; int p[20]; int visited[20]; int a=0; long int D[20]; int x[20]={0}; //函数声明 void CreateUDN(int v,int a); void narrate(); void ShortestPath(int num); void output(int sight1,int sight2); char Menu(); void search(); char SearchMenu(); void HaMiTonian(int); void Searchpath1(MGraph g); void disppath(MGraph g,int i,int j); void path(MGraph g,int i,int j,int k); void NextValue(int); void display(); int Addnewsight(int n); int Deletesight(int n); void Changesight(); char Changemenu(); char Sightmenu(); int Maintain(void); int VerificatianIdentity(void); void map();

校园导游系统

课程设计说明书 课程名称:数据结构与算法 设计题目:校园导游系统 院系:计算机科学与信息工程学院 学生姓名: 学号: 专业班级:计算机科学与技术信息技术方向11-1 指导教师: 2013年6月21日

课程设计任务书 校园导游系统

摘要: 随着社会经济的发展,人们接近自然的机会就越多,因此外出旅游现在被越来越多的都市人所看中,所以如何快速方便的找到我们想要的旅游景点的信息和最短路径,如何简单的修改相关的信息,就成了很重要的问题。 本设计基于图的结构,用数组表示法创建一个无向图,针对游客的实际需求,将安阳工学院的景点编号、名称、介绍等信息放入到图的顶点当中,将路径长度的信息存放在弧当中。利用弗洛伊德算法求出两个景点之间的最短路径,利用迪杰斯特拉算法来求从一个景点到其他剩余的所有景点的最短距离;用相应的函数来查找景点,并显示出它的编号,信息,简介。并进行一定的界面美化,更贴近用户,相应的提示使用户操作起来更容易。 关键词:最短路径、查找景点信息、无向图 目录

1. 设计背景 (3) 1.1程序设计内容 (4) 1.2程序设计要求 (4) 2.设计方案 (4) 2.1 校园景点图 (5) 2.2 程序模块图 (5) 2.3 主函数设计简要 (6) 2.4 各函数模块的功能 (6) 3. 方案实施 (7) 3.1 程序执行流程图 (7) 3.2 主函数设计思想 (7) 4. 结果测试 (9) 4.1 主函数功能模块测试 (9) 4.2 主函数功能测试 (9) 4.3 各功能所执行的操作 (12) 5. 结论 (12) 6. 收获与致谢 (13) 7. 参考文献 (14) 8. 附件 (14) 1. 设计背景

学校内部工资管理系统设计

学校内部工资管理系统设计说明书 2.1需求概述 本软件的主要服务对象是安徽工程科技学院的财务处和人事处,各系部。 各系部的主要任务是在每个月20日前各部门(包括系、部)要将出勤情况上报人事处(各系部在这里的主要任务是提供数据的输入); 而人事处将出勤工资、奖金及扣款清单送财务处(人事处在这里对各系部送来的数据进行分析处理,对应得出数据的处理结果; 财务处于每月月底将教职工的工资表做好并将数据送银行,每月初(3日前)将工资条发给各单位,(财务处在这里对数据起一个网关过滤的作用,主要起一个审批作用,负责接受成型的工资数据和审批然后向银行提交成型数据,最后打到发放工资的目的。 另外,人事变动的数据是由人事处接受并修改,最后同意传达给财务处和相关部门。 2.2软件结构 则根据需求分析和概要设计得出软件的功能结构模块图

2.3数据库设计 数据库表设计 职工基本信息表 主键字段名字段类型字段宽度能否为 空 工号char10否是姓名char8否 所属系别char20 职位char20 职工出缺勤信息表 主键字段名字段类型字段宽度能否为 空 工号char10否是

职工工资信息表 2.4 对应的数据字典与E-R图: 1静态数据:职工基本信息,职工出缺勤信息 .2动态数据 输入数据:职工基本信息,职工工资信息,出勤工资,奖金,扣款清单,职工出缺勤信息; 输出数据:职工基本信息,职工工资信息,职工标准工资信息,职工工资条,职工出缺勤报表 .3数据库介绍 职工基本信息数据库:包括职工的工号,姓名,所属系别,职位 职工出缺勤信息数据库:包括职工的工号,姓名,应出勤次数/月,实际出勤次数/月,缺勤次数,缺勤原因; 职工工资信息数据库:包括职工的工号,姓名,基本工资,原始奖金,缺勤金,实际工资; 则得DFD如下:

数据结构课程设计-校园导航

课程设计报告 课程名称数据结构课程设计题目校园导航 指导教师 设计起始日期 5.9~5.16 学院计算机学院 系别计算机科学与工程 学生姓名 班级/学号 成绩

一、需求分析 本次实验设计的任务是实现一个简易的北京信息科技大学的校园导航平面图。设计要包括下列要求: 设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路, 且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。 本课题实现校园多个场所(至少10个)的最短路径求解。 (1)输入的形式和输入值的范围:本系统主要数据类型为字符型char及整形int,char 型主要包括单位编号,单位名称,单位简介,功能编号;输入功能编号与单位编号进行操作。 (2 ) 输出的形式:输出则通过已有的信息数据,通过相关的操作输出相应信息。 (3) 程序所能达到的功能:本程序可供任何人使用,主要功能1.浏览各单位及简介; 2.查看所有游览路线; 3.选择出发点和目的地求出最佳路径; 4.查看某一单位信息。 (4)测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。 a.首先看到的是校园导航系统的菜单: b.查看浏览路线等待输入起始景点: C.选择出发点与目的地等待输入起始景点与目的地编号: d.参看景点信息等待输入景点编号: 二、概要设计 本系统包含一个文件。设计分有菜单,显示信息,弗洛伊德算法,迪杰斯特拉算法,查找景点信息等程序段。主程序为整系统的入口处,菜单主要实现显示系统功能,显示信息主要实现显示景点信息,弗洛伊德算法主要实现求两景点之间最短路径,迪杰斯特拉算法实现求两景点之间最短路径,查找景点信息主要实现显示某一景点信息。

校园导游系统程序__课程设计_报告

1、需求分析 设计一个校园导游系统程序,为来访的客人提供各种服务的信息查询。 (1).设计工商学院校园无向图,所含的景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。 (2).为来访客人提供图中任意景点相关信息的查询。 (3).为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。 2、设计思路 校园旅游模型是由景点和景点之间的路径组成的,所以这完全可以用数据结构中的图来模拟。用图的结点代表景点,用图的边代表景点之间的路径。所以首先应设计一个图类。结点值代表景点信息,边的权值代表景点间的距离。结点值及边的权值用顺序表存储,所以需要设计一个顺序表类。本系统需要查询景点信息和求一个景点到另一个景点的最短路径长度及路线,为方便操作,所以给每个景点一个代码,用结构体类型实现。计算路径长度和最短路线时可用弗洛伊德(Floyd)算法实现。最后用switch选择语句选择执行浏览景点信息或查询最短路径。 3 算法设计 3.1 概要设计 3.1.1 程序中包含的模块 (1)主程序模块 主函数:void main(void) void cmd(void) cmd修改显示框大小,字体背景颜色,初始化景点,景点信息 打印菜单, MGraph InitGraph(void); //初始化图。 MGraph * CreatUDN(MGraph *G);//初始化图形接受用户输入 void Menu(void);//菜单函数 void Browser(MGraph *G);//浏览函数 void ShortestPath_DIJ(MGraph *G); void Floyd(MGraph *G);//查询图中任意两个景点间的所有路径 void Search(MGraph *G);//查找函数 int LocateVex(MGraph *G,char*v); // 迪杰斯特拉算法计算起点各顶点间短

高校工资管理系统设计源代码

#include #include #include using namespace std; class person //基类 { public: bool mark; //存在标记 char name[20]; //职工姓名 int num; //职工编号 double basePay; //基本工资 person(bool m,char nm[],int n,double b):mark(m),num(n),basePay(b){strcpy(name,nm);} }; class teacher:virtual public person //教师类 { public: double classPay; //课时费 teacher(bool m,char nm[],int n,double b,double c):person(m,nm,n,b),classPay(c){} void show() { cout<

《校园导航系统》课程设计报告

《校园导航系统》课程设计报告 姓名: 学号: 班级:网络 专业:网络工程 指导教师: 时间:2

目录 摘要 (1) 1.题目 (1) 2.概要设计 (1) 3.调试分析 (15) 4.参考文献 (15)

1.题目 校园导航系统 设计一个校园导游程序,后台操作: 1、操作员信息管理如修改密码等 2、能根据学校的规模进行添加景点信息、修改景点信息等功能, 3、若临时有交通管制,能进行交通管制的设置和撤销(如某某时间段那条路进行那个方向的交通管制等) 前台为来访的客人提供各种信息查询服务: 1、设计学校的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名 称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。 2、为来访客人提供图中任意景点相关信息的查询。 3、提供途中任意景点问路查询,即求任意两个景点间的一条最短的简单路径。 1.1 需求分析 设计一个校园导航系统,导航系统又分为游客和管理员。要进行管理操作还是游客操作由用户自己选择 管理员的操作:修改景点信息、增加景点信息、交通管制等。 游客的操作:查看景点信息和查最短路径。 2.概要设计 景点的信息由一维数组存放,景点关系由二维数据来存放 景点的信息和关系从文件读取,进而初始化 typedef struct //保存单个景点信息的结构体 { char code[10]; //存放景点代码 char name[20]; //存放景点名称 char instruction[100]; //存放景点简介 }ViewPoint; typedef struct //存放景点关系的二维数组 { int edges[MAXV][MAXV]; //两景点间的距离 int number; //景点的数量 ViewPoint V[MAXV]; //保存景点信息的结构体数组 }MGraph;

C语言课设职工工资管理系统

C语言课设职工工资管 理系统 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

一引言 C语言是CombinedLanguage(组合语言)的中英混合简称。是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。设计一个程序的过程就是解决一个实际问题的过程,从解决实际问题的角度,我们可以这样来看:首先要了解这个问题的基本要求,即输入、输出、完成从输入到输出的要求是什么;在次我们必须捋清思路,逐一的解决问题的各个方面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,可确定所需的变量、数组、函数、结构体和文件等,然后确定处理过程。 本课题中主要应用了C语言中的数组、结构体、文件等关键技术。在C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型;结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构,在结构体中的变量,可以是相同、部分相同,或完全不同的数据类型,结构体只能描述一个对象的状态,不能描述一个对象的行为。文件是一种组织外部存储介质上的数据的数据类型。它具有两个特征:一是对一个数据集合可以用一个名字命名;二是保存在外部存储介质上,可以长期保存。 通过此次课设可以锻炼学生理论联系实际能力,提高学生适应实际、实践编程的能力,使对C语言系统编程有一个大致的了解,并达到如下目的:1.熟悉C语言程序的编辑、编译链接和运行的过程。2.熟练运用if语句和switch语句以及嵌套应用。3.学习并掌握C语言定义函数的基本方法、声明函数及调用函数的方法和过程。4.掌握文件的概念以及文件的定义方法,认识文件打开、关闭、读、写等文件基本操作函数。5.掌握结构体类型变量、数组的定义和使用。6.掌握数组的定义、引用以及输入输出的方法、通过字符数组存储字符串,进一步使用字符串。

[精选]校园导游系统实训报告资料

导游咨询系统 1 需求分析编制一个为来访客人进行最短路径导游的程序 (1) 从学校的平面图上选取n 个有代表性的景点,根据用户指定的起点和终点输出相应路 径,或根据用户指定的景点输出景点的信息。 (2) .为来访客人提供图中任意景点相关信息的查询。 (3) .为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。 2、设计思路校园旅游模型是由景点和景点之间的路径组成的,所以这完全可以用数据结构中的图来模拟。用图的结点代表景点,用图的边代表景点之间的路径。所以首先应设计一个图类。 (草稿纸) 结点值代表景点信息,边的权值代表景点间的距离。 结点值及边的权值用顺序表存储,所以需要设计一个顺序表类。本系统需要查询景点信息和求一个景点到另一个景点的最短路径长度及路线,为方便操作,所以给每个景点一个代码,用结构体类型实现。计算路径长度和最短路线时可用弗洛伊德( Floyd )算法实现。最后用switch 选择语句选择执行浏览景点信息或查询最短路径。 3 算法设计 一、概要设计 程序中包含的模块 (1)主程序模块主函数:void main() (2)查询模块景点信息查询:void CreateUDN() (3)打印模块打印两个景点的路径及最短距离:void display() 模块间的调用关系 主函数main()调用:void CreateUDN() void ShortestPath()/* 要查找的两景点的最短距离*/ void NextValue() void HaMiTonian() void display() /* 打印两个景点的路径及最短距离*/ 3.2 详细设计界面菜单设计:char Menu() { char c; int flag; do{ flag=1;

相关文档
最新文档