Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/02/2010, 18:46
Avatar de genuine_carlosV2
genuine_carlosV2
 
Fecha de Ingreso: noviembre-2008
Ubicación: 127.0.0.1
Mensajes: 296
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: ayuda para leer la entrada de una cadena en C++

Buenas,

Empieza por aquí (te he formateado el código, arreglado algunas cosas y puesto algunas otras. Estudia un poco más sobre C y sobre el código que te he pasado y poco a poco ves probando de hacer cosas. Por ejemplo, no puedes crear un array de chars llamado 'nom' y luego pedir el texto en una variable 'a' que no existe en tu código):
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void mostrarAlumno( FILE *f ) {
  5.  
  6.     int opc;
  7.     char info[ 100 ];
  8.  
  9.  
  10.     while(feof(f)==0){
  11.         fscanf( f, "%s", info );       
  12.         printf("%s",info);
  13.     }
  14. }
  15.  
  16. int main(){
  17.     char nom[20];
  18.     FILE *f;
  19.     printf("Buscar Alumno:");
  20.    
  21.     scanf( "%s", nom );
  22.  
  23.     f=fopen( nom,"r");
  24.     if( f != NULL ) {
  25.         mostrarAlumno( f );
  26.         fclose(f);
  27.     } else {
  28.         printf( "El alumno no existe!\n" );
  29.     }
  30.  
  31.     return 0;
  32. }

En el código que te envío, la idea es que te pongan lo que te pongan, se intente abrir el archivo para lectura y, si el archivo no existe, entonces el alumno tampoco existe. Otra forma de hacerlo sería ir comparando lo que te introducen con la lista de nombre pero eso es más tedioso en C

Saludos y suerte
__________________
Carlos

Recoger datos es solo el primer paso hacia la sabiduría. Pero compartir información es el primer paso hacia la comunidad. - IBM