elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Imprimir una sola vez el mensaje en C en: 3 Febrero 2012, 21:29 pm
Hola estoy haciendo un programa en C para comparar varios nombres y saber si son iguales o no,primero escribo el numero de personas a las que le asignare los nombres luego con un ciclo escribo los nombres para las personas que escribi,despues comparo los nombres en un ciclo con dos opciones,la primera es una funcion que compara las cadenas para saber si son iguales y la segunda es la opcion que se da si la primera no se da,ambas con un mensaje diferente que se imprime al final.El problema que tengo es que cuando compilo el programa funciona pero imprime dos mensajes,uno por cada una de las dos opciones y queria saber si alguien me podria decir como cambiar el programa para que solo lo imprima un  mensaje segun sea la opcion

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. struct Datos
  4. {
  5. char Nombre[25];
  6. };
  7. int main(int argc, char *argv[])
  8. {
  9.  struct Datos P[100];
  10.  int m,i;
  11.  char nom[25];
  12.  
  13.  printf("ingrese el n\xA3mero de personas: ");
  14.  scanf("%d",&m);
  15.  for(i=0;i<m;i++)
  16.  {
  17.   fflush(stdin);
  18.   printf("ingrese el nombre de la persona #%d: ",i+1);
  19.   gets(P[i].Nombre);
  20.  }
  21.  printf("Escriba el nombre de la persona que quiere buscar: ");
  22.  scanf("%s",&nom);
  23.  for(i=0;i<m;i++)
  24.  {
  25.   if(strcmp(nom,P[i].Nombre)==0)
  26.   {
  27.    printf("%s esta en la base de datos\n",nom);
  28.   }
  29.   else
  30.   {
  31.    printf("%s no esta en la base de datos\n",nom);
  32.   }
  33.  }
  34.  system("PAUSE");
  35.  return 0;
  36. }

Ejemplo:escribo el numero de personas:2
             --Estos son los nombres que se deberian guardar--
             escribo el primer nombre:marco
             escribo el segundo nombre:mateo
             escribo el nombre que quiero buscar:mateo
             --Al final aparece esto--
             mateo no esta en la base de datos
             mateo esta en la base de datos
           --Lo mismo pasa si coloco  3( o mas nombres) solo que  aparece dos veces   
             un mensaje incorrecto y una vez el mensaje correcto--
2  Programación / Programación C/C++ / Problema Con Codigo En C en: 2 Febrero 2012, 22:55 pm
Estoy realizando un codigo en lenguaje C con DEV C++ 4.9.9.2,cuando compilo el programa arranca y funciona segun lo planeado(hasta ahora porque aun no lo he terminado)pero abajo me aparece que tiene un error(la razon por la cual no he podido terminarlo) no se como  arreglar el codigo para que no aparezca el mensaje de error podria alguien decirme porque aparece el error o como solucionar el problema con el codigo.


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct Acciones
  5. {
  6. char Lectura[5];
  7. char Viajes[5];
  8. char Deportes[5];
  9. char Cine[5];
  10. char Gastronomia[5];
  11. char Ordenadores[5];
  12. char JuegosDeRol[5];
  13. char Modelismo[5];
  14. char Perros[5];
  15. };
  16. struct Datos
  17. {
  18. char Nombre[25];
  19. int Edad;
  20. char Sexo[2];
  21. struct Acciones A[100];
  22. };
  23. void llenar_informacion(struct Datos P[100],int m);
  24. int main(int argc, char *argv[])
  25. {
  26.  int m,i,j;
  27.  struct Datos P[100];
  28.  printf("ingrese el n\xA3mero de clientes: ");
  29.  scanf("%d",&m);
  30.  llenar_informacion(P,m);
  31.  system("PAUSE");
  32.  return 0;
  33. }
  34. void llenar_informacion(struct Datos P[100],int m)
  35. {
  36.  int i,j;
  37.   for(i=0;i<m;i++)
  38.   {
  39.    fflush(stdin);
  40.    printf("ingrese el nombre del cliente #%d: ",i+1);
  41.    gets(P[i].Nombre);
  42.    printf("ingrese la edad del cliente #%d: ",i+1);
  43.    scanf("%d",&P[i].Edad);
  44.    fflush(stdin);
  45.    printf("ingrese el sexo del cliente(m o f) #%d: ",i+1);
  46.    gets(P[i].Sexo);
  47.    printf("\n");
  48.   }
  49.   for(j=0;j<m;j++)
  50.   {
  51.    printf("rellene con si o no las acciones del cliente #%d\n",j+1);
  52.    printf("Lectura: ");  
  53.    gets(P[i].A[j].Lectura);
  54.    printf("Viajes: ");  
  55.    gets(P[i].A[j].Viajes);
  56.    printf("Deportes: ");  
  57.    gets(P[i].A[j].Deportes);
  58.    printf("Cine: ");  
  59.    gets(P[i].A[j].Cine);
  60.    printf("Gastronomia: ");  
  61.    gets(P[i].A[j].Gastronomia);
  62.    printf("Ordenadores: ");  
  63.    gets(P[i].A[j].Ordenadores);
  64.    printf("JuegosDeRol: ");  
  65.    gets(P[i].A[j].JuegosDeRol);
  66.    printf("Modelismo: ");  
  67.    gets(P[i].A[j].Modelismo);
  68.    printf("Perros: ");  
  69.    gets(P[i].A[j].Perros);
  70.    printf("\n");
  71.   }
  72.   printf("\n");
  73. }

Ahora ya sale sin errores.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines