Visual C++ .NET - Programa C++ retorcar

 
Vista:

Programa C++ retorcar

Publicado por Carlos (1 intervención) el 21/12/2010 17:59:06
Alguien sabria arreglarme el programa para k kuente numero de notas total, assignaturas diferentes, i que por kada assignatura akabe mostrando la nota media numero de notas i numero de aprobados. ETERNAMENTE AGRADECIDO!!!!!!!!!





#include <iostream>

using namespace std;

main()
{
typedef struct
{
int codi;
float nota;
int aprovats;
float sumanotes;
float mitjana;
} assignatura;

typedef assignatura taulaassignatura[1000];

taulaassignatura t;

float n,mitjana;
int a,i,j,z;

j=0;
i=1;
z=0;

cout<<"Entra la sequencia: primer el codi de l'assignatura i despres la nota, i per acabar-la entra -1"<<endl;
cin>>a;

while (n!=-1.0)
{
cin>>n;

for (j == 0; j<i; j++)
{

if (n != t[j].codi)
{
t[i].codi = a;
t[i].nota = 1;
t[i].sumanotes = n;

if (n>=5.0)
{
t[i].aprovats = t[i].aprovats+1;
}
i = i+1;
}

else if (a == t[j].codi)
{
t[j].nota = t[j].nota+1;
t[j].sumanotes = t[j].sumanotes+n;

if (n>=5.0)
{
t[j].aprovats = t[j].aprovats+1;
}
}
}

cin>>a;
}

cout<<"El numero de notes introduit es de "<<t[i].nota<<endl;
cout<<"EL numero d'assignatures diferents introduides es de "<<j<<endl;

for(z == 0;z = j; i++)
{
mitjana = t[i].sumanotes / t[i].nota;
cout<<"El numero de notes es de "<<t[i].nota<<endl;
cout<<"El numero d'aprovats es de "<<t[i].aprovats<<endl;
cout<<"La nota mitjana es de "<<mitjana<<endl;
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Programa para contar notas, asignaturas y calcular medias y aprobados

Publicado por Alejandro (265 intervenciones) el 09/02/2024 00:35:32
Carlos, aquí tienes una versión corregida de tu programa en C++. He hecho algunos ajustes para calcular correctamente la cantidad total de notas, el número de asignaturas diferentes, y mostrar la nota media, el número de notas y el número de aprobados para cada asignatura:

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>
 
using namespace std;
 
typedef struct
{
    int codi;
    float nota;
    int aprovats;
    float sumanotes;
    float mitjana;
} assignatura;
 
typedef assignatura taulaassignatura[1000];
 
int main()
{
    taulaassignatura t;
    float n, mitjana;
    int a, i, j, z;
 
    j = 0;
    i = 0;
    z = 0;
 
    cout << "Entra la sequencia: primer el codi de l'assignatura i després la nota, i per acabar-la entra -1" << endl;
    cin >> a;
 
    while (a != -1)
    {
        cin >> n;
 
        int index = -1;
 
        for (j = 0; j < i; j++)
        {
            if (a == t[j].codi)
            {
                index = j;
                break;
            }
        }
 
        if (index == -1)
        {
            t[i].codi = a;
            t[i].nota = 1;
            t[i].sumanotes = n;
 
            if (n >= 5.0)
            {
                t[i].aprovats = 1;
            }
            else
            {
                t[i].aprovats = 0;
            }
 
            i = i + 1;
        }
        else
        {
            t[index].nota = t[index].nota + 1;
            t[index].sumanotes = t[index].sumanotes + n;
 
            if (n >= 5.0)
            {
                t[index].aprovats = t[index].aprovats + 1;
            }
        }
 
        cin >> a;
    }
 
    cout << "El numero de notes introduit es de " << i << endl;
    cout << "El numero d'assignatures diferents introduides es de " << i << endl;
 
    for (z = 0; z < i; z++)
    {
        mitjana = t[z].sumanotes / t[z].nota;
        cout << "Per l'assignatura " << t[z].codi << ":" << endl;
        cout << "El numero de notes es de " << t[z].nota << endl;
        cout << "El numero d'aprovats es de " << t[z].aprovats << endl;
        cout << "La nota mitjana es de " << mitjana << endl;
        cout << endl;
    }
 
    return 0;
}

Recuerda que el código que proporcionaste tenía algunos errores de lógica y sintaxis. Asegúrate de revisar las correcciones y entender cómo funcionan para adaptarlas según tus necesidades.
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