top of page

3era Practica Calificada.

#include <iostream>
#include <math.h>
using namespace std;
int op, n1;

 

// Variables Case 1:
int base, expo;
float potencia(int base, int exp);

// Variables Case 2:
int n = 0, fact, c = 0;
float SUMA, B, D;
float serie(int z);

// Variables Case 3:
int diaa, mesa, anioa, dian, mesn, anion, edad;
int bisiesto(int);
int fecha_valida(int, int, int);
int calcular_edad(int, int, int, int, int, int);

// Variables Case 4:
float y, z, x, r;
int n2;
float fun(float x, int n2);

int main()
{
    do
    {
        do
        {
            cout << "\n******************Menu de Opciones*******************\n";
            cout << "\nIngrese la opcion a realizar: \n";
            cout << "\n[1] = La Potencia\n";
            cout << "\n[2] = La Serie\n";
            cout << "\n[3] = La Fecha Actual - Edad\n";
            cout << "\n[4] = Funcion con 2 parametros\n";
            cin >> op;
            cout << "\n*************************************************\n";

            if (op != 1 && op != 2 && op != 3 && op != 4)
            {
                cout << "Opcion Incorrecta";
            }
        } while (op != 1 && op != 2 && op != 3 && op != 4);
        switch (op)
        {
        case 1:
            cout << "\nLa Potencia\n";
            cout << "Ingrese la base: ";
            cin >> base;
            cout << "Ingrese el exponente: ";
            cin >> expo;
            cout << "La potencia de " << base << " con exponente " << expo << " es: " << potencia(base, expo);
            break;
        case 2:
            cout << "\nLa Serie\n";
            cout << "Ingrese la cantidad de veces para la suma: ";
            cin >> n;
            D = serie(n);
            cout << "La sumatoria de " << n << " veces es: " << D;
            break;
        case 3:
            cout << "\nFecha Actual - Edad\n";
            do
            {
                cout << "Introduce fecha actual: " << endl;
                cout << "dia : ";
                cin >> diaa;
                cout << "mes : ";
                cin >> mesa;
                cout << "a" << (char)164 << "o: ";
                cin >> anioa;
            } while (!(fecha_valida(diaa, mesa, anioa)));
            do
            {
                cout << "\nIntroduce fecha de nacimiento: " << endl;
                cout << "dia : ";
                cin >> dian;
                cout << "mes : ";
                cin >> mesn;
                cout << "a" << (char)164 << "o: ";
                cin >> anion;
            } while (!(fecha_valida(dian, mesn, anion)));
            edad = calcular_edad(diaa, mesa, anioa, dian, mesn, anion);
            cout << "\n Su edad es : " << edad << "\n";
            break;
        case 4:
            cout << "\nFuncion con 2 parametros\n";
            cout << "Ingrese un numero real o entero: x = ";
            cin >> x;
            cout << "Ingrese un numero entero: ";
            cin >> n2;
            r = fun(x, n2);
            if (x >= 0)
            {
                cout << "El Resultado por que x es mayor o igual a cero es : " << r;
            }
            else if (x < 0)
            {
                cout << "El Resultado por que x es menor a cero es : " << r;
            }

            break;
        default:
            break;
        }
        do
        {
            cout << "\nDesea realizar otra operacion?\n";
            cout << "[1 = Si] [2 = No]\n";
            cin >> n1;
            if (n1 != 1 && n1 != 2)
            {
                cout << "\nOpcion Incorrecta";
            }
        } while (n1 != 1 && n1 != 2);
    } while (n1 == 1);
    cout << "\nPrograma Finalizado\n";
}
// Case 1:
float potencia(int base, int exp)
{
    return pow(base, exp);
}

// Case 2:
float serie(int z)
{
    fact = 1;
    SUMA = 0;
    for (c = 1; c <= z; c++)
    {
        fact = fact * c;
        B = 2 + pow(c, c);
        SUMA = SUMA + fact / B;
    }
    return (SUMA);
}

// Case 3:
int calcular_edad(int da, int ma, int aa, int dn, int mn, int an)
{
    int edad = aa - an;
    if (ma < mn)
        edad--;
    else if (ma == mn and da < dn)
        edad--;
    return edad;
}
int bisiesto(int a)
{
    if (a % 4 == 0 and a % 100 != 0 or a % 400 == 0)
        return 1;
    else
        return 0;
}

int fecha_valida(int d, int m, int a) // definición de fecha_valida
{
    if (d < 1 or d > 31 or m < 1 or m > 12 or a < 1)
    {
        return 0;
    }
    switch (m)
    {
    case 4:
    case 6:
    case 9:
    case 11:
        if (d > 30)
        {
            return 0;
        }
        break;
    case 2:
        if (bisiesto(a))
        {
            if (d > 29)
            {
                return 0;
            }
        }
        else if (d > 28)
        {
            return 0;
        }
        break;
    }
    return 1;
}
// Case 4:
float fun(float x, int n)
{
    if (x >= 0)
    {
        y = x + (pow(x, n) / n) - (pow(x, n + 2) / (n + 2));
        return y;
    }
    else if (x < 0)
    {
        z = x + (pow(x, n + 1) / (n + 1)) - (pow(x, n - 1) / (n - 1));
        return z;
    }
}

bottom of page