Título: Ayuda array C
Publicado por: KiddKeo en 16 Diciembre 2017, 19:03 pm
Hola, buenas estoy desarrollando este programa y me he encontrado con el problema de que cuando introduzco Juan Montero no me entra en la condición que tengo hecha, me salta al else y no encuentro el error, cabe resaltar que no puedo utilizar bucles ya que es para una practica de la escuela, si alguien puede ayudarme le agradecería mucho! #include <stdio.h> #include <stdlib.h> #include <math.h> int main(void){ float numero1, numero2, numero3, res, res1, res2, res3, base, altura, area; int porcentaje1, porcentaje2, porcentaje3; #define juan "Juan" #define montero "Montero" char nombre[7]; char apellido[9]; char myArray[11] = "AEIOUaeiou"; char consonantes[3] = "Jj"; printf("Introduce tu nombre: "); if (nombre[0] == myArray[0] || nombre[0] == myArray[1] || nombre[0] == myArray[2] || nombre[0] == myArray[3] || nombre[0] == myArray[4] || nombre[0] == myArray[5] || nombre[0] == myArray[6] || nombre[0] == myArray[7] || nombre[0] == myArray[8] || nombre[0] == myArray[9] || nombre[0] == myArray[10] || nombre[0] == myArray[11]){ printf("Introduce un numero: "); printf("Introduce el segundo numero: "); printf("Introduce el tercer numero: "); printf("Introduce un porcentaje: "); scanf("%f", &porcentaje1 ); printf("Introduce el segundo porcentaje: "); scanf("%f", &porcentaje2 ); printf("Introduce el tercer porcentaje: "); scanf("%f", &porcentaje3 ); res1 = (numero1 * porcentaje1) / 100; res2 = (numero2 * porcentaje2) / 100; res3 = (numero3 * porcentaje3) / 100; res = res1 + res2 + res3; printf("La media es: %.2f", res ); } if(nombre[0] == consonantes[0] || nombre[0] == consonantes[1]){ printf("Introduce un apellido: "); if(nombre == juan && apellido == montero){ printf("Es el nombre de mi profesor!"); }else{ printf("Se ha introducido %s %s", nombre , apellido ); } }else{ printf("Introduce la base: "); printf("Introduce la altura: "); area = (base * altura) / 2; printf("El area es: %.2f", area ); } }
[MOD] Usar la etiqueta GeSHi correcta.
Título: Re: Ayuda array C
Publicado por: CalgaryCorpus en 16 Diciembre 2017, 21:16 pm
Los strings no se comparan usando el operador ==, usa strcmp
Título: Re: Ayuda array C
Publicado por: KiddKeo en 17 Diciembre 2017, 12:15 pm
Hola, el problema es que no hemos estudiado aun strings... ¿Me podrías ayudar a implementarlo en mi código? Gracias.
Título: Re: Ayuda array C
Publicado por: CalgaryCorpus en 17 Diciembre 2017, 16:04 pm
Los strings en C son arreglos unidimensionales de chars, tal como los tienes en tu programa. Usa strcmp para comparar un "string" (un arreglo unidimensional de chars terminados en 0) con otro.
|