Lenguaje de Programación.
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;
}
}

