Foros del Web » Programación para mayores de 30 ;) » C/C++ »

ayuda manejo de archivos y array

Estas en el tema de ayuda manejo de archivos y array en el foro de C/C++ en Foros del Web. Hola a todos, he tenido un problema que me esta volviendo loco, tengo que leer un archivo de texto, en la primer linea esta el ...
  #1 (permalink)  
Antiguo 02/07/2009, 18:57
 
Fecha de Ingreso: junio-2009
Mensajes: 14
Antigüedad: 14 años, 10 meses
Puntos: 1
ayuda manejo de archivos y array

Hola a todos, he tenido un problema que me esta volviendo loco, tengo que leer un archivo de texto, en la primer linea esta el numero de "gatos" (#) que deben estar en el archivo, necesito recorrer el archivo y guardar la informacion, yo hice un arreglo: gato[columna][linea][Ngato]

mi problema es que cuando quiero ver la información:
gato[0][1][1]
gato[1][1][1]
gato[2][1][1]
(o sea, de la primer linea del gato)
me muestra una informacion incorrecta.

Les dejo el codigo, estoy trabajando con devC++

#include "iostream"
#include "fstream"

using namespace std;


int transformar(int caso){
return 2;}


main(){
char cadena[5];
int cantidad;//guarda la cantidad de datos

ifstream fileGato("Gato.txt");
fileGato.getline(cadena,5);



//Armamos un numero decimal de gatos
cantidad=strlen(cadena);
switch(cantidad){
case 1: cantidad=transformar(1); break;
case 2: cantidad=transformar(2); break;
case 3: cantidad=transformar(3); break;
default: cout<<"";//Error: Linea 0 (!n)
}



int gato[2][2][cantidad];//columna,linea, Numero de gato
int columna, linea=0, $gato=0;
bool finGato=true;

while(!fileGato.eof()){
fileGato.getline(cadena,5);
cout<<endl<<"("<<cadena<<") ";


if(strlen(cadena)==3){

if(finGato){
$gato++;
finGato=false;
}

for(columna=0; columna<=2; columna++){
gato[columna][linea][$gato]=cadena[columna];
cout<<(char)gato[columna][linea][$gato]<<columna;
}

cout<<" "<<linea<<$gato;
linea++;
}//if

else{
linea=0;
finGato=true;}
}//while
cout<<endl<<endl;

cout<<(char)gato[0][1][1];
cout<<(char)gato[1][1][1];
cout<<(char)gato[2][1][1];

cout<<endl<<endl;
for($gato=1; $gato<=cantidad; $gato++){
for(linea=0; linea<=2; linea++){
cout<<endl;
for(columna=0; columna<=2; columna++){
cout<<(char)gato[columna][linea][$gato];
}
}
}
cout<<endl<<endl;
fileGato.close();
system("pause");
return 0;
}




este es el archivo Gato.txt

2
oox
#x#
xo#


xxo
oox
xoo
  #2 (permalink)  
Antiguo 03/07/2009, 10:19
 
Fecha de Ingreso: febrero-2004
Ubicación: Buenos Aires
Mensajes: 60
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: ayuda manejo de archivos y array

No entiendo las estructura del archivo en el que guardas los datos.
SI fuese algo así

file.txt<
3
1 2 3
3 2 3
>

Yo lo que haria es:

int var;
int var1,var2,var3;

ifstream in("file.txt");

in>>var

in>>var1; in>>var2; in>>var3;

Espero que te sirva
  #3 (permalink)  
Antiguo 04/07/2009, 15:27
Avatar de FTech  
Fecha de Ingreso: julio-2009
Mensajes: 88
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda manejo de archivos y array

Y hablando de estructuras ¿por qué no definir una?

struct Gato{
columna[];
linea[];
nombre[];
}Pet;
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:14.