Usuario: anónimo

Usuarios en línea: 1
Invitados: 1

FAQ

Mensaje

4m
Re: Guardar cada línea en arrays independientes
U(LauraC) 2018-03-01 16:38:50  H Adjuntos: A 

Buenos días,

Gracias Steven, tenías razón no ejecutaba por esa letra extra🙈 . Aún así

no genera el resultado buscado

los datos que deseo almacenar son los que están debajo de "DATOS DE LOS

PEDIDOS", pero como ven, cuando busco el pedido número dos que contiene los

valores 3 3 1 1 2, etc. solo arroja un dos. Por otro lado a demás de

mostrar estos datos también necesitaré eventualmente tomar uno de ellos

para realizar operaciones aritméticas, por ello pensé mas sencillo verlo

desde un array bidimensional A[i][j] donde i es el número de pedido (#de

fila +1, porque esos datos empiezan en la segunda fila), pero para ello las

filas tendrían que tener una longitud igual (ya lo probé agregando ceros

manualmente y funciona).

Adjuntaré el archivo txt del que les hablo para facilitar las cosas.

Muchas gracias por su ayuda y su rápida respuesta.

Saludos.

El 1 de marzo de 2018, 11:22, Davidson, Steven <srd4121@njit.edu> escribió:

>  Hola Laura,

>

>  El mensaje de error es del enlazador, por lo que no es posible ejectuar el

>  programa. Lo más seguro es que hubo un mensaje del compilador anterior a

>  éste que es el error "de verdad". Mirando el código fuente, creo que el

>  problema es la línea:

>

>  scandf( "%i", &pedidoBuscado );

>

>  El nombre correcto de la función es 'scanf'.

>

>

>  Espero que esto te sirva.

>

>  Steven

>

>

>  2018-03-01 9:02 GMT-05:00 LAURA PATRICIA CARRANZA MURILLO <

> laura.carranza@unibague.edu.co> :

>

>>  Buenos días y muchas gracias por la respuesta!

>>

>>  Agregué al código la parte en azul, pero el programa ya no ejecuta y en

>>  cambio me arroja el siguiente error: "C:\Users\usuario\Desktop\coll

>>  ect2.exe [Error] ld returned 1 exit status" . No estoy segura si esto

>>  tiene que ver con el hecho de que las filas del txt no tienen la misma

>>  longitud, es decir mientras una linea contiene 4 datos, la siguiente

>>  almacena 14. Yo había hecho ya una prueba agregando 0 manualmente para

>>  completar las filas y darles igual tamaño y funcionó bastante bien, pero

>>  será muy engorroso al aplicar el programa en archivos de mayor contenido.

>>

>>  Si dado el caso debo agregar ceros para completar las líneas de menor

>>  tamaño, me podrías indicar de qué manera encontrar la línea de mayor tamaño

>>  y su longitud?.

>>

>>  Aquí dejo el código modificado.

>>

>>  #include <stdio.h>

>>

>>  int main()

>>  {

>>     int i;

>>     char nombre[10]="datos.dat", linea[81];

>>     FILE *fichero;

>>     fichero = fopen( "C:\\Prueba\\guia(1).txt","r");

>>    printf( "Fichero: %s ->  ", nombre );

>>     if( fichero )

>>        printf( "existe (ABIERTO)\n" );

>>

>>     else

>>     {

>>        printf( "Error (NO ABIERTO)\n" );

>>        return 1;

>>     }

>>

>>  printf( "La primera linea del fichero: %s\n\n", nombre );

>>      printf( "%s\n", fgets(linea, 81, fichero) );

>>

>>  printf( "DATOS DE LOS PEDIDOS \n\n");

>>  for (i = 0; i< 20; i++)

>>  {

>>  printf( "%s\n", fgets(linea, 81, fichero) );

>>  }

>>  fseek(fichero,0L,SEEK_CUR);

>>     char lineas[20][81];

>>

>>  for( i = 0; i< 20; i++ )

>>  {

>>    fgets( lineas[i], 81, fichero );

>>  }

>>  printf("que pedido busca? ");

>>  int pedidoBuscado;

>>  pedidoBuscado= i+1;

>>  scandf("%i",&pedidoBuscado);

>>  printf("el pedido uno contiene: %s", linea[pedidoBuscado]);

>>

>>     if( !fclose(fichero) )

>>        printf( "\nFichero cerrado\n" );

>>     else

>>     {

>>        printf( "\nError: fichero NO CERRADO\n" );

>>        return 1;

>>     }

>>

>>        return 0;

>>  }

>>

>>  Saludos!

>>

>>

>  _______________________________________________

>  Lista de correo Cconclase Cconclase@listas.conclase.net

>  http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net

>  Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ

>

--

*Ing. Laura Patricia Carranza Murillo*

*Joven Investigadora*

*Grupo GINNOVA*

*cel. 3178954468*

5 3 1.3

3 2 1 2 3 3 1 2 4 2 1 1 3 5

3 3 1 1 2 2 3 3 1 2 2 2 1 4 3 1

3 1 2 3 2 1 5 3 2 2 2 2 3 4

2 2 1 4 2 3 2 1 1 2 1

4 2 2 2 3 2 2 1 3 2 3 3 1 2 2 2 3 2 1 2 2_______________________________________________

Lista de correo Cconclase Cconclase@listas.conclase.net

http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net

Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ

Fichero adjunto: Captura.PNG