Curso-lenguaje-C/curso-juantxi/Ejercicios/0503menuOperarSencillo.c

124 lines
3.4 KiB
C

#include<stdio.h>
int main (){
/* Variables */
int numero1,numero2,numero3;
int menu;
int i,a;
/* Enunciado*/
printf("\nOpera con 3 numeros en un menú");
printf("\n###########");
printf("\n");
/* Solicitar numeros */
printf("\nIntroduce un número: ");
scanf("%d",&numero1);
printf("\nIntroduce otro número: ");
scanf("%d",&numero2);
printf("\nIntroduce el tercer número: ");
scanf("%d",&numero3);
/* Elegir opción */
printf("\n### MENÚ ###");
printf("\n1 Suma el primer y segundo número.");
printf("\n2 Multiplicar el segundo con el tercero.");
printf("\n3 Mostrar los tres números en orden.");
printf("\n4 Comprobar si el primero es primo.");
printf("\n5 Comprobar si el segundo es un número perfecto.");
printf("\n5 Salir\n");
printf("\nIntroduce una opción del 1 al 6: ");
scanf("%d", &menu);
/* menu switch */
switch (menu){
case 1:
// sumar el primer y segundo número
printf("\nEl resultado de la suma entre el primer y segundo numero es: %d\n", numero1+numero2);
break;
case 2:
// multiplicar el segundo con el tercer número
printf("\nEl resultado de la multiplicación entre el segundo con el tercer número es: %d\n", numero2*numero3);
break;
case 3:
// ordenar los números
if(numero1<numero2){
if (numero1<numero3){
if (numero2<numero3){
printf("Los números ordenados de menor a mayor son: %d %d %d\n\n", numero1,numero2,numero3);
}else{
printf("Los números ordenados de menor a mayor son: %d %d %d\n\n", numero1,numero3,numero2);
}
}else{
printf("Los números ordenados de menor a mayor son: %d %d %d\n\n", numero3,numero1,numero2);
}
}else{
if (numero1<numero3){
printf("Los números ordenados de menor a mayor son: %d %d %d\n\n", numero2,numero1,numero3);
}else{
if (numero3<numero2){
printf("Los números ordenados de menor a mayor son: %d %d %d\n\n", numero3,numero2,numero1);
}else{
printf("Los números ordenados de menor a mayor son: %d %d %d\n\n", numero2,numero3,numero1);
}
}
}
break;
case 4:
// Comprobar si el primer número es primo.
a=0; /* Variable a 0 para contar divisores */
for(i=1;i<=numero1;i++){
if(numero1%i==0) // si num1 módulo de i es 0, incrementamos a en 1.
a++;
}
/* Si al final del bucle, a vale 2, el número es primo, porque tiene solamente 2 divisores. */
if(a==2) {
printf("\nEl primer número es primo\n");
}else{
printf("\nEl primer número no es primo\n");
}
break;
case 5:
// Comprobar si el segundo es un número perfecto.
break;
case 6:
printf("\nHasta pronto!\n");
break;
default:
printf("\nNo es un valor correcto\n\n");
}
}