Dev - C++ - programa que calcule la nota media de las asignaturas que cursa un alumno en un año

 
Vista:
sin imagen de perfil
Val: 43
Ha disminuido su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

programa que calcule la nota media de las asignaturas que cursa un alumno en un año

Publicado por bernardo (9 intervenciones) el 30/11/2020 00:10:33
Escriba un programa que calcule la nota media de las asignaturas que cursa un alumno en un año. Para ello el programa debe pedir al usuario:

Cuantas asignaturas tiene (máximo 10 asignaturas). La entrada debe estar protegida.
Después pedirá y almacenará el nombre de cada una de las asignaturas (con máximo 40 caracteres cada una)
A continuación, pedirá y almacenará la nota de cada una de las asignaturas. La entrada debe estar protegida (0.0<=nota<=10.0).
A continuación, debe calcular la media de las notas de las asignaturas cursadas y se imprimirá por pantalla.
Finalmente, debe calcular la desviación típica de las notas de las asignaturas cursadas y se imprimirá por pantalla.
Requerimientos del programa:

Se debe utilizar una función que calcule la media de las asignaturas a parte de la función main() .
Se debe utilizar una función que calcule la desviación típica de las asignaturas a parte de la función main()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

programa que calcule la nota media de las asignaturas que cursa un alumno en un año

Publicado por Alfil (1444 intervenciones) el 30/11/2020 16:51:58
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <iostream>
#include <cmath>
 
using namespace std;
 
struct Asignatura
{
    char nombre[40];
    float nota;
};
 
float media(const Asignatura a[], int n);
float desviacion(const Asignatura a[], int n);
 
int main()
{
    int sz;
 
    do {
        cout << "\nNumero de asignaturas: "; cin >> sz;
 
        if (sz < 1 || sz > 10)
            cout << "\nDebe estar en el rango de 1 a 10" << endl;
 
    } while (sz < 1 || sz > 10);
 
    Asignatura a[sz];
 
    for (int i = 0; i < sz; i++)
    {
        cin.ignore(80, '\n');
        cout << "\nAsignatura " << i + 1 << ":" << endl;
        cout << "\nNombre: "; cin.getline(a[i].nombre, 40);
 
        do {
            cout << "Nota (0.00 - 10.00): "; cin >> a[i].nota;
 
            if (a[i].nota < 0.0f || a[i].nota > 10.0f)
                cout << "\nDebe estar en el rango de 0.0 a 10.0" << endl;
 
        } while (a[i].nota < 0.0f || a[i].nota > 10.0f);
    }
 
    cout << "\nMedia: " << media(a, sz);
    cout << "\nDesviacion Tipica: " << desviacion(a, sz);
    cout << endl;
 
    return 0;
}
 
float media(const Asignatura a[], int n)
{
    float suma = 0.0f;
 
    for (int i = 0; i < n; i++)
        suma += a[i].nota;
 
    return suma / n;
}
 
float desviacion(const Asignatura a[], int n)
{
    float des = 0, med;
 
    med = media(a, n);
 
    for (int i = 0; i < n; i++)
        des += pow(a[i].nota - med, 2);
 
    return sqrt(des);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar