Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/12/2013, 10:00
Dempo87
 
Fecha de Ingreso: octubre-2013
Ubicación: Murcia
Mensajes: 54
Antigüedad: 10 años, 7 meses
Puntos: 0
Guarda nombres y comprueba si estan entre los almacenados

Hola, estoy realizando un ejercicio que dice:

Cita:
Un programa que pida 10 nombres y los memorice. Después deberá pedir que se teclee un nombre y dirá si se encuentra o no entre los 10 que se han tecleado antes.
He realizado decenas de pruebas, pero no doy con el fallo que explico acontinuacion. El programa compila pero si escribo palabras que ya se guardaron en el array, no me dice las muestra como una almacenada, si no que siempre me indica que esa palabra no se encuentra entre las 10 guardadas.

El ejercicio es esto:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main(int argc, char *argv[])
  6. {
  7.     char nombre[][50]={};
  8.     char comparacion[50];
  9.     char num[10][20] = {"primer", "segundo", "tercer", "cuarto", "quinto", "sexto", "septimo", "octavo", "noveno", "decimo"};
  10.     int i;
  11.    
  12.     for (i = 0; i < 10; i++){
  13.         printf ("\n Introduce el %s nombre: ", num[i]);
  14.         scanf ("%s", &nombre);
  15.         }
  16.     do{    
  17.         printf ("\n Introduce un nombre para comprobar si se encuentra entre los almacenados: ");
  18.         scanf ("%s", &comparacion);
  19.        
  20.         if (strcmp(nombre, comparacion) == 0){
  21.            printf ("\n El nombre esta entre los almacenados\n\n\n\n");
  22.            break;}
  23.            else{
  24.                 printf ("\n El nombre NO esta entre los almacenados\n\n\n\n");
  25.                 }
  26.                 }while (strcmp(nombre, comparacion) != 0);
  27.  
  28.   system("PAUSE"); 
  29.   return 0;
  30. }