当前位置:首页 » 论文题目 » 校园导游系统开题报告
扩展阅读
中国网络原创新人乐团 2021-03-31 20:26:56
党政视频素材 2021-03-31 20:25:44
厦门大学统计学硕士 2021-03-31 20:25:36

校园导游系统开题报告

发布时间: 2021-03-20 16:57:29

① 校园导游系统 JAVA实现~~要有界面的~

已发··请查收··
楼上···他不是已经出了价了嘛··

② 校园导游系统

#include <stdio.h>
#include <string.h>
#define MAX 20
int mincost(int V[], int D[], int n);
int main()
{
int C[MAX][MAX];
int D[MAX], V[MAX] = { 0 }; /*数组V用来表示每次计算加入集合V的点,1为加入了,0为还没有加入*/
int n, i, j, k, w, sum;
printf("请输入景点个数:");
scanf("%d", &n);
printf("\n请输入建立后的临接矩阵(用n*n矩阵表示), 输入100000表示无穷大:\n");
for(i = 1; i <= n; i++)
{
for(j = 1; j <= n; j++)
{
scanf("%d", &C[i][j]);
}
}
V[1] = 1; /*1为源点*/
for(i = 1; i <= n; i++)
{
D[i] = C[1][i]; /*D置初值*/
}
for(i = 1; i <= n; i++)
{
/*从集合S(即没有经过计算的点)中选出一个点w(即V中值为0),使D[w]值最小*/
w = mincost(V, D, n);
V[w] = 1;
/*由于w的选定,S中的每个点(即V中值为0的点都要重新计算其到源点的最小值*/
for(k = 2; k <= n; k++)
{
if(V[k] == 0)
{
sum = D[w] + C[w][k];
if(sum < D[k])
{
D[k] = sum;
}
}
}
}
for(i = 2; i <= n; i++)
{
printf("D[%d] = %d\n", i, D[i]);
}
memset(V, 0, MAX * sizeof(int)); /*初始化*/
return 0;
}

int mincost(int V[], int D[], int n)
{
int temp = 10000000, i, w = 2;
for(i = 2;i <= n; i++)
{
if(V[i] == 0 && D[i] < temp)
{
temp = D[i];
w = i;
}
}
return w;
}

③ 数据结构 校园导游系统的设计与实现(用c++实现)

#include <iostream.h>
#include<string.h>
#include <stdlib.h>
#include <fstream.h>
typedef struct Infor
{
char name[10];
char infor[100];
}Infor;
typedef struct
{ //图的定义
Infor vexs [20] ; //顶点表,用一维向量即可
int arcs[50][50]; //邻接矩阵
int vexnum, arcnum; //顶点总数,弧(边)总数

}Mgraph;

typedef struct
{
char password[6];
char n_password[6];

}PassWord;//密码结构体定义

int LocateVex(Mgraph &G,char a[10])//
{
for(int i=0;i<G.vexnum;i++)
{
if(strcmp(G.vexs[i].name,a)==0)
{
return i;
}
}
cout<<"输入有误!"<<endl;
return -1;
}

//////////////////////以上是头文件

#include "net.h"
#include <conio.h>//密码功能所需要调用的头文件

void Creategraph(Mgraph &G,PassWord &pw) //构造无向网
{
ifstream inFile("graph.txt");
char v1[10],v2[10];
int i,j,k,w;
inFile>>G.vexnum>>G.arcnum;
for(i=0;i<G.vexnum;i++)
{
inFile>>G.vexs[i].name;
inFile>>G.vexs[i].infor;
}
for(i=0;i<50;i++)
{
for(int j=0;j<50;j++)
{
G.arcs[i][j]=10000;
}
}
for(k=0;k<G.arcnum;k++)
{
inFile>>v1>>v2>>w;
i=LocateVex(G,v1);
j=LocateVex(G,v2);
if(i==j)
{
G.arcs[i][j]=0;
}
else
{
G.arcs[i][j]=w;
G.arcs[j][i]=G.arcs[i][j];
}
}
for(int m=0;m<6;m++)
{
inFile>>pw.password[m];
}
}

/////////////////////////////前台调用的函数/////////////////////////////////////

void infor(Mgraph &G)
{
char a[10];
int b=1;
while(b)
{
for(int i=0;i<G.vexnum;i++)
{
cout<<G.vexs[i].name<<endl;
}
cout<<"请输入要查找的景点信息"<<endl;
cin>>a;
for(i=0;i<G.vexnum;i++)
{
if(strcmp(G.vexs[i].name,a)==0)
{
cout<<G.vexs[i].infor<<endl;
b=0;
}

}
if(b!=0)
{
cout<<"输入错误请重新输入!!"<<endl;
}
cout<<"返回前台系统按0,继续查找按1"<<endl;
cin>>b;
}
}

void ShortestPath (Mgraph G)//最短路径
{
char a[10],d[10];
int b=1,i,j,v,v0,w;
int Dist[100],S[100],Path[100];
int n=G.vexnum;
while(b)
{
for(i=0;i<G.vexnum;i++)
{
cout<<G.vexs[i].name<<endl;
}
for(i=0;i<100;i++)
{
Dist[i]=9999;
S[i]=0;
Path[i]=-1;
}
cout<<"请输入要查询路径的两个景点"<<endl;
cin>>a;
cin>>d;
v0=LocateVex(G,a);
j=LocateVex(G,d);
for(v=0;v<n;v++)
{
S[v]=0;
Dist[v]=G.arcs[v0][v];
if(Dist[v]<9999)
Path[v]=v0;//v1是v的前趋
else
Path[v]=-1;//v无前趋
}//
Dist[v0]=0;
S[v0]=1;
for(i=1;i<n;i++)
{
int min=9999;
for(w=0;w<n;w++)
if(!S[w]&&Dist[w]<min)
{
v=w;
min=Dist[w];
}//w顶点离v1顶点更近
S[v]=1;
for(w=0;w<n;w++)//更新当前最短路径及距离
if(!S[w]&&(Dist[v]+G.arcs[v][w]<Dist[w]))
{
Dist[w]=Dist[v]+G.arcs[v][w];
Path[w]=v;
}//end if
}//end for
cout<<"距离为:"<<endl;
cout<<Dist[j]<<endl;
cout<<"要经过"<<endl;
int f=Path[j],e[100];
i=0;
while(f!=-1)
{
e[i]=f;
f=Path[f];
i++;
}
for(v=i-1;v>=0;v--)
{
cout<<G.vexs[e[v]].name<<"---->";
}
cout<<G.vexs[j].name<<endl;
cout<<"返回后台系统按0,继续删除按1"<<endl;
cin>>b;
}
}

void reception(Mgraph &G)//前台
{

int n;
while(1)
{
system("cls");//清屏
cout<<"*********************欢迎使用前台系统************************"<<endl;
cout<<"(1)景点信息查询"<<endl;
cout<<"(2)问路查询"<<endl;
cout<<"(0)返回上一级菜单"<<endl;
cin>>n;
switch(n)
{
case 1:
infor(G);
break;
case 2:
ShortestPath (G);
break;
case 0:
return;
break;
default:
cout<<"您的输入有误,任意键继续..."<<endl;
getch();

}
}
}

////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////后台调用的函数///////////////////////////////////
void WriteTXT(Mgraph G,PassWord pw)//将更改后的信息写如graph.txt
{
int i,j;
ofstream outFile("graph.txt");
if(!outFile)
{
cerr<<"cannot open my.txt"<<endl;
exit(1);
}
outFile<<G.vexnum<<" "<<G.arcnum<<endl;
for(i=0;i<G.vexnum;i++)
{
outFile<<G.vexs[i].name<<" "<<G.vexs[i].infor<<endl;
}

for(i=0;i<G.vexnum;i++)
{
for(j=0;j<G.vexnum;j++)
{
if(G.arcs[i][j]!=10000)
{
outFile<<G.vexs[i].name<<" "<<G.vexs[j].name<<" "<<G.arcs[i][j]<<endl;
G.arcs[j][i]=10000;
}
}
}
Creategraph(G,pw);
}
void ChangeP(Mgraph &G,PassWord pw)//修改一个已有景点的相关信息
{
char a[10];
int b=1,i;
while(b)
{
for(i=0;i<G.vexnum;i++)
{
cout<<G.vexs[i].name<<endl;
}
cout<<"请输入要修改的景点的信息"<<endl;
cin>>a;
for(i=0;i<G.vexnum;i++)
{
if(strcmp(a,G.vexs[i].name)==0)
{
cout<<G.vexs[i].infor<<endl;
cout<<"请输入该景点的修改后的信息"<<endl;
cin>>G.vexs[i].infor;
cout<<"修改成功!!!!"<<endl;
b=0;
}
}
if(b!=0)
{
cout<<"error!输入有误!"<<endl;
}
cout<<"保存请按1,不保存请按2"<<endl;
int c;
cin>>c;
if(c==1)
{
WriteTXT(G,pw);
}
cout<<"返回后台系统按0,继续修改按1"<<endl;
cin>>b;
}
}
void deleteP(Mgraph &G,PassWord pw)//删除景点信息
{
char a[10];
int b=1,i,j,k;
while(b)
{
for(i=0;i<G.vexnum;i++)
{
cout<<G.vexs[i].name<<endl;
}
cout<<"请输入要删除的景点的信息"<<endl;
cin>>a;
for(i=0;i<G.vexnum;i++)
{
if(strcmp(a,G.vexs[i].name)==0)
{
for(j=i;j<G.vexnum-1;j++)
{
G.vexs[j]=G.vexs[j+1];
for(k=0;k<G.vexnum-1;k++)
G.arcs[k][j]=G.arcs[k][j+1];
}
for(j=i;j<G.vexnum-1;j++)
{
for(k=0;k<G.vexnum-1;k++)
G.arcs[j][k]=G.arcs[j+1][k];
}
G.vexnum--;
G.arcnum=0;
for(i=0;i<G.vexnum;i++)
{
for(j=0;j<G.vexnum;j++)
{
if(G.arcs[i][j]!=10000)
G.arcnum++;
}
}
G.arcnum=G.arcnum/2;
b=0;
cout<<"删除成功!!!!"<<endl;
}
}
if(b!=0)
{
cout<<"输入有误!请看清楚!"<<endl;
}
cout<<"是否要保存?保存按1,不保存按2"<<endl;
int c;
cin>>c;
if(c==1)
{
WriteTXT(G,pw);
}
cout<<"返回后台系统按0,继续删除按1"<<endl;
cin>>b;
}
}

void deleteL(Mgraph &G,PassWord pw)//删除路径
{
char a[10],d[10];
int b=1,i,j;
while(b)
{
for(i=0;i<G.vexnum;i++)
{
for(j=0;j<G.vexnum;j++)
{
if(G.arcs[i][j]!=10000)
{
cout<<G.vexs[i].name<<" "<<G.vexs[j].name<<" "<<G.arcs[i][j]<<endl;
}
}
}
cout<<"请输入要删除的路径连接的两个景点名"<<endl;
cin>>a;
cin>>d;
i=LocateVex(G,a);
j=LocateVex(G,d);
if(G.arcs[i][j]!=10000)
{
G.arcs[i][j]=10000;
G.arcs[j][i]=10000;
b=0;
cout<<"删除成功!!"<<endl;
G.arcnum--;
}
if(b!=0)
{
cout<<"输入有误!!"<<endl;
}
cout<<"保存请按1,不保存请按2"<<endl;
int c;
cin>>c;
if(c==1)
{
WriteTXT(G,pw);
}
cout<<"返回后台系统按0,继续删除按1"<<endl;
cin>>b;
}
}
///////////////////////////////////选作//////////////////////////

void Add(Mgraph &G,PassWord &pw)//增加景点
{

cout<<"请输入景点名称:"<<endl;
cin>>G.vexs[G.vexnum].name;
cout<<"请输入景点信息:"<<endl;
cin>>G.vexs[G.vexnum].infor;

for(int i=0;i<G.vexnum;i++)
G.arcs[G.vexnum][i]=10000;
for(i=0;i<G.vexnum;i++)
G.arcs[i][G.vexnum]=10000;

G.arcs[G.vexnum][G.vexnum]=0;

G.vexnum++;

cout<<"增加成功!"<<endl;
cout<<endl;
WriteTXT(G,pw);
system("pause");system("cls");
}

////////////////////////////////////////////////
bool password(PassWord &pw)//判断密码
{
char p[6];
cout<<"请输入6位密码:"<<endl;
for(int e=0;e<6;e++)
{
p[e]=getch();
cout<<"*";
cout.flush();
}
cout<<endl;
for(e=0;e<6;e++)
{

if(p[e]!=pw.password[e])return false;
}
cout<<endl;
return true;
}

void backstage(Mgraph &G,PassWord pw)//后台函数
{
int n;
while(1)
{
system("cls");
cout<<"*********************欢迎使用后台系统************************"<<endl;
cout<<"(1)修改一个已有景点的相关信息"<<endl;
cout<<"(2)删除一个景点及其相关信息"<<endl;
cout<<"(3)删除一条路径"<<endl;
cout<<"(4)增加景点"<<endl;
cout<<"(0)返回上一级菜单"<<endl;
cin>>n;
switch(n)
{
case 1:
ChangeP(G,pw);
break;
case 2:
deleteP(G,pw);
break;
case 3:
deleteL(G,pw);
break;
case 4:
Add(G,pw);
break;
case 0:
return;
break;
default:
cout<<"您的输入有误,任意键继续..."<<endl;
getch();

}
}
}

////////////////////////////////////////////////////////////////////////////////////////////////

void main()//主函数
{
Mgraph G;
PassWord pw;
Creategraph(G,pw);
int n,m=1;
while(m)
{
system("cls");
cout<<"*********************欢迎使用北林游览系统************************"<<endl;
cout<<"(1)前台服务(游客身份登陆)"<<endl;
cout<<"(2)后台服务(管理员身份登陆)"<<endl;
cout<<"(0)退出"<<endl;
cin>>n;
switch(n)
{
case 1:
reception(G);
break;
case 2:
if(password(pw)==true)
{
backstage(G,pw);//后台函数,并调用
}
else
cout<<"密码输入错误!!";
break;
case 0:
m=0;
break;
default:
cout<<"您的输入有误,任意键继续..."<<endl;
getch();
}
}
}

④ +100====c语言编写的简单校园导游系统=====>>跪求,正确答案

都忘光了呀

⑤ 校园导游系统

校园导游系统的建议:1.计算机毕业设计可不能马虎,最好还是自己动动脑筋,好好的写一写。 2.网上那种免费的毕业设计千万不能采用,要么是论文不完整,要么是程序运行不了,最重要的是到处都是,老师随时都可以知道你是在网上随便下载的一套3.如果没有时间写,可以在网上找找付费的,我们毕业的时候也是为这个头疼了很长时间,最后在网上找了很久,终于购买了一套毕业设计,还算不错,开题报告+论文+程序+答辩演示都有,主要的都是他们技术做好的成品,保证论文的完整和程序的独立运行,可以先看了作品满意以后再付款,而且同一学校不重复,不存在欺骗的性质,那个网站的名字我记的不是太清楚了,你可以在网络或者GOOGLE上搜索------七七论文网,希望您可以找到

⑥ C语言 高人求救!!!!关于校园导游系统的

改什么,连主函数都没有,而且怎么可能就这么点程序代码~~

⑦ 基于android的校园导游系统开题报告

要举一些导游语言艺术的实际例子 要写自己的看法