next up previous
Seguinte: pcv.h Acima: Códigos-fonte: Solução por força Anterior: makefile

main.c


001   #include <stdio.h>
002   #include <stdlib.h>
003   #include "inout.h"
004   #include "fbruta.h"
005   
006   
007   // Corpo principal do programa
008   // Lê o arquivo de entrada, chama a rotina de procura do melhor caminho
009   // e imprime os resultados no dispositivo padrão de saída
010   int main(int argc, char *argv[])
011   {
012       TPcvData PcvData;
013       char *szFName = NULL;
014   
015       // Inicializa o número de vértices como -1 (desconhecido)
016       PcvData.nNumVertices = -1;
017   
018       // Lê parâmetros de linha de comando
019       if (argc >= 2) {
020           // Primeiro parâmetro: Nome do arquivo de entrada
021           szFName = argv[1];
022           // Segundo parâmetro: Número de vértices
023           // (se não for citado, o programa descobre)
024           if (argc >= 3) PcvData.nNumVertices = atoi(argv[2]);
025       } else {
026           // É preciso citar pelo menos o nome do arquivo de entrada
027           printf("*** Arquivo de entrada nao especificado\n");
028           return 1;
029       }
030   
031       // Tenta ler os dados do arquivo de entrada
032       if (!readPcvFile(szFName, &PcvData)) {
033           // Se não conseguir, interrompe o programa
034           printf("*** Erro ao ler arquivo de entrada: %s\n", szFName);
035           return 1;
036       }
037   
038       // Procura o melhor caminho para o Caixeiro Viajante
039       procCaminhoFBruta(&PcvData);
040   
041       // Imprime o caminho descoberto
042       writeOutput(&PcvData);
043   
044       return 0;
045   }


next up previous
Seguinte: pcv.h Acima: Códigos-fonte: Solução por força Anterior: makefile
VilarNt 2003-06-20