Realizar un programa EN C++ que presente un menú con opcion :
1) Factorial recursivo
2) dibujar cuadrado recursivo
3)invertir una palabra recursivo
NECESITO ESE PROGRAMA OSEA QUE EN ESOS OPCIONES CADA UNO HAGA SU RESPECTIVO FUNCIÓN , PORFAVOR AYUDENME CON ESO ES DE URGENCIA ESE DEBER, QUE CADA OPCIÓN HAYA RECURSIVIDAD.
PORFAVOR SEAN SERIOS CON LA RESPUESTA
Respuestas
#include <iostream>
using namespace std;
string lado = "\n";
string p = "";
int factorial(int n){
if (n==0 || n == 1) return 1;
return n*factorial(n-1);
}
string cuadrado(int n){
if (n == 0) return "";
lado += " *";
return lado + cuadrado(n-1);
}
string invertirPalabra(string palabra){
int n = palabra.size();
if (palabra.size()==0) return p;
p+= palabra[n-1];
palabra.erase(n-1);
return invertirPalabra(palabra);
}
void mostrarMenu(){
int opc;
int num = 0;
string letra;
cout << "Se muestran 3 opciones a continuacion:\n";
cout << "======================================\n\n";
cout << "(1) Calcula el factorial de un numero natural\n";
cout << "(2) Dibuja un cuadrado dado la longitud de un lado\n";
cout << "(3) Invierte cualquier palabra\n\n";
cout << "Elija el numero de opcion <1 - 2 - 3>: ";
cin >> opc;
cout << "\n\n";
switch (opc){
case 1:
cout << "Calcularemos el factorial de un numero...\n";
do{
cout << "Introduzca un numero : ";
cin >> num;
if (num<0) cout << "INTRODUZCA SOLO NUMEROS NATURALES";
}while (num < 0);
cout << "Resultado ---> " << num << "! = " << factorial(num);
break;
case 2:
cout << "Ahora dibujaremos un cuadrado...\n";
while (num <= 0){
cout << "Coloque la longitud del lado del cuadrado : ";
cin >> num;
if(num <= 0) cout << "INGRESE SOLO NUMEROS POSITIVOS";
}
cout << "Dibujo \n\n";
cout << cuadrado (num);
break;
case 3:
cout << "Ahora invertiremos unas palabras...\n";
cout << "Coloca la palabra que quieras: ";
cin >> letra;
cout << "Resultado ---> " << invertirPalabra(letra);
break;
default: cout << "No existe opcion";
break;
}
}
int main(){
mostrarMenu();
return 0;
}