Hola a todxs queria saber si este algoritme esta recursivamente bien , y otra consulta es para que sirve , es viable el uso de fflush(stdin) en limpieza del buffer, estoy algo indecise, gracias a todxs
void como_la_realidad(int vida)
{
if(vida<=1)
cout << "Entrando en el sueño";
else
como_la_realidad(vida-1);
cout << " del sueño";
}
En lo referente a fflush(stdin): el estándar dice que fflush solo es para flujos de salida así que depende del compilador que funcione o no. Cómo norma general no deberías usarlo.
En cuanto a la recursividad: sí, está bien hecha. Tiene una condición de parada, una llamada que actualiza un estado para que active la condición de parada en el momento oportuno y un trabajo a cumplir.
Lo que hace es escribir en pantalla: Entrando en el sueño del suelo... repitiendo tantas veces del sueño como se hayan indicado en el argumento de llamada.
Por cierto, no destroces el lenguaje con x y e. El español es un de los lenguajes más ricos que existen.
Cita de: MAFUS en 4 Julio 2018, 23:27 PM
En lo referente a fflush(stdin): el estándar dice que fflush solo es para flujos de salida así que depende del compilador que funcione o no. Cómo norma general no deberías usarlo.
En cuanto a la recursividad: sí, está bien hecha. Tiene una condición de parada, una llamada que actualiza un estado para que active la condición de parada en el momento oportuno y un trabajo a cumplir.
Lo que hace es escribir en pantalla: Entrando en el sueño del suelo... repitiendo tantas veces del sueño como se hayan indicado en el argumento de llamada.
Por cierto, no destroces el lenguaje con x y e. El español es un de los lenguajes más ricos que existen.
Entonces es mejor usar cin.ignore(); para evitar el error con ingreso de cadenas? te pongo este ejemplo, porque luego de ingresar la variable entera dni, me guarda el ENTER en el buffer
main()
{ int dni;
tcad nombre;
cout << "Ingrese DNI: ";
cin >> dni;
//fflush(stdin); Aca viene el error
cout << "Ingrese nombre: ";
gets(nombre);
Sí, o cin >> ws para eliminar los espacios en blanco. Hay unas cuantas formas de hacerlo.