Programación en C++: Mínimo, Pares, Resto, Primos y Factorial con Ejemplos Corregidos
Clasificado en Informática
Escrito el en
español con un tamaño de 4,12 KB
Programas en C++ con estructuras de control y funciones
A continuación se presentan varios programas en C++ que utilizan ciclos do-while, condicionales, funciones y el menú con switch-case. El código se muestra corregido en su sintaxis.
1. Determinar el valor mínimo ingresado
int main()
{
float min, num;
char resp;
bool band;
band = true;
do
{
cout << "Ingrese valor: ";
cin >> num;
if (band == true)
{
min = num;
band = false;
}
else
{
if (min > num)
min = num;
}
cout << "Desea seguir ingresando valores (S/N): " << endl;
cin >> resp;
} while ((resp != 'n') && (resp != 'N'));
cout << "El valor mínimo ingresado es: " << min << endl;
system("pause");
return 0;
}2. Clasificación de valores: positivos, negativos, ceros y promedio de pares
Este programa cuenta los valores positivos, negativos y ceros, y calcula el promedio de los valores pares ingresados.
int main()
{
int spos = 0, neg = 0, pos = 0, cers = 0, posmp = 0, valor;
float prom;
char resp;
do
{
cout << "Ingrese valor: ";
cin >> valor;
if (valor > 0)
pos++;
else
{
if (valor % 2 == 0)
{
spos = spos + valor;
posmp++;
}
else
{
if (valor < 0)
neg++;
else
{
if (valor == 0)
cers++;
}
}
}
cout << "Desea continuar (S/N): ";
cin >> resp;
} while ((resp == 's') || (resp == 'S'));
prom = (posmp != 0) ? (float)spos / posmp : 0;
cout << "El promedio de los valores pares es: " << prom << endl;
cout << "Se ingresaron positivos: " << pos << endl;
cout << "Se ingresaron negativos: " << neg << endl;
cout << "Se ingresaron ceros: " << cers << endl;
system("pause");
return 0;
}3. Función para calcular el resto
void resto(int a, int b)
{
do
{
a = a - b;
} while (a >= b);
cout << "El resto es: " << a << endl;
}4. Verificación de números primos
bool definir_primos(int x)
{
int i = 2;
bool band = true;
while ((i < x) && (band == true))
{
if (x % i == 0)
band = false;
i++;
}
return band;
}
// Uso:
if (definir_primos(x) == true)
cout << "El número es primo";
else
cout << "El número no es primo";5. Menú principal: número, factorial y primo
float factorial(float M)
{
int fact = 1;
do
{
fact = fact * M;
M = M - 1;
} while (M != 0);
cout << "El factorial es: " << fact << endl;
return fact;
}
int main()
{
int M = 0, op;
do
{
cout << "1) Ingresar número\n";
cout << "2) Calcular el factorial\n";
cout << "3) Averiguar si es primo o no\n";
cout << "4) Fin del programa\n";
cin >> op;
switch (op)
{
case 1:
cout << "Ingrese un número: ";
cin >> M;
break;
case 2:
factorial(M);
break;
case 3:
if (definir_primos(M) == true)
cout << "El número es primo" << endl;
else
cout << "El número no es primo" << endl;
break;
case 4:
cout << "Fin del programa" << endl;
break;
}
} while (op != 4);
system("pause");
return 0;
}