#include <iostream>
#include <cmath> // Para funciones matemáticas avanzadas
using namespace std;
// Prototipos de las funciones
void mostrarMenu();
double sumar(double a, double b);
double restar(double a, double b);
double multiplicar(double a, double b);
double dividir(double a, double b);
double potencia(double base, double exponente);
double raizCuadrada(double a);
double seno(double a);
double coseno(double a);
double tangente(double a);
int main() {
int opcion;
double num1, num2;
do {
mostrarMenu();
cout << "Seleccione una opción: ";
cin >> opcion;
switch(opcion) {
case 1:
cout << "Ingrese dos números: ";
cin >> num1 >> num2;
cout << "Resultado: " << sumar(num1, num2) << endl;
break;
case 2:
cout << "Ingrese dos números: ";
cin >> num1 >> num2;
cout << "Resultado: " << restar(num1, num2) << endl;
break;
case 3:
cout << "Ingrese dos números: ";
cin >> num1 >> num2;
cout << "Resultado: " << multiplicar(num1, num2) << endl;
break;
case 4:
cout << "Ingrese dos números: ";
cin >> num1 >> num2;
if (num2 != 0) {
cout << "Resultado: " << dividir(num1, num2) << endl;
} else {
cout << "Error: División por cero" << endl;
break;
case 5:
cout << "Ingrese la base y el exponente: ";
cin >> num1 >> num2;
cout << "Resultado: " << potencia(num1, num2) << endl;
break;
case 6:
cout << "Ingrese un número: ";
cin >> num1;
if (num1 >= 0) {
cout << "Resultado: " << raizCuadrada(num1) << endl;
} else {
cout << "Error: No se puede calcular la raíz cuadrada de un número negativo" <<
endl;
break;
case 7:
cout << "Ingrese un ángulo en radianes: ";
cin >> num1;
cout << "Resultado: " << seno(num1) << endl;
break;
case 8:
cout << "Ingrese un ángulo en radianes: ";
cin >> num1;
cout << "Resultado: " << coseno(num1) << endl;
break;
case 9:
cout << "Ingrese un ángulo en radianes: ";
cin >> num1;
cout << "Resultado: " << tangente(num1) << endl;
break;
case 0:
cout << "Saliendo..." << endl;
break;
default:
cout << "Opción no válida" << endl;
}
} while (opcion != 0);
return 0;
void mostrarMenu() {
cout << "\nCalculadora Científica\n";
cout << "1. Sumar\n";
cout << "2. Restar\n";
cout << "3. Multiplicar\n";
cout << "4. Dividir\n";
cout << "5. Potencia\n";
cout << "6. Raíz Cuadrada\n";
cout << "7. Seno\n";
cout << "8. Coseno\n";
cout << "9. Tangente\n";
cout << "0. Salir\n";
double sumar(double a, double b) {
return a + b;
double restar(double a, double b) {
return a - b;
double multiplicar(double a, double b) {
return a * b;
}
double dividir(double a, double b) {
return a / b;
double potencia(double base, double exponente) {
return pow(base, exponente);
double raizCuadrada(double a) {
return sqrt(a);
double seno(double a) {
return sin(a);
double coseno(double a) {
return cos(a);
double tangente(double a) {
return tan(a);