Informática, pregunta formulada por chuncer1234, hace 9 días

Las notas de un colegio se tienen en una matriz de 30 × 5 elementos (30, número de alumnos; 5, número de asignaturas). Se desea listar las notas de cada alumno y su media. Cada alumno tiene como mínimo dos asignaturas y máximo cinco, aunque los alumnos no necesariamente todos tienen que tener cinco materias.

C++

Respuestas a la pregunta

Contestado por megatokay
1

A continuación código en C++ que muestra el promedio de una cantidad variable de notas de 30 estudiantes. Se adjunta salida del algoritmo.

Programa en C++ para calcular el promedio de las notas de un estudiante.

#include<iostream>

#include<cctype>

using namespace std;

#define ARREGLO_MAX 100

  • // Definir funciones

void registronotas(float notasest[30][5], int &k);

void mostrarresultados(float notasest[30][5], int &k);

string minusculas(string s);

int main() {

  •    // Definir e inicializar variables

int k;

float notasest[30][5];

int p;

int respuesta;

int t;

k = 0;

  • // inicializar el arreglo

for (t=1;t<=30;t++) {

 for (p=1;p<=5;p++) {

   notasest[t-1][p-1] = 0;

  }

 }

 

  • // Seleccionar acción en en menú

do {

 cout << "Ingrese Opción (1-3)" << endl;

 cout << "*************************" << endl;

 cout << "1.- Ingrese notas" << endl;

 cout << "2.- Mostrar resultados " << endl;

 cout << "3.- Salir" << endl;

 do {

  cin >> respuesta;

 } while (!(respuesta!=1 || respuesta!=2 || respuesta!=3));

 switch (respuesta) {

 case 1:

  registronotas(notasest,k);

  break;

 case 2:

  mostrarresultados(notasest,k);

  break;

 }

} while (respuesta!=3);

return 0;

}

void registronotas(float notasest[30][5], int &k) {

  •     // definir variables de la función

int a;

float cantasig;

string continuar;

int p;

int t;

  • // Ingresar registro de notas

cout << "**** Registro de notas ****" << endl;

cout << "*************************" << endl;

do {

 k = k+1;

 cout << "Estudiante " << k << " : " << endl;

 cout << "Cantidad de asignaturas (2-5): " << endl;

 do {

  cin >> cantasig;

 } while (!((cantasig>=2 && cantasig<=5)));

 for (a=1;a<=cantasig;a++) {

  cout << "   Nota " << a << " : ";

  do {

   cin >> notasest[k-1][a-1];

  } while (!(notasest[k-1][a-1]>0 && notasest[k-1][a-1]<=10));

 }

 cout << "Continuar con otro alumno?: (s/n)" << endl;

 do {

  cin >> continuar;

  continuar = minusculas(continuar);

 } while (!((continuar=="s" || continuar=="n")));

 cout << " " << endl;

} while (continuar=="s" && k<=30);

}

void mostrarresultados(float notasest[30][5], int &k) {

  • // definir variables de la función

int a;

int cantasig;

float promedio;

int x;

promedio = 0;

cantasig = 0;

  • // Mostrar datos

cout << "***notas de los estudiantes***" << endl;

for (x=1;x<=k;x++) {

 cout << "Alumno       Asig 1     Asig 2     Asig 3     Asig 4      Asig 5     promedio" << endl;

 cout << x << "              ";

 for (a=1;a<=5;a++) {

  if (notasest[x-1][a-1]!=0) {

   cout << notasest[x-1][a-1];

   cantasig = cantasig+1;

   promedio = promedio+notasest[x-1][a-1];

  } else {

   cout << "No";

  }

  cout << "           ";

 }

 promedio = promedio/cantasig;

 cout << promedio << endl;

}

}

string minusculas(string s) {

for(unsigned int i=0;i<s.size();i++)

 s[i] = tolower(s[i]);

return s;

}

Para saber más acerca de programa en C++ para el cálculo de promedio de notas consulte: https://brainly.lat/tarea/40310561

#SPJ1

Adjuntos:
Otras preguntas