Una función llamada “lector_de_enteros” que pida al usuario un número entero
y devuelva el número leído.
Una función llamada “lector_de_opciones” que reciba un valor máximo, pida
al usuario un valor entre 1 y el valor máximo (usando la función
“lector_de_enteros”) y devuelva el valor elegido. Si el usuario introduce un
valor fuera de rango avisar del error y repetir la lectura del valor, y así hasta que
sea correcto.
Las funciones que he hecho son las siguientes:
Código
int lector_de_enteros() { int numero = 0; cin >> numero; return numero; } int lector_de_opciones(int valor_maximo) { int valor_elegido=0; cout << " Introduce un numero entre 1 y " << valor_maximo; valor_elegido = lector_de_enteros(); do { cout << "Vuelve a introducir un numero que este dentro del rango, por favor:\n"; cin >> valor_elegido; }while (valor_elegido <=1 && valor_elegido >= valor_maximo); return valor_elegido; }
El enunciado sigue con lo siguiente para el int main () [LA FUNCIÓN PRINCIAPAL]
Mostrar el menú principal y dejar al usuario elegir una opción.
Pues bien, mi propuesta es ésta pero no sé porque no funciona, porque ponga el número que ponga el programa sigue.
Código
int maximo = 4; muestra_menu_principal(); cout << endl; lector_de_opciones (maximo);
Mod: Modificado. Cuando publiques codigo, procura usar etiquetas GeSHi