init.cpp

来自「次界面好用但是也可能有许多不足还希望有贤人志士指点迷津!」· C++ 代码 · 共 55 行

CPP
55
字号
#include"traffic.h"
status Inite(ALGraph &G)
{
  int i,v1,v2,j;
  ArcNode * p;
  Tooltype *f;
  FILE *fp;
  if(!(fp = fopen("traffic.txt","r")))
  return ERROR;
   fscanf(fp,"%d %d",&G.vexnum,&G.arcnum);
   for(i = 0;i < G.vexnum;++i)
    {
     fscanf(fp,"%s",&G.vertices[i].data);
     G.vertices[i].firstarc=NULL;
    }
   for(i = 0;i < G.arcnum;++ i)
    {
      fscanf(fp,"%d %d",&v1,&v2);
      if(!(p=(ArcNode *)malloc(sizeof(ArcNode))))
	 return ERROR;
	 
      fscanf(fp,"%d",&j);
      if(j > 0)
      {
       if(!(f=(Tooltype *)malloc(sizeof(Tooltype))))
       return OVERFLOW;
       f -> line = j;
       fscanf(fp,"%d",&f->money);
       fscanf(fp,"%d:%d",&f->drivetime.hour,&f->drivetime.minute);
       for(j = 0;j < f -> line;j++)
	 fscanf(fp,"%d:%d",&f->starttime[j].hour,&f -> starttime[j].minute);
       p -> Tool[0] = f;
      }
      else 
       p -> Tool[0] = NULL;
      
      fscanf(fp,"%d",&j);
      if(j > 0)
      {
       if(!(f = (Tooltype *)malloc(sizeof(Tooltype))))
       return OVERFLOW;
       f->line = j;
       fscanf(fp,"%d",&f -> money);
       fscanf(fp,"%d:%d",&f->drivetime.hour,&f->drivetime.minute);
       for(j = 0;j < f -> line;j++)
	   fscanf(fp,"%d:%d",&f -> starttime[j].hour,&f -> starttime[j].minute);
       p -> Tool[1] = f;
      }
      else p -> Tool[1] =NULL;
      p->adjvex = v2;
      p->nextarc = G.vertices[i].firstarc;
      G.vertices[i].firstarc = p;
    }
   return OK;
}

⌨️ 快捷键说明

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