资源简介
数据结构课程设计----校园导游咨询系统
用无向网表示学校的校园景点平面图,图中顶点表示主要景点,
存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。能够回答有关景点介绍、寻找最短路径、用户留下对校园、显示校园平面图的评价、用户登录等问题。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
using namespace std;
const int maxv = 50;
const int inf = 1000000;
typedef struct{
int G[maxv][maxv];
int G1[maxv][maxv];
int vis[maxv];
int d[maxv];
int pre[maxv];
}Graph;
typedef struct LNode
{
char name[10];
char pass[10];
struct LNode *next;
} LNode*pNode;
//定义节点
int way[maxv] = {0};
int n = 20m;
int count1 = 0;
const int maxsize = 10000;
char mean[25][15] = {“““校门““教学楼““马克思楼““超市““宿舍(40)““餐厅““菜鸟驿站““礼堂““共享单车““图书馆““养心湖“\
“汽车站““宾馆““宿舍(20)““体育馆““医院““基础实验大楼““银行““公园““小吃街“};
pNode createList()
{
//此函数是为了构造一个链表,存储用户信息用的。
pNode pHead = (pNode)malloc(sizeof(LNode));
pHead->next=NULL;
//以读的方式打开user.txt文件
FILE *fp = fopen(“D:\\user.txt““r+“);
if(fp == NULL)
{
printf(“文件未找到“);
exit(-1);
}
//获取链表入口,也就是头结点
pNode cur = pHead;
while(1)
{
//从user.text循环读入所有数据并依次存于链表
pNode temp = (pNode)malloc(sizeof(LNode));
if(!temp)
exit(-1);
//下面fscanf是从文件读取信息,并存入节点的name变量和pass变量
//如果fscanf的返回值不是2,则说明后面没有数据了,也即是录入完毕
//检测到录入完毕后将分配的空间清除掉
if(2!=fscanf(fp“%s%s“temp->nametemp->pass))
{
free(temp);
break;
}
cur->next=temp;
cur = temp;
cur->next = NULL;
}
return pHead;
}
//登录函数
int login(pNode head)
{
if(NULL==head->next)
{
printf(“暂无用户\n“);
getchar();
return 0;
}
char name[10];
char pass[10];
printf(“\t\t请输入你的用户名:“);
scanf(“%s“name);
printf(“\t\t请输入你的密码:“);
scanf(“%s“pass);
pNode temp = head->next;
while(temp)
{
if(0==strcmp(temp->namename) && 0==strcmp(temp->passpass))
{
printf(“\t\t成功登录\n“);
getchar();
return 1;
}
temp = temp->next;
}
printf(“未找到该用户\n“);
getch();
return 1;
}
//写入txt文件,每一行存在一个用户
void writeToFile(pNode head)
{
FILE *fw = fopen(“D:\\user.txt““a+“);
pNode temp=head->next;
if(temp==NULL){
return;
}
while(temp){
fprintf(fwtemp->name);
fprintf(fw“\t“);
fprintf(fwtemp->pass);
fprintf(fw“\n“);
temp = temp->next;
}
}
//注册用户
void registerUser(pNode head)
{
pNode temp = head->next;
//当表中无用户直接在头结点后注册
if(!temp)
{
temp = (pNode)malloc(sizeof(LNode));
head->next = temp;
}
else
{
//表中有用户则在最后一个节点后生成新节点
while(temp->next)
{
temp = temp->next;
}
pNode last = (pNode)malloc(sizeof(LNode));
temp->next = last;
temp = last;
}
printf(“\t\t请输入你的用户名:“);
scanf(“%s“temp->name);
printf(“\t\t请输入你的密码:“);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 25811 2020-07-03 18:09 course_design.cpp
文件 962382 2020-07-04 10:20 校园导游咨询系统论文.doc
- 上一篇:基于OpenCV的分水岭算法实现
- 下一篇:主数据管理MDM解决方案
相关资源
- 数据结构第二版配套课件及答案
- 数据结构课设-模拟电梯
- 物业费管理系统源码超详细注释附文
- 数据结构算术表达式求值实验报告
- 数据结构课程设计 表达式类型的实现
- 长整数的代数计算 算法
- 数据结构与程序设计考研试题精选及
- 山东大学数据结构部分笔记.rar
- 数据结构 (STL框架)Part 1
- 数据结构 课程设计 中缀算术表达式求
- 数据结构课程设计----表达式类型的实
- 数据结构课程设计表达式类型的实现
- 资源管理器 中国地质大学数据结构
- 广工数据结构实验
- 数据结构图遍历的演示
- 数据结构课程设计——基于链表与哈
- 02331数据结构复习题及答案
- 数据结构停车管理系统
- 表达式求值问题 数据结构
- 数据结构与算法-AV阿霍 JE霍普克罗夫
- 杭电数据结构课设自选题
- 数据结构期末考试试卷
- “数据结构与算法”课程学习总
- 表达式求值 数据结构
- 外排序初始游程的生成
- 数据结构课程设计之电梯模拟
- 大话数据结构原书+源代码.zip164041
- 《程序员代码面试指南》(高清PDF版
- 耿国华 数据结构 课后答案
- (答案)上海理工大学848真题数据结
评论
共有 条评论