Array
(
)

GRAFOS

Leojunio
   - 11 set 2008

Pessoal estou com a seguinte duvida. Estou com um método que imprimi em um Form, logo preciso que seja impresso em um arquivo como faço isto?

segue meu codigo abaixo.
/**
* Imprimir os vertices pendentes no Form1
**/

void TGrafo::VerticesPendentes() {
AnsiString Aux = ´´;
for( int x = 0; x < n; x++ ){
if ( RetornaGrau(x) == 1 ) {
Aux = Aux + AnsiString(RetornaNome(x).c_str()) + ´ ´;
}//fim if
}//fim for
Form1->Relatorio->Lines->Add(Aux);
}//fim VerticesPendentes

Criei um metodo no main q gera o arquivo, mas o metodo acima é void como inserir o resultado no arquivo?
Abaixo o main do meu programa

#include ´grafo.h´
include <iostream> //cin e cout (windows: iostream.h)
include <fstream> //fun &807;~es de arquivo (windows: fstream.h)

using namespace std;

//=====================================================================
// DEFINICOES DE CONSTANTES
//=====================================================================
#define endl ´\n´
define TAB_MENU ´\t\t\t\t\t\t´
define TAB ´\t´
define MAX_TAM 100


void gerarRelatorio(Grafo *g){

//cria e abre um arquivo para a escrita em modo texto
ofstream fout (´teste.txt´);

//escreve no arquivo
fout << ´\nNumero de Vertices: ´ << g->numeroVertice();

fout << ´\nNumero de Arestas: ´ << g->numeroAresta();

fout << ´\nNumero de Componetes: ´ << g->numeroComponente();

fout << ´\nO grafo é Regular? ´;
if (g->Regular()== 0){
fout << ´Não´ ;
}
else
fout << ´Sim´ ;

fout << ´\nO grafo é Nulo? ´ << g->Nulo();

fout << ´\nO grafo é Completo? ´ ;
if (g->Completo()== 0){
fout << ´Não´;
}
else
fout << ´Sim´;

fout << ´\nO grafo é Simples? ´;
if (g->Simples()== 0){
fout << ´Não´;
}
else
fout << ´Sim´;

fout << ´\nO grafo é Euleriano? ´;
if (g->Euleriano()== 0){
fout << ´Não´;
}
else
fout << ´Sim´;

fout << ´\nO grafo é Unicursal? ´;
if (g->Unicursal()== 0){
fout << ´Não´;
}
else{
fout << ´Sim´;
}

fout << ´\nO grafo possui condiçoes para ser Hamiltoniano? ´;
if (g->Hamiltoniano() == 0){
fout << ´Não´;
}
else{
fout << ´Sim´;
}

// fout << ´\nGrafo Complementar: ´ << g->Complementar();
//...

/*//fout << ´\nLISTA ADJ:´;
for(int i = 0; i < g->numeroVertice(); i++){
fout << ´\nVertice(´ << i << ´):´
//....

}*/

// fecha o arquivo
fout.close();

}


//=====================================================================
// FUNCAO PRINCIPAL
//=====================================================================
int main(int argc, char **argv){

Grafo *g = new Grafo;
char opcao;
FILE *arq;

//Validar o arquivo que contem o grafo
if(argc != 2){
cout << endl << ´ERRO: Sintaxe ./main <NOME_ARQUIVO_GRAFO>´ << endl << endl;
exit(1);

}else{

arq = fopen(argv[1],´r´);

if (arq == NULL){
cout << endl << ´ERRO: O arquivo ´ << argv[1] << ´ não existe.´ << endl << endl;
exit(1);
}

fclose(arq);
}

//Leitura do grafo
g->lerGrafo(argv[1]);

do{
clrscr();

cout << ´================================´ << endl;
cout << ´TP1 - GTC - PUC MINAS´ << endl;
cout << ´================================´ << endl;

cout << endl << endl << endl;

cout << TAB_MENU << ´(I)Imprimir Grafo´ << endl;
cout << TAB_MENU << ´(2)Relatorio´ << endl;
cout << TAB_MENU << ´(3)Grafo Complementar´ << endl;

// cout << TAB_MENU << ´(1)Verifica se Grafo é Complementar´ << endl;
cout << TAB_MENU << ´(S)Sair´ << endl;

opcao = toupper(getch());

clrscr();


cout << ´================================´ << endl;
cout << ´TP1 - GTC - PUC MINAS´ << endl;
cout << ´================================´ << endl;

cout << endl << endl << endl;


if(opcao == ´I´){
g->imprimir();
getch2();
}

if(opcao == ´2´){
gerarRelatorio(g);
getch2();

}

if(opcao == ´3´){
cout << ´\nGrafo Complementar: ´;
Grafo complementar = g->getComplementar();
complementar.imprimir();
getch2();
}

// if(opcao == ´1´){
// printf(´¬d´,g->Complementar());
//getch2();

// }

}while(opcao != ´S´);

clrscr();

return 0;
}//--------------------------------------------------------------------

se precisar mando a classe grafo.cc

to compilando no linux