init.cpp

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

CPP
61
字号
#include"traffic.h"

status Inite(ALGraph &G)
/*Inite the ALGraph from the file*/
{
  int i,v1,v2,j;
  ArcNode * p;
  Tooltype *f;
  FILE *fp;
  if(!(fp = fopen("data","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;
	 p -> Tool[0] = NULL;
	 p -> Tool[1] = NULL;
	 
      fscanf(fp,"%d",&j);
      if(j > 0)
      {
       if(!(f=(Tooltype *)malloc(sizeof(Tooltype))))
       return OVERFLOW;
       f -> line = j;
       fscanf(fp,"%d:%d",&f->drivetime.hour,&f->drivetime.minute);
       fscanf(fp,"%d",&f->money);
       for(j = 0;j < f -> line;j++)
	   fscanf(fp,"%d:%d",&f->starttime[j].hour,&f -> starttime[j].minute);
       p -> Tool[0] = f;
      }

      fscanf(fp,"%d",&j);
      if(j > 0)
      {
       if(!(f = (Tooltype *)malloc(sizeof(Tooltype))))
       return OVERFLOW;
       f->line = j;       
       fscanf(fp,"%d:%d",&f->drivetime.hour,&f->drivetime.minute);
       fscanf(fp,"%d",&f -> money);
       for(j = 0;j < f -> line;j++)
	   fscanf(fp,"%d:%d",&f -> starttime[j].hour,&f -> starttime[j].minute);
       p -> Tool[1] = f;
      }
     if(p -> Tool[1]|| p->Tool[0])
     {
      p->adjvex = v2;
      p->nextarc = G.vertices[v1].firstarc;
      G.vertices[v1].firstarc = p;
     }
   }
   fclose(fp);
   return OK;
   }

⌨️ 快捷键说明

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