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;
}

Entradas relacionadas: