小学期 校园导游系统 1.0

项目文件下载地址:

听说点赞后食用更好哦
链接: https://pan.baidu.com/s/1SGPpOBmKgTM3JX43R2HA1g?pwd=uvpy 提取码: uvpy

主界面代码

#include <iostream>
#include <string.h>
#include <windows.h>
#include "jiemian2.h"
using namespace std;



int main() {

	while(1)
	{
		system("cls");


		int a;
	printf("\n");
	printf("\n");
	printf("                  *********欢迎使用校园导游系统:*********\n");
	printf("       ________________________________________________________________\n");
	printf("       |---->                    请选择你的操作                  <----|\n");
	printf("       |---->1.进入校园导游系统                                  <----|\n");
	printf("       |---->2.退出系统                                          <----|\n");
	printf("       |______________________________________________________________|\n");
	printf("       请输入你的选项:");
	scanf("%d",&a);
	system("cls");
	if(a==1){
		run();
	}
	else if(a==2){
		return 0;
	}
	}



	return 0;
}

界面2代码:

#include"jiemian2.h"	
#include <iostream>
#include <string.h>
#include <windows.h>
#include "jiemian3.h"
#include "jiemian4.h"
#include "jiemian5.h"
#include "jiemian6.h"
using namespace std;


void run(){
		
		while(1)
		{	system("cls");
			int b,c;
		printf("\n");
		printf("\n");
		printf("                  *********欢迎使用校园导游系统:*********\n");
		printf("       ________________________________________________________________\n");
		printf("       |---->                    请选择你的操作                  <----|\n");
		printf("       |---->(1)校园地图总览                                   <----|\n");
		printf("       |---->(2)校内景点查询                                   <----|\n");
		printf("       |---->(3)最短路查询                                     <----|\n");
		printf("       |---->(4)制作成员                                       <----|\n");
		printf("       |---->(5)返回上界面                                     <----|\n");
		printf("       |______________________________________________________________|\n");
		printf("       请输入你的选项:");
		scanf("%d",&b);
		system("cls");
		if(b==1){
			running();
		}
		else if(b==2){
			running1();
		}
		else if(b==3){
			running2();
		}
		else if(b==4){
			running3();
		}
		else if(b==5){
			return ;
		}
	}
}

界面3代码

#include"jiemian3.h"	
#include <iostream>
#include <string.h>
#include <windows.h>
using namespace std;
void running(){

			
			while(1)
			{
			printf("                                       ******************************\n");
			printf("                                            欢迎来到西南石油大学      \n");
			printf("                                       ******************************\n");
			printf("\n");
		printf("   ______________________________________________________________________________________________________\n");
		printf("   | --------                           ----------------                     --------                   |\n");
		printf("   |  体育馆      <-------------         正大门(西大门)    -------------->  校医院                    |\n");
		printf("   | --------                           ----------------                     --------                   |\n");
		printf("   |    ||                                         ||                           ||                      |\n");
		printf("   |    ||                                         ||                           ||                      |\n");
		printf("   |    ||                                       -------                        ||                      |\n");
		printf("   |    ||                            ------->    石油魂                        ||                      |\n");
		printf("   |----------             ------     ||         -------                        ||                      |\n");
		printf("   | 生活区    ------>     情人岛     ||           ||                           ||          ------------|\n");
		printf("   |                       龙井湖   ---            ||                           ||------->   教职工区域 |\n");
		printf("   |----------             ------                  ||                           ||          ------------|\n");
		printf("   |    ||                   ||                    ||                           ||                      |\n");
		printf("   |    ||                 ------                  ||                           ||                      |\n");
		printf("   |    ||                 龙井苑                  ||                           ||                      |\n");
		printf("   |    ||                 ------                  ||                           ||                      |\n");
		printf("   |    ||                                         ||                           ||                      |\n");
		printf("   |    ||                                         ||                           ||                      |\n");
		printf("   |    ||                                                                      ||                      |\n");
		printf("   |    ||              -------                  --------                       ||                      |\n");
		printf("   |    ----------->    图书馆   ----------->     教学区     <-------------                             |\n");
		printf("   |                    -------                                                                         |\n");
		printf("   |                      ||                     --------                                               |\n");
		printf("   |                      ||                        ||                                                  |\n");
		printf("   |                      ||                        ||                                                  |\n");
		printf("   |                      ||                        ||                                                  |\n");
		printf("   |                      ||      -------           ||                                                  |\n");
		printf("   |                      ----->  健身房    <------ ||                                                  |\n");
		printf("   |                              -------                                                               |\n");
		printf("   |____________________________________________________________________________________________________|\n");
			printf("\t\t");
			printf(" 按任意键返回上界面 "); 
			
			
			
			system("pause");
			
			
			
				return;
			} 
			
		}
		

界面4代码:

#include"jiemian4.h"
#include <iostream>
#include <string.h>
#include <windows.h>
void running1(){

	while(1){
					system("cls");
				printf("\n");
			printf("\n");
			printf("                  *********欢迎使用校园导游系统:*********\n");
			printf("       ________________________________________________________________\n");
			printf("       |---->                    校内景点查询                    <----|\n");
			printf("       |---->(0)西大门                                         <----|\n");
			printf("       |---->(1)健身房                                         <----|\n");
			printf("       |---->(2)教学区                                         <----|\n");
			printf("       |---->(3)龙井湖                                         <----|\n");
			printf("       |---->(4)情人岛                                         <----|\n");
			printf("       |---->(5)生活区                                         <----|\n");
			printf("       |---->(6)石油魂                                         <----|\n");
			printf("       |---->(7)体育馆                                         <----|\n");
			printf("       |---->(8)图书馆                                         <----|\n");
			printf("       |---->(9)校医院                                         <----|\n");
			printf("       |---->(10)龙井苑                                        <----|\n");
			printf("       |---->(11)教职工区域                                    <----|\n");
			printf("       |---->(12)查看各景点间距离                              <----|\n");
			printf("       |---->(13)返回上一界面                                  <----|\n");
			printf("       |______________________________________________________________|\n");
			printf("       请输入你的选项:");
			int c;
			scanf("%d",&c);
			system("cls");
			if(c==3){
				
				
				
					
					
					FILE *fp;
				char buff[255];
				fp = fopen("C:/Users/朝俞/Desktop/校园导游系统/校内景点/龙井湖.txt", "r");
				while(fgets(buff, 255, (FILE*)fp))
					printf("%s\n", buff );
				fclose(fp);
				printf("\n\n");
				printf("按任意键返回上界面"); 
				printf("\n\n");
				
				
				
			
				
				
				
				
			}
			else if(c==1){
				FILE *fp;
				char buff[255];
				fp = fopen("C:/Users/朝俞/Desktop/校园导游系统/校内景点/健身房.txt", "r");
				while(fgets(buff, 255, (FILE*)fp))
					printf("%s\n", buff );
				fclose(fp);
				printf("\n\n");
				printf("按任意键返回上界面"); 
				printf("\n\n");
			}
			else if(c==2){
				FILE *fp;
				char buff[255];
				fp = fopen("C:/Users/朝俞/Desktop/校园导游系统/校内景点/教学区.txt", "r");
				while(fgets(buff, 255, (FILE*)fp))
					printf("%s\n", buff );
				fclose(fp);
				printf("\n\n");
				printf("按任意键返回上界面"); 
				printf("\n\n");
			}
			else if(c==4){
				FILE *fp;
				char buff[255];
				fp = fopen("C:/Users/朝俞/Desktop/校园导游系统/校内景点/情人岛.txt", "r");
				while(fgets(buff, 255, (FILE*)fp))
					printf("%s\n", buff );
				fclose(fp);
				printf("\n\n");
				printf("按任意键返回上界面"); 
				printf("\n\n");
			}
			else if(c==5){
				FILE *fp;
				char buff[255];
				fp = fopen("C:/Users/朝俞/Desktop/校园导游系统/校内景点/生活区.txt", "r");
				while(fgets(buff, 255, (FILE*)fp))
					printf("%s\n", buff );
				fclose(fp);
				printf("\n\n");
				printf("按任意键返回上界面"); 
				printf("\n\n");
			}
			else if(c==6){
				FILE *fp;
				char buff[255];
				fp = fopen("C:/Users/朝俞/Desktop/校园导游系统/校内景点/石油魂.txt", "r");
				while(fgets(buff, 255, (FILE*)fp))
					printf("%s\n", buff );
				fclose(fp);
				printf("\n\n");
				printf("按任意键返回上界面"); 
				printf("\n\n");
			}
			else if(c==7){
				FILE *fp;
				char buff[255];
				fp = fopen("C:/Users/朝俞/Desktop/校园导游系统/校内景点/体育馆.txt", "r");
				while(fgets(buff, 255, (FILE*)fp))
					printf("%s\n", buff );
				fclose(fp);
				printf("\n\n");
				printf("按任意键返回上界面"); 
				printf("\n\n");
			}
			else if(c==8){
				FILE *fp;
				char buff[255];
				fp = fopen("C:/Users/朝俞/Desktop/校园导游系统/校内景点/图书馆.txt", "r");
				while(fgets(buff, 255, (FILE*)fp))
					printf("%s\n", buff );
				fclose(fp);
				printf("\n\n");
				printf("按任意键返回上界面"); 
				printf("\n\n");
			}
			else if(c==9){
				FILE *fp;
				char buff[255];
				fp = fopen("C:/Users/朝俞/Desktop/校园导游系统/校内景点/校医院.txt", "r");
				while(fgets(buff, 255, (FILE*)fp))
					printf("%s\n", buff );
				fclose(fp);
				printf("\n\n");
				printf("按任意键返回上界面"); 
				printf("\n\n");
			}
			else if(c==10){
				FILE *fp;
				char buff[255];
				fp = fopen("C:/Users/朝俞/Desktop/校园导游系统/校内景点/龙井苑.txt", "r");
				while(fgets(buff, 255, (FILE*)fp))
					printf("%s\n", buff );
				fclose(fp);
				printf("\n\n");
				printf("按任意键返回上界面"); 
				printf("\n\n");
			}
			else if(c==11){
				FILE *fp;
				char buff[255];
				fp = fopen("C:/Users/朝俞/Desktop/校园导游系统/校内景点/教职工区域.txt", "r");
				while(fgets(buff, 255, (FILE*)fp))
					printf("%s\n", buff );
				fclose(fp);
				printf("\n\n");
				printf("按任意键返回上界面"); 
				printf("\n\n");
			}
			else if(c==12){
				FILE *fp;
				char buff[255];
				fp = fopen("C:/Users/朝俞/Desktop/校园导游系统/校内景点/各景点间距离.txt", "r");
				while(fgets(buff, 255, (FILE*)fp))
					printf("%s\n", buff );
				fclose(fp);
				printf("\n\n");
				printf("按任意键返回上界面"); 
				printf("\n\n");
			}
			else if(c==0){
				FILE *fp;
				char buff[255];
				fp = fopen("C:/Users/朝俞/Desktop/校园导游系统/校内景点/西门.txt", "r");
				while(fgets(buff, 255, (FILE*)fp))
					printf("%s\n", buff );
				fclose(fp);
				printf("\n\n");
				printf("按任意键返回上界面"); 
				printf("\n\n");
			}
			else{
				return;
			} 
			system("pause");
			} 
		}
		

界面5代码

#include"jiemian5.h"	
#include <iostream>
#include <string.h>
#include <windows.h>
using namespace std;

#define INF 0x3f3f3f3f

const int N=20;

int ditu[N][N]={0}; //定义地图,求最短路径 
int push[N][N]={0}; //定义push求最短路径应该经过的地点 




struct jingdian{
	int bianhao;
	char jingdian_name[10];
}jq[N];
void geshihua(){
	for(int i=0;i<=11;i++){
		jq[i].bianhao=i;
		if(i==1){
			strcpy(jq[i].jingdian_name,"健身房");
		}
		else if(i==2){
			strcpy(jq[i].jingdian_name,"教学区");
		}
		else if(i==3){
			strcpy(jq[i].jingdian_name,"龙井湖");
		}
		else if(i==4){
			strcpy(jq[i].jingdian_name,"情人岛");
		}
		else if(i==5){
			strcpy(jq[i].jingdian_name,"生活区");
		}
		else if(i==6){
			strcpy(jq[i].jingdian_name,"石油魂");
		}
		else if(i==7){
			strcpy(jq[i].jingdian_name,"体育馆");
		}
		else if(i==8){
			strcpy(jq[i].jingdian_name,"图书馆");
		}
		else if(i==9){
			strcpy(jq[i].jingdian_name,"校医院");
		}
		else if(i==10){
			strcpy(jq[i].jingdian_name,"龙井苑");
		}
		else if(i==11){
			strcpy(jq[i].jingdian_name,"教职工区域");
		}
		else if(i==0){
			strcpy(jq[i].jingdian_name,"西大门");
		}
	}
}
void geshi(){
	for(int i=0;i<=11;i++)
		for(int j=0;j<=11;j++){
		ditu[i][j]=INF;
		
	}
	ditu[0][7]=36;
	ditu[0][9]=42;
	ditu[9][2]=58;
	ditu[9][11]=124;
	ditu[0][6]=52;
	ditu[6][0]=52;
	ditu[6][2]=78;
	ditu[2][6]=78;
	ditu[7][5]=35;
	ditu[5][7]=35;
	ditu[5][4]=66;
	ditu[4][10]=68;
	ditu[10][4]=68;
	ditu[4][6]=65;
	ditu[5][8]=72;
	ditu[8][1]=55;
	ditu[8][2]=34;
	ditu[2][1]=53;
	ditu[3][4]=0;
	ditu[4][3]=0;
}
void floyd(){
	int i,j,k;
	for( i=0;i<=11;i++)
		for( j=0;j<=11;j++)
	{
		if(i!=j&&ditu[i][j]<INF){
			push[i][j]=i;
		}
		else
			push[i][j]=-1;
	}
	for(k=0;k<=11;k++)
		for(i=0;i<=11;i++)
			for(j=0;j<=11;j++){
		if(ditu[i][j]>ditu[i][k]+ditu[k][j]){
			ditu[i][j]=ditu[i][k]+ditu[k][j];
			push[i][j]=push[k][j];
		}
	}
}
void Path(int src,int des,int puth[N][N]){
	if(src==des){
		return;
	}
	else{
		int pass=puth[src][des];
		char dimi[10];
		Path(src,pass,puth);
		for(int i=0;i<=11;i++){
			if(jq[i].bianhao==pass){
				strcpy(dimi,jq[i].jingdian_name);
			}
		}
		printf("%s-->",dimi);
	}
}

void running2(){

	while(1){
			system("cls");
			
			geshihua();
			geshi();
			floyd();
			printf("提供查询方式:\n");
			printf("1.标号查询。\n");
			printf("2.地名查询。\n");
			printf("3.返回。\n"); 
			printf("请选择你的查询方式或返回上一界面:");
			int k;
			int a=-1,b=-1;
			scanf("%d",&k);
			system("cls");
			if(k==1){
				printf("\n");
					printf("                  *********欢迎使用校园导游系统:*********\n");
			printf("       ________________________________________________________________\n");
			printf("       |---->                    支持查询的地点                  <----|\n");
			printf("       |---->(0)西大门                                         <----|\n");
			printf("       |---->(1)健身房                                         <----|\n");
			printf("       |---->(2)教学区                                         <----|\n");
			printf("       |---->(3)龙井湖                                         <----|\n");
			printf("       |---->(4)情人岛                                         <----|\n");
			printf("       |---->(5)生活区                                         <----|\n");
			printf("       |---->(6)石油魂                                         <----|\n");
			printf("       |---->(7)体育馆                                         <----|\n");
			printf("       |---->(8)图书馆                                         <----|\n");
			printf("       |---->(9)校医院                                         <----|\n");
			printf("       |---->(10)龙井苑                                        <----|\n");
			printf("       |---->(11)教职工区域                                    <----|\n");
			printf("       |______________________________________________________________|\n");
				printf("输入你想查询的两个地点的编号:\n");
				scanf("%d%d",&a,&b);
				
			printf("\t\t\n");
			printf("%d地点到%d地点最短路径长度为: ",a,b);	
			printf("%d\n",ditu[a][b]);
			printf("%d地点到%d地点经过路程地点为: ",a,b);
			Path(a,b,push);
			printf("%s\n",jq[b].jingdian_name);
			
			printf("按任意键返回上一界面:\n\n"); 
		   system("pause");
			}
			else if(k==2){
							printf("                  *********欢迎使用校园导游系统:*********\n");
			printf("       ________________________________________________________________\n");
			printf("       |---->                    支持查询的地点                  <----|\n");
			printf("       |---->(0)西大门                                         <----|\n");
			printf("       |---->(1)健身房                                         <----|\n");
			printf("       |---->(2)教学区                                         <----|\n");
			printf("       |---->(3)龙井湖                                         <----|\n");
			printf("       |---->(4)情人岛                                         <----|\n");
			printf("       |---->(5)生活区                                         <----|\n");
			printf("       |---->(6)石油魂                                         <----|\n");
			printf("       |---->(7)体育馆                                         <----|\n");
			printf("       |---->(8)图书馆                                         <----|\n");
			printf("       |---->(9)校医院                                         <----|\n");
			printf("       |---->(10)龙井苑                                        <----|\n");
			printf("       |---->(11)教职工区域                                    <----|\n");
			printf("       |______________________________________________________________|\n");
				printf("输入你想查询的两个地点的地名:\n");
				char k1[10],k2[10],di[10];
				cin>>k1>>k2;
				for(int i=0;i<=11;i++){
					strcpy(di,jq[i].jingdian_name);
					if(strcmp(di,k1)==0){
						a=jq[i].bianhao;
						
					}
					if(strcmp(di,k2)==0){
						b=jq[i].bianhao;
						
					}
				}
			printf("\t\t\n");
			cout<<" "<<k1<<" ";
			printf("到");
			cout<<" "<<k2<<" ";
			printf("最短路径长度为: ");	
			printf("%d\n",ditu[a][b]);
			cout<<" "<<k1<<" ";
			printf("到");
			cout<<" "<<k2<<" ";
			printf("经过路程地点为: ");
			Path(a,b,push);
			printf("%s\n",jq[b].jingdian_name);
			printf("按任意键返回上一界面:\n\n"); 
			system("pause");
			}
			else{
				return ;
			}
			}
		}

界面6

代码为制作人信息,不宜透露,具体写跟前几界面一致

如何食用(如果有用希望点赞):

本代码使用了模块化处理,可以实现各个界面间的跳转,所以,首先随便打开一编译软件如:EDV。创建一个项目,添加主函数和各个界面函数为 .c 文件,在各个界面添加 .c 函数同时添加 .h 函数,在该函数内添加对应界面内的函数方法,实现各个源代码之间的调用,具体如图。
代码中含有文件读取的地址系我本人电脑中地址,如取需要更改成你们自己电脑中文件读取路径
在这里插入图片描述
在这里插入图片描述

部分运行效果演示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值