6. Ejercicio 6

Escribir un programa en lenguaje C++ en el editor de texto de Linux que realice lo siguiente:

El programa deberá llamar a la función MENU que presentará el siguiente menú:

1-Cargar Desniveles

2-Buscar máximo promedio.

3-Desnivel en un punto.

4-Mostrar.

F-f Finalizar.

El programa tendrá al menos 5 funciones: MAIN, MENU, BUSCAR, DESNIVEL, MOSTRAR.

Cuando el usuario elija alguna de las opciones el programa deberá llamar a la función correspondiente.

Para el programa se utilizará la matriz DATOS de 50x10 como UNICA variable global. Será una matriz con datos de tipo REAL, donde se cargarán valores positivos para puntos altos y negativos para las depresiones. Un punto es un elemento del Arreglo DATOS.


  1. Función menú

Esta función, no recibe argumento, presenta el menú mostrado. Esta función retorna un char que puede ser 1, 2, 3, ,4 , F ó f SOLAMENTE.

Si el usuario presiona 1, 2, 3, F ó f, retorna este valor a main. Si se elige cualquier otro valor la función MENU deberá mostrar un cartel por pantalla "OPCION NO VALIDA" y deberá reingresar. Por tanto, la única manera de salir de la función es eligiendo alguno de los valores permitidos: 1, 2, 3, 4, F, f.


  1. Función carga

Es llamada en el punto 1 del menú. Esta función, al ser llamada no recibe ningún argumento y dentro de la función carga TODA LA MATRIZ DATOS. Los datos pueden ser Positivos, negativos o Cero. Regresa un valor Booleano TRUE a main, que se utiliza para controlar que el punto 1 fué ejecutado. La función no recibe ningún argumento y no retorna nada a main.


  1. Función buscar

Esta función es llamada en el punto 2 del menú, calcula el promedio de los valores positivos de la matriz y el promedio de los negativos y retorna el que tenga mayor valor absoluto a main, desde donde se muestra por pantalla. Este punto solo puede ser llamado si se cargó la matriz.


  1. Función Desnivel

Esta función es llamada en el punto 3 del menú.

Esta función recibe como argumento una fila , columna válida y un caracer P ( de positivo) y N ( de negativo) y retorna un valor booleanor true en caso de que el valor alamcenado en esa posición coincida, Si de pasó P el valor debería ser positivo para retornar TRUE o si se pasó N el valor debería ser negativo. En caso contrario retorna FALSE.Este punto solo puede ser llamado si se cargó la matriz.


  1. Función mostrar

Esta función es llamada en el punto 4 del menú. Este punto solo puede ser llamado si se cargó la matriz.

Esta función no recibe argumento y muestra por pantalla la matriz de manera ordenada (una fila por línea).