Muy bueas, estoy haciendo un programa en C con estás características. Échenle un vistazo los más entendidos en C para ver que se puede corregir.
• pida dos números por teclado
• Si los dos son pares, escribirá la suma
• Si los dos son impares, y diferentes, escribirá el resto del primero respecto al segundo
• Si alguno de ellos es mayor de 10, escribirá el valor del mayor
• Si ambos son mayores de 20 escribirá el valor del menor
NOTA: Los supuestos anteriores son independientes unos de otros
• Punto extra: Escribirá un mensaje por pantalla si los números elegidos no cumplen ninguno de los supuestos indicados.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
int num1;
int num2;
int suma;
int resta;
printf("Escribe un numero: ");
scanf("%d",&num1);
printf("Escribe otro numero: ");
scanf("%d",&num2);
if ((num1 % 2 == 0) & (num2 % 2 == 0)){
printf("\nEl numero es par");
suma = num1 + num2;
printf("\nLa suma de los dos numeros pares es: %d",suma);
}
else{
printf ("\nNo es par");
resta = num1 - num2;
printf("\nLa resta de los dos numeros impares es: %d",resta);
}
/* MAYOR DE 20 */
if ((num1 > 20) & (num2 > 20)){
printf("\nLos dos numeros son mas grande de 20");
if (num1 < num2)
printf("\nEl numero mas pequeño es: %d",num1);
else printf("\nEl numero mas pequeño es: %d",num2);
}
/* MAYOR DE 10 */
if ((num1 > 10) | (num2 > 10)){
printf("\nAlguno de los nombres es mayor a 10");
if (num1 > num2)
printf("\nEl numero mas grande es: %d",num1);
else printf("\nEl numero mas grande es: %d",num2);
}
printf("\n\n");
system("pause");
return 0;
}
Cita de: sora_ori en 15 Abril 2013, 10:25 AM
Muy bueas, estoy haciendo un programa en C con estás características. Échenle un vistazo los más entendidos en C para ver que se puede corregir.
• pida dos números por teclado
• Si los dos son pares, escribirá la suma
• Si los dos son impares, y diferentes, escribirá el resto del primero respecto al segundo
• Si alguno de ellos es mayor de 10, escribirá el valor del mayor
• Si ambos son mayores de 20 escribirá el valor del menor
...............................................
if ((num1 % 2 == 0) & (num2 % 2 == 0)){
printf("\nEl numero es par");
suma = num1 + num2;
printf("\nLa suma de los dos numeros pares es: %d",suma);
}
else{ /*<=====AQUI ESTA EL ERROR*/
printf ("\nNo es par");
resta = num1 - num2;
printf("\nLa resta de los dos numeros impares es: %d",resta);
}
...................................
El error lo cometes al considerar que si no son pares "los dos" son impares los dos, cuando podría ser uno impar y el otro par.
Es decir, ese "else" tienes que cambiarlo por un if que indique que ambos son impares.
Saluditos!. ....(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)