Hoy vamos a resolver otro ejercicio de programación en C++. Se trata de calcular el promedio de un estudiante solicitando la calificación o nota de cada materia, además de la nota del examen semestral para calcular al final el promedio y la letra que obtiene.
El ejercicio dice así:
Realice un programa en C++ que calcule el promedio de los estudiantes. El mismo debe capturar 5 notas parciales y examen semestral. Se debe desplegar en pantalla las 5 notas, total de notas parciales, nota del examen semestral, nota final y la calificación obtenida en letra.
Veamos la solución.
Primero necesitamos solicitar las calificaciones de las 5 notas y la del examen semestral. Vamos a almacenar las notas en un arreglo. El código queda así:
// Declarar la cantidad de notas por si el valor cambia
const int cantidadNotas = 5;
double notas[cantidadNotas];
// Solicitar notas
for (int i = 0; i < cantidadNotas; i++)
{
cout << "Ingrese la nota " << i + 1 << ": ";
// Guardar en el arreglo
cin >> notas[i];
}
// Solicitar calificación de examen semestral
double calificacionExamenSemestral;
cout << "Ingrese calificación de examen semestral: ";
cin >> calificacionExamenSemestral;
Cuando esto se ejecute tendremos las 5 notas en el arreglo y la calificación del examen semestral en una variable. Con estos datos ya podemos hacer todo el ejercicio.
Recorremos el arreglo de las notas y vamos sumando el valor a una variable inicializada en 0. Después, dividimos la sumatoria entre la cantidad de notas. Ahora que ya tenemos el promedio de notas, lo promediamos con el del examen:
// Ahora vamos a hacer cálculos
// La sumatoria para promediar
double sumatoria = 0;
// Recorrer notas, imprimir y sumar a la sumatoria
for (int i = 0; i < cantidadNotas; i++)
{
sumatoria = sumatoria + notas[i];
cout << "Nota " << i + 1 << " . Calificación: " << notas[i] << endl;
}
double promedioNotas = sumatoria / cantidadNotas;
// Momento de calcular el promedio final
double promedioFinal = (promedioNotas + calificacionExamenSemestral) / 2;
Finalmente veamos cómo saber cuál letra obtiene el alumno según su promedio. En este caso la escala indica que la nota perfecta es una A, de 80 hacia arriba una B, desde 70 hacia arriba una C, de 60 hacia arriba una D y en caso contrario una E.
El código queda así:
// Calcular la letra
string letra = "";
if (promedioFinal == 100)
{
letra = "A";
}
else if (promedioFinal >= 80)
{
letra = "B";
}
else if (promedioFinal >= 70)
{
letra = "C";
}
else if (promedioFinal >= 60)
{
letra = "D";
}
else
{
letra = "E";
}
Lo que resta ahora es imprimir los resultados y probar el programa.
El código completo sobre este ejercicio resuelto en CPP/C++ queda así:
/*
https://parzibyte.me/blog
*/#include <iostream>
using namespace std;
int main()
{
// Declarar la cantidad de notas por si el valor cambia
const int cantidadNotas = 5;
double notas[cantidadNotas];
// Solicitar notas
for (int i = 0; i < cantidadNotas; i++)
{
cout << "Ingrese la nota " << i + 1 << ": ";
// Guardar en el arreglo
cin >> notas[i];
}
// Solicitar calificación de examen semestral
double calificacionExamenSemestral;
cout << "Ingrese calificación de examen semestral: ";
cin >> calificacionExamenSemestral;
// Ahora vamos a hacer cálculos
// La sumatoria para promediar
double sumatoria = 0;
// Recorrer notas, imprimir y sumar a la sumatoria
for (int i = 0; i < cantidadNotas; i++)
{
sumatoria = sumatoria + notas[i];
cout << "Nota " << i + 1 << " . Calificación: " << notas[i] << endl;
}
double promedioNotas = sumatoria / cantidadNotas;
// Momento de calcular el promedio final
double promedioFinal = (promedioNotas + calificacionExamenSemestral) / 2;
// Calcular la letra
string letra = "";
if (promedioFinal == 100)
{
letra = "A";
}
else if (promedioFinal >= 80)
{
letra = "B";
}
else if (promedioFinal >= 70)
{
letra = "C";
}
else if (promedioFinal >= 60)
{
letra = "D";
}
else
{
letra = "E";
}
// Imprimir resultados
cout << "Total notas parciales: " << sumatoria << endl;
cout << "Promedio notas parciales: " << promedioNotas << endl;
cout << "Nota del semestral: " << calificacionExamenSemestral << endl;
cout << "Nota final: " << promedioFinal << ". Obtiene " << letra << endl;
}
Al compilarlo y ejecutarlo los resultados son correctos al menos en mi caso:
Si el post te ha gustado tal vez quieras leer más sobre C++.
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…
Esta web usa cookies.