Algoritmia - como modifico los valores de una matriz,

 
Vista:

como modifico los valores de una matriz,

Publicado por Daniela MG (2 intervenciones) el 18/07/2006 06:48:02
holas, debo hacer un progrma en C++(turbo), de tres matrices cada una correspondiente a un curso, con un numero n de alumnos y tres notas para ingresar y un promedio para obetenr, imprimir, y ya impreso COMO PUEDO MODIFICAR LOS DATOS Q AHI ESTEN...ALGO ASI COMO QUE EL USUARIO (DOCENTE) CHECA LAS NOTAS (O EL NOMBRE, O CUALKIER COSA) DE UN ALUMNO Y SI ESTAN MAL COMO LAS MODIFICARIA???...SI ALGUIEN SABE SE LO VOY A AGRADECER MUCHIIIIIIIIIISIMO, RECIEN EMPIEZO A PROGRAMAR Y NO ESTOY MUY SEGURA DE COMO HACER NADA.
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 en C++ para gestionar notas de alumnos en tres cursos con posibilidad de modificación

Publicado por Alejandro (307 intervenciones) el 05/03/2024 23:48:30
¡Hola Daniela! Entiendo que estás comenzando con la programación en C++ y estás trabajando en un programa para gestionar las notas de alumnos en tres cursos diferentes. Aquí tienes un ejemplo simple de un programa que te puede servir como punto de partida. Se centra en ingresar, imprimir y modificar notas:

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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include <iostream>
#include <string>
 
using namespace std;
 
const int MAX_ALUMNOS = 100;
 
struct Alumno {
    string nombre;
    double notas[3];
    double promedio;
};
 
void ingresarNotas(Alumno cursos[][MAX_ALUMNOS], int numCursos, int numAlumnos);
void imprimirNotas(Alumno cursos[][MAX_ALUMNOS], int numCursos, int numAlumnos);
void modificarNotas(Alumno cursos[][MAX_ALUMNOS], int numCursos, int numAlumnos);
 
int main() {
    int numCursos, numAlumnos;
 
    cout << "Ingrese el número de cursos: ";
    cin >> numCursos;
 
    cout << "Ingrese el número de alumnos por curso: ";
    cin >> numAlumnos;
 
    Alumno cursos[3][MAX_ALUMNOS];
 
    ingresarNotas(cursos, numCursos, numAlumnos);
 
    cout << "\nNotas ingresadas:\n";
    imprimirNotas(cursos, numCursos, numAlumnos);
 
    modificarNotas(cursos, numCursos, numAlumnos);
 
    cout << "\nNotas modificadas:\n";
    imprimirNotas(cursos, numCursos, numAlumnos);
 
    return 0;
}
 
void ingresarNotas(Alumno cursos[][MAX_ALUMNOS], int numCursos, int numAlumnos) {
    for (int i = 0; i < numCursos; ++i) {
        cout << "\nIngrese notas para el curso " << (i + 1) << ":\n";
        for (int j = 0; j < numAlumnos; ++j) {
            cout << "Alumno " << (j + 1) << ":\n";
            cout << "Nombre: ";
            cin >> cursos[i][j].nombre;
 
            cout << "Ingrese las tres notas: ";
            for (int k = 0; k < 3; ++k) {
                cin >> cursos[i][j].notas[k];
            }
 
            // Calcular el promedio
            double suma = 0.0;
            for (int k = 0; k < 3; ++k) {
                suma += cursos[i][j].notas[k];
            }
            cursos[i][j].promedio = suma / 3.0;
        }
    }
}
 
void imprimirNotas(Alumno cursos[][MAX_ALUMNOS], int numCursos, int numAlumnos) {
    for (int i = 0; i < numCursos; ++i) {
        cout << "\nCurso " << (i + 1) << ":\n";
        for (int j = 0; j < numAlumnos; ++j) {
            cout << "Alumno " << (j + 1) << ": " << cursos[i][j].nombre << "\tNotas: ";
            for (int k = 0; k < 3; ++k) {
                cout << cursos[i][j].notas[k] << " ";
            }
            cout << "\tPromedio: " << cursos[i][j].promedio << endl;
        }
    }
}
 
void modificarNotas(Alumno cursos[][MAX_ALUMNOS], int numCursos, int numAlumnos) {
    string nombreBuscado;
    cout << "\nIngrese el nombre del alumno a modificar: ";
    cin >> nombreBuscado;
 
    for (int i = 0; i < numCursos; ++i) {
        for (int j = 0; j < numAlumnos; ++j) {
            if (cursos[i][j].nombre == nombreBuscado) {
                cout << "Notas actuales del alumno " << cursos[i][j].nombre << ": ";
                for (int k = 0; k < 3; ++k) {
                    cout << cursos[i][j].notas[k] << " ";
                }
 
                cout << "\nIngrese las nuevas notas: ";
                for (int k = 0; k < 3; ++k) {
                    cin >> cursos[i][j].notas[k];
                }
 
                // Calcular el nuevo promedio
                double suma = 0.0;
                for (int k = 0; k < 3; ++k) {
                    suma += cursos[i][j].notas[k];
                }
                cursos[i][j].promedio = suma / 3.0;
 
                cout << "Notas modificadas con éxito.\n";
                return; // Salir del bucle si se encontró y modificó al alumno
            }
        }
    }
 
    cout << "No se encontró un alumno con ese nombre.\n";
}

Este código proporciona funciones para ingresar, imprimir y modificar notas de alumnos en tres cursos diferentes. Ten en cuenta que este es un programa básico y puede requerir ajustes adicionales según tus necesidades específicas.
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