资源简介
数据结构课程设计,用哈弗曼函数实现,并保存在文件中,读取文件中信息,实现最短路径,最少花费的算法,有飞机和列车两种方式的查询
代码片段和文件信息
#define MAX_VERTEX_NUM 18
#define NULL 0
#define MAX_ARC_SIZE 100
#define MAX_ROUTE_NUM 5
#include“stdio.h“
#include“stdlib.h“
#include“string.h“
#define False 0
#define True 1
#define INFINITY 10000
typedef struct
{
int number;
float expenditure;
int begintime[2];
int arrivetime[2];
}Vehide;
typedef struct
{
Vehide stata[MAX_ROUTE_NUM];
int last;
}infolist;
typedef struct ArcNode
{
int adjvex;
struct ArcNode *nextarc;
infolist info;
}ArcNode;
typedef struct VNode
{
char cityname[10];
ArcNode *planefirstarc*trainfirstarc;
}VNodeAdjList[MAX_VERTEX_NUM];
typedef struct
{
AdjList vertices;
int vexnumplanearcnumtrainarcnum;
}ALGraph;
typedef struct Node
{
int adjvex;
int route;
struct Node *next;
}Node;
typedef struct QNode
{
int adjvex;
struct QNode *next;
}QNode;
typedef struct
{
QNode *front;
QNode *rear;
}linkQueue;
typedef struct TimeNode
{
int adjvex;
int route;
int begintime[2];
int arrivetime[2];
struct TimeNode *child[MAX_ROUTE_NUM];
}TimeNode*TimeTree;
struct arc
{
int co;
char vt[10];
char vh[10];
int bt[2];
int at[2];
float mo;
}a[MAX_ARC_SIZE];
char city[MAX_VERTEX_NUM][10];
int TTime[2];
int time[2];
int time1[2];
int time2[2];
int c[MAX_VERTEX_NUM];
int d[MAX_VERTEX_NUM];
createcityfile() /*创建城市名称文档*/
{int i=0;
int j;
char flag=‘y‘;
FILE *fp;
printf(“\n请输入城市名称的信息:\n“);
while(flag==‘y‘||flag==‘Y‘)
{printf(“城市名称:“);
gets(city[i]);
i++;
printf(“继续输入?(Y/N)“);
scanf(“%c“&flag);
getchar();
}
printf(“\n“);
if((fp=fopen(“city.txt““wb+“))==NULL)
{printf(“无法打开文件!\n“);
return;
}
for(j=0;j fprintf(fp“%10s“city[j]);
fclose(fp);
}
createplanefile() /*创建飞机航班文档*/
{int codebt[2]at[2];
float money;
int i;
int count;
char vt[10]vh[10]flag;
FILE *fp;
flag=‘y‘;
count=0;
while(flag==‘Y‘||flag==‘y‘)
{printf(“请输入飞机航班的信息:\n“);
printf(“飞机航班编号:“);
scanf(“%d“&code);
getchar();
printf(“起始城市:“);
gets(vt);
printf(“目的城市:“);
gets(vh);
printf(“航班费用:“);
scanf(“%f“&money);
getchar();
printf(“起飞时间:“);
scanf(“%d:%d“&bt[0]&bt[1]);
getchar();
while(bt[0]<0||bt[0]>=24||bt[1]<0||bt[1]>=60)
{printf(“\n时间输入有误,请重新输入\n“);
scanf(“%d:%d“&bt[0]&bt[1]);
getchar();
}
printf(“到达时间:“);
scanf(“%d:%d“&at[0]&at[1]);
getchar();
while(at[0]<0||at[0]>=24||at[1]<0||at[1]>=60)
{printf(“\n时间输入有误,请重新输入\n“);
scanf(“%d:%d“&at[0]&at[1]);
getchar();
}
a[count].co=code;
strcpy(a[count].vtvt);
strcpy(a[count].vhvh);
a[count].bt[0]=bt[0];
a[count].bt[1]=bt[1];
a[count].at[0]=at[0];
a[count].at[1]=at[1];
a[count].mo=money;
count++;
printf(“继续输入?(Y/N)“);
scanf(“%c“&flag);
getchar();
printf(“\n“);
}
if((fp=fopen(“plane.txt““wb+“))==NULL)
printf(“\n无法打开文件!\n“);
fprintf(fp“%d“count);
for(i=0;i if(fwrite(&a[i]sizeof(struct arc)1fp)!=1)
print
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2010-12-02 17:06 交通咨询系统\
文件 41210 2010-10-12 10:46 交通咨询系统\交通咨询系统.cpp
- 上一篇:网络端口扫描工具
- 下一篇:89c51电子数字钟 源码和电路图
相关资源
- 数据结构试题(哈工大期末考试)
- 基于DS18B20的多路温度监测系统设计
- 北京理工大学数据结构编程练习答案
- ACM_算法模板
- 最小生成树算法,用数据结构实现
- 武汉大学 薛超英《数据结构与算法》
- 基于Web图书推荐系统设计
- 北大MOOC课后题-数据结构-张铭
- 数据结构耿国华,高等教育出版社第
- 病人看病模拟程序队列的应用
- 数据结构及应用算法教程参考答案.
- 合肥工业大学数据结构试验六图
- 合肥工业大学数据结构试验五树和森
- 基于AT89C52单片机的智能交通灯系统设
- 数据结构课程设计--统计成绩
- 二叉树的构造与遍历
- 基于STC89C52RC的超声波测距系统设计
- 出版物输入输出系统设计与实现
- 单片机毕业设计。基于单片机的智能
- 三相异步电动机调压调速系统设计
- 汇编语言课程设计迷宫游戏
- 表面肌电信号前端处理电路与采集系
- 数据结构的渡口调度管理
- 数据结构与算法考试复习试题和答案
- 数据结构6种排序方法
- 数据结构课程设计纸牌游戏
- 电能表软件系统设计
- 数据结构 joseph环 含源代码
- 基于Web的旅游管理系统设计与实现文
- 数据结构课设报告之迷宫.docx
评论
共有 条评论