Programación de menús en lenguaje C
#include lt;stdio.hgt;
#include lt;math.hgt;
void armstrong(int a)
{
int i;
int n = 1;
int b = a;
int s = 0; >
while(b /= 10) n;
b = a;
for(i = 0; i lt; n; i ){
s = (int)pow(b10, n);
b /= 10
}
si(s == a){
printf("d es el número de narcisos!\n", a);
}else{
printf("d no es el número de narcisos !\n ", a);
}
}
void prime(int a)
{
int i;
if(a lt; 2) {
printf("¡d no es un número primo!\n", a);
return;
}
for(i = 2; i lt; a; i ){
if(a i == 0) {
printf( "¡d no es un número primo!\n", a
return
}
}
printf("d es un número primo !\n", a);
}
void max(int a, int b, int c) p>
{
if(b gt; a) a = b;
if(c gt; a) a = c
printf; ("El valor máximo es: d\n", a) ;
}
factorial vacío(int a)
{
int i;
int f = 1;
for(i = a; i gt; 1; i --)
f *= i;
printf("El factorial de d es :d\n", a, f);
}
int main(int argc, char ** argv)
{
int a, b, c;
int tipo
int run = 1;
printf("Este programa puede completar ciertos cálculos matemáticos: \n");
printf( "********************* ******************* \n"
"* 1. Determina si un número es un número de narciso.
*\n"
"* 2. Determina si un número es primo. *\n"
"* 3. Encuentra el valor máximo de tres números. *\n"
"* 4. Encuentra el factorial de un número. *\n"
"* 0. Salir.
*\n"
"************************************\n " );
do{
printf("Presione el menú para seleccionar (0-4):");
scanf("d", amp; tipo);
switch(tipo){
caso 0:
while(1){
getchar();
p>printf("¿Estás seguro de salir? (s/n)");
a = getchar()
switch(a) {
caso 'y':
ejecutar = 0
romper
caso 'n':
ejecutar = 1 ;
romper;
predeterminado:
romper;
}
if( (a == 'y') || (a == 'n')) romper;
}
romper
caso 1:
p>
printf("Ingrese un número:");
scanf("d", amp;
armstrong(a);
break;
caso 2:
printf("Ingrese un número: "); ;
prime(a);
break;
caso 3:
printf("Ingrese tres números: ");
scanf("ddd", amp;a, amp;b, amp;c);
max(a, b, c
);
break;
caso 4:
printf("Ingrese un número:
scanf("d); ", amp; a);
factorial(a);
descanso;
predeterminado:
descanso;
}
}mientras(ejecutar);
devuelve 0;