124 lines
3.4 KiB
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");
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
}
|