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
#include <stdio.h>
#include <stdlib.h>
struct Datos
{
char Nombre[25];
};
int main(int argc, char *argv[])
{
struct Datos P[100];
int m,i;
char nom[25];
printf("ingrese el n\xA3mero de personas: "); for(i=0;i<m;i++)
{
printf("ingrese el nombre de la persona #%d: ",i
+1); }
printf("Escriba el nombre de la persona que quiere buscar: "); for(i=0;i<m;i++)
{
if(strcmp(nom
,P
[i
].
Nombre)==0) {
printf("%s esta en la base de datos\n",nom
); }
else
{
printf("%s no esta en la base de datos\n",nom
); }
}
return 0;
}
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--