⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 init.h

📁 数据库课程设计 导航 其实就是Dijkstra算法的应用
💻 H
字号:
#include "iostream.h"
#include "string.h"
#include "LinkList.h"
#define  LENGTH 50 
#define  MAX 65000 

struct Unit
{ 
  char symbol; //代号
  char name[20];//名称
  char brief[50];//简介
};

int ** init( LHList<Unit *> &message,int &rowNumber)
{
	//////// 创建邻接矩阵 
	int length=0;// 和长度
	char row[LENGTH];	//存放文件中的一行的内容
	FILE *fp;   //文件操作
	fp=fopen("path.txt","r"); //打开文件
	while(!feof(fp))
	{
    	fscanf(fp,"%s",&row); 	 
	    length++;           //记录行数
	} 
	
	int **point=new int*[length]; //建立邻接矩阵  
	for(int i=0;i<length;i++)
	{
	 point[i]=new int[length];
	}  

	///// 存储所有的点
	fp=fopen("path.txt","r");//打开文件
	while(!feof(fp))
	{
	  int sum=0,m=0,k=0,s=1;//控制变量
	  fscanf(fp,"%s",&row); 
	  length=0;
      row[strlen(row)]='\0';
	  for(int j=0;j<(int)strlen(row);j++)
	  {
	      if(row[j]==',')
		  {
		    for(m=j-1;m>=k;m--)
			{
				if(row[m]=='-')
				{
				 sum=MAX;
				 break;
				}
				if(row[m]!=' ')
				{
			       sum=sum+(int)(row[m]-48)*s;
			       s=s*10;
				}
			}
			point[rowNumber][length]=sum;
			s=1;
			sum=0;
			k=j+1;
			length++;
		  }	
	  }	 
		  rowNumber++;
	}  
	fp=fopen("name.txt","r");
	while(!feof(fp))  //保存信息
	{
	  Unit *unit=new Unit; 	  
	  fscanf(fp,"%s",&(unit->symbol)); 
	  fscanf(fp,"%s",&(unit->name)); 
	  fscanf(fp,"%s",&(unit->brief)); 
	  message.appendNode(unit);
	}    
	return point;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -