资源简介
数据结构课程设计 吉大中心校区导游系统
此程序是为学校数据结构课程设计而做的。
运行方法:
可通过打开校园导游系统.exe或校园导游系统.hta(不明白hta是什么的可以自行百度,虽然本人也是第一次使用)进入登陆界面。之后登陆界面会调用相应exe文件(校园导游系统admin.exe和校园导游系统user.exe)打开程序。
管理员模式密码为 1234(密码在登录界面程序中定义,无法更改。这一点是因为时间紧张,没有来得及添加密码功能。)
游客模式只有打开文件、查询景点、查询路径、显示、退出几个选项。
管理员模式有以上功能,还可添加景点、删除景点、修改景点、添加边、删除边。
程序运行过程中按照提示操作即可。
程序进入时默认打开map.txt和map.jpg,要打开其他文件请使用打开功能(文件有一定格式,请参看map.txt和map0.txt,要求先声明最大权值,然后声明景点数目,然后声明每一个景点的名称、简介、代号、X坐标、Y坐标,然后声明边的数目,然后声明每一条边的起点和终点的代号)。
数据结构.doc是数据结构课程设计课程的要求。程序设计就是按照这个要求进行的。
《数据结构》课程设计报告.doc是所提交的设计报告,但是仅有界面部分,里面有详细的代码说明。
login.jpg是登陆界面的背景图片。
三个文件夹中是源代码。分别对应于三个exe文件。
程序是采用绘图库编写(因为对于MFC是初自学,不甚会用)。所以如果要编译源代码,请先安装easyX图形库(对于该图形库,可自行百度,此处提供版本可能不是最新,请去easyX官网下载。)。
源代码全用VC6.0编译运行。VS2013应该会报错。codeblocks则不支持该图形库所以不能运行(或许应该说图形库不支持codeblocks?)。
若要学习图形库,可以使用压缩文件中的帮助文件,很有帮助的。但是图形库做应用程序仅限于初学者,如果要做应用程序,最好使用MFC。
程序使用邻接表存储图,使用迪杰斯特拉算法计算最短路径。使用绘图库绘制界面。
更多内容,请自己发掘。请看源代码。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include “Stack.h“
#include “functions.h“
#include “Graph_List.h“
#define WIDTH (1000+(LEFTBORDER*2))
#define HEIGHT (574+TOPBORDER+LEFTBORDER)
#define UP 72
#define DOWN 80
#define LEFT 75
#define RIGHT 77
#define BACKGROUND “background.jpg“
#define BKCOLOR RGB(240240240) //原RGB(240240240)
#define SELECTCOLOR RGB(25500) //原RED
#define TEXTCOLOR RGB(7102198)//GREEN// //原BLUE
#define MENUCOLOR RGB(208161227)//RGB(77197131)//RGB(112112112)//RGB(11775144)//RGB(7102198) //原GREEN
#define CheckCancel if(iscancel){return -1;}
using namespace std;
Graph_List graph;
int choose;
int menunum = 11;
int menutop1 = 10;
int menutop = (menutop1 + 3);
#define left (LEFTBORDER)
int menuwidth = ((WIDTH - 2 * LEFTBORDER) / (menunum ));
int menuheight = 30;
int GetChoose();
int FrontMenu(Graph_List &graph );
int ShowAllVertex(Graph_List &graph);
int ShowAllPath(Graph_List &graph);
int printroad(int dx int dy int sx int sy) {
LINEstyle linestyle;
getlinestyle(&linestyle);
setlinestyle(PS_SOLID3NULL0);
setlinecolor(BLUE);
line(sxsydxdy);
setlinestyle(&linestyle);
double x1 = (sx + dx) / 2;
double y1 = (sy + dy) / 2;
double x2 = ((3.0 / 8.0) * sx + (5.0 / 8.0) * dx);
double y2 = ((3.0 / 8.0) * sy + (5.0 / 8.0) * dy);
//double x1=sxx2=(sx+dx)/2y1=syy2=(sy+dy)/2;
double k1 = (y2 - y1) / (x2 - x1);
double k2 = (-1) / k1;
double delta = 1600; //=(y2-y1)*(y2-y1)+(x2-x1)*(x2-x1);
double a = sqrt((delta / 16) / (1 + k2 * k2));
double b = a * fabs(k2);
if(((x1 > x2) && (y1 < y2)) || ((x1 < x2) && (y1 > y2))) {
} else {
b = -1 * b;
}
if(x1 == x2) {
a = 5;
b = 0;
}
if(y1 == y2) {
a = 0;
b = 3;
}
POINT pts[] = { {x1 y1} {x2 + a y2 + b} {(x1 + x2) / 2 (y1 + y2) / 2} };
POINT pts1[] = { {x1 y1} {x2 * 2 - (x2 + a) y2 * 2 - (y2 + b)} {(x1 + x2) / 2 (y1 + y2) / 2} };
setfillcolor(BLUE);
solidpolygon(pts1 3);
solidpolygon(pts 3);
return 0;
}
int GetMouseXY(int& mousexint& mousey) {
MOUSEMSG temp;
temp.mkLButton = false;
bool kick = false;
while(!kick) {
if(MouseHit()) {
temp = GetMouseMsg();
FlushMouseMsgBuffer();
if(temp.mkLButton == false) {
mousex = temp.x;
mousey = temp.y;
}
else {
kick = temp.mkLButton ;
}
}
}
return 0;
}
int AddVertex(Graph_List &graph) {
LOGFONT font;
gettextstyle(&font);
settextstyle(10 0 _T(“宋体“));
BeginBatchDraw();
setlinecolor(GREEN);
for(int lx = LEFTBORDER; lx <= WIDTH; lx += 50) {
//outtextxy(lx TOPBORDER -
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
I.A.... 922 2014-12-24 23:08 admin\functions.h
I.A.... 12368 2014-12-24 23:09 admin\Graph_List.h
I.A.... 81199 2014-12-14 18:12 admin\map.jpg
I.A.... 4717 2014-12-23 22:06 admin\map.txt
I.A.... 1587 2014-12-24 12:54 admin\Stack.h
I.A.... 23377 2014-12-25 22:20 admin\校园导游系统.cpp
I.A.... 672056 2014-12-24 13:12 MFC登录\MFC导游系统\MFC导游系统.APS
I.A.... 831 2014-12-24 23:36 MFC登录\MFC导游系统\MFC导游系统.clw
I.A.... 2045 2014-12-23 09:51 MFC登录\MFC导游系统\MFC导游系统.cpp
I.A.... 4225 2014-12-23 23:33 MFC登录\MFC导游系统\MFC导游系统.dsp
I.A.... 547 2014-12-23 09:51 MFC登录\MFC导游系统\MFC导游系统.dsw
I.A.... 1315 2014-12-23 09:51 MFC登录\MFC导游系统\MFC导游系统.h
I.A.... 58368 2014-12-24 23:39 MFC登录\MFC导游系统\MFC导游系统.ncb
I.A.... 48640 2014-12-24 23:39 MFC登录\MFC导游系统\MFC导游系统.opt
I.A.... 559 2014-12-24 23:35 MFC登录\MFC导游系统\MFC导游系统.plg
I.A.... 5028 2014-12-24 13:12 MFC登录\MFC导游系统\MFC导游系统.rc
I.A.... 4393 2014-12-24 08:26 MFC登录\MFC导游系统\MFC导游系统Dlg.cpp
I.A.... 1409 2014-12-23 23:28 MFC登录\MFC导游系统\MFC导游系统Dlg.h
I.A.... 3645 2014-12-23 09:51 MFC登录\MFC导游系统\ReadMe.txt
I.A.... 570054 2014-12-23 19:21 MFC登录\MFC导游系统\res\login.bmp
I.A.... 67646 2014-12-24 15:27 MFC登录\MFC导游系统\res\MFC导游系统.ico
I.A.... 403 2014-12-23 09:51 MFC登录\MFC导游系统\res\MFC导游系统.rc2
I.A.... 823 2014-12-24 00:06 MFC登录\MFC导游系统\resource.h
I.A.... 213 2014-12-23 09:51 MFC登录\MFC导游系统\StdAfx.cpp
I.A.... 1054 2014-12-23 09:51 MFC登录\MFC导游系统\StdAfx.h
I.A.... 922 2014-12-24 23:08 user\functions.h
I.A.... 12368 2014-12-24 23:09 user\Graph_List.h
I.A.... 81199 2014-12-14 18:12 user\map.jpg
I.A.... 4717 2014-12-23 22:06 user\map.txt
I.A.... 1587 2014-12-24 12:54 user\Stack.h
............此处省略27个文件信息
相关资源
- 数据结构C语言版第2版课后习题答案
- 数据结构教材严版高清
- 数据结构课程设计 职工管理系统 c语
- 数据结构用面向对象方法与c++语言描
- 数据结构与程序设计C++语言描述 Rob
- 数据结构(C++语言版)第三版_邓俊辉
- 田径运动会管理系统适合软件工程的
- 车辆管理系统课程设计C++)
- 图书馆管理系统+文档
- 数据结构(c语言版 严蔚敏著
- 《数据结构与算法C++版实验和课程设
- MFC简单扫雷,基于对话框实现
- C++图书管理系统代码及论文
- 用C++写的航空售票系统数据结构课设
- C语言课程设计 猜数字游戏 文档
- C语言课程设计 猜数字游戏
- OpenGL课程设计(c++)设计课程设计-三
- 学生选课系统课程设计报告及代码
- 数据结构与程序设计--C++描述影印版
- c++图书管理系统带课程设计论文
- 考勤管理系统 mfc C++课程设计(附数据
- 人事管理系统 mfc C++课程设计(附数据
- [数据结构(C语言版)].严蔚敏_吴伟民
- 编译原理 课程设计 DAG 报告+源码C++版
- MFC课程设计1.rar
- 数据结构课程设计vc6.o编译有MFC界面的
- c++课程设计旅行线路搜索及模拟
- 课程设计车票管理系统
- 哈尔滨工程大学数据结构ppt
- MFC图书管理系统课程设计
评论
共有 条评论