資源簡介
數據結構課程設計 吉大中心校區導游系統
此程序是為學校數據結構課程設計而做的。
運行方法:
可通過打開校園導游系統.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)))?{
????}?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個文件信息
評論
共有 條評論