Realizar un programa que atravez de diferentes funciones, permita seleccionar 4 polígonos regulares (pentágono, hexagono, heptagono y octágono) para posteriormente calcular su área. La formula para calcular el área de un polígono es: A= (p x a)/2 A= área P= perímetro a= apotema Sin cmath y solo usando funciones
Aquí te muestro un ejemplo de cómo podrías implementar el programa en C++: ```cpp #include <iostream> #include <cmath> // Función para calcular el perímetro de un polígono regular double calcularPerimetro(int lados, double lado) { return lados * lado; } // Función para calcular la apotema de un polígono regular double calcularApotema(int lados, double lado) { return std::sqrt(std::pow(lado, 2) - std::pow(lado / 2, 2)); } // Función para calcular el área de un polígono regular double calcularArea(int lados, double lado) { double apotema = calcularApotema(lados, lado); double perimetro = calcularPerimetro(lados, lado); return (perimetro * apotema) / 2; } // Función para mostrar opciones de polígonos void mostrarOpciones() { std::cout << "Seleccione un polígono regular:" << std::endl; std::cout << "1. Pentágono" << std::endl; std::cout << "2. Hexágono" << std::endl; std::cout << "3. Heptágono" << std::endl; std::cout << "4. Octágono" << std::endl; } // Función para obtener la longitud de un lado de un polígono regular void obtenerLado(int &lados, double &lado) { std::cout << "Ingrese la longitud de un lado del polígono: "; std::cin >> lado; lados = 5; // Por defecto, asumimos que es un pentágono switch (lados) { case 5: std::cout << "Pentágono seleccionado." << std::endl; break; case 6: std::cout << "Hexágono seleccionado." << std::endl; break; case 7: std::cout << "Heptágono seleccionado." << std::endl; break; case 8: std::cout << "Octágono seleccionado." << std::endl; break; default: std::cout << "Polígono no válido." << std::endl; exit(1); } } int main() { int lados; double lado; mostrarOpciones(); std::cout << "Ingrese el número del polígono que desea seleccionar: "; std::cin >> lados; obtenerLado(lados, lado); double area = calcularArea(lados, lado); std::cout << "El área del polígono es: " << area << std::endl; return 0; } ``` Este programa define cuatro funciones: `calcularPerimetro`, `calcularApotema` y `calcularArea` para calcular el perímetro, la apotema y el área de un polígono regular, respectivamente. La función `mostrarOpciones` muestra las opciones de polígonos disponibles y la función `obtenerLado` obtiene la longitud de un lado del polígono seleccionado. En el `main`, se muestra la lista de opciones de polígonos y se solicita al usuario que ingrese el número del polígono que desea seleccionar. Luego, se llama a la función `obtenerLado` para obtener la longitud de un lado del polígono seleccionado y se calcula el área del polígono utilizando la función `calcularArea`. Finalmente, se muestra el área del polígono en la consola.