Entiendo que la parte que tienes hecha funciona correctamente aunque te pongo un par de consejos:
- No utilices la biblioteca <conio.h>. No es una biblioteca estándar y puede dar problemas en algunos sistemas. Para lo único que lo utilizas es para la función getch(); así que en su lugar puedes utilizar la función getchar(); que pertenece a <stdio.h>.
- En vez de poner números directamente como el 10 en este caso, declara constantes. Esto hace que el código sea más fácil de modificar pues solo tendrás que cambiar el valor de la variable una vez y no cada vez que aparezca ese número:
#define SIZE 10
int main(){
int array[SIZE]; // Array de longitud 10
}
- Para acumular una suma (o cualquier operación) en una misma variable puedes sustituir:
suma = suma + numero;
por:
suma += numero;
- Solo utilizas el número de notas mayores al promedio por lo que no necesitas calcular cuántas son menores a este.
Y ahora tu problema: para mostrar la nota más alta necesitas recorrer el array completo e ir guardando la nota más alta. Para ello guardas en una variable <notaMayor> (por ejemplo) el contenido de <calificaciones[0]> y luego con un for() desde 1 hasta el último elemento, si <calificaciones[n]> es mayor que <notaMayor> pues guardas ese nuevo valor.
Para que te pregunte si hacer más operaciones necesitas un bucle do-while que suele ir acompañado en este caso con un menú (switch) con las opciones. Te pongo un ejemplo para que lo adaptes:
#include <stdio.h>
#include <stdlib.h> // Para la funcion rand()
#define SIZE 5
int main(){
int numeros[SIZE];
int opcion;
char repetir = '';
do{
printf("\nElige una opcion:\n - 1. Rellenar array\n - 2. Mostrar array\nOpcion: ");
switch(opcion){
case 1:
for(int i = 0; i < SIZE; ++i) // Usando SIZE puedes cambiar la longitud del array cambiando solo su valor en el #define
numeros
[i
] = rand() % 100; // Numero aleatorio entre 0 y 99 break;
case 2:
printf("\nLos numeros del array son: "); for(int i = 0; i < SIZE; ++i)
break;
}
printf("Desea salir? [s/n]: "); } while(repetir != 's' && repetir != 'S');
printf("\nSaliendo del programa... Pulse ENTER\n"); return 0;
}
PD: Este ejemplo
no intenta mostrar la manera de generar números aleatorios sino únicamente cómo usar un menú con opciones y un bucle para elegir si desea salir o no.