Visual C++ .NET - necesito q me ayuden con 2 programas

 
Vista:

necesito q me ayuden con 2 programas

Publicado por daniel (1 intervención) el 01/04/2012 23:11:00
Ejercicio 1

Escribir un programa en C++ que defina una estructura apropiada para manejar la siguiente información de un estudiante: código estudiantil, nombre completo, varias notas, codigo de carrera. El programa debe presentar un menú con las siguientes opciones: agregar información estudiante, consultar información estudiante por código, consultar número total estudiantes en una carrera, mostrar código y nombres de estudiantes con un promedio de nota mínimo referido.

NOTAS: El programa debe permitir el ingreso hasta de 100 estudiantes y hasta 10 notas por cada estudiante. Los estudiantes se agregan uno a uno cada vez que se escoja la opción 'agregar estudiante'. Los estudiantes deben agregarse consecutivamente en un arreglo (no deben quedar espacios vacíos entre un estudiante y otro). El programa debe anunciar cuando no haya posibilidad de agregar más estudiantes.
_______________________________________________________________________________________________

Ejercicio 2

Escribir un programa en C++ que defina una estructura apropiada para manejar la siguiente información de un polinomio: coeficiente de cada término (valor numérico con decimales), potencia de la variable independiente de cada término. Por ejemplo, en la ecuación polinómica x5 + 3.8x4 - 2.2x3 + 4x - 8, los coeficientes de cada uno de los términos serían: 1, 3.8, -2.2, 4 y -8; mientras que las potencias de la variable independiente serían: 5, 4, 3, 1 y 0. El programa debe presentar un menú con las siguientes opciones: agregar ecuación polinómica, mostrar todas las ecuaciones ingresadas con grado igual o superior a un valor dado, mostrar una ecuación por su orden de ingreso (1ª, 2ª, 3ª, ... etc).

NOTAS: El programa debe permitir el manejo de polinomios hasta grado 5 y un máximo de 20 ecuaciones polinómicas. Asumir siempre que los términos se ingresan en orden descendente para las potencias de la variable independiente (como en el ejemplo inicial) y además no se repiten. El control de lo referido anteriormente es importante incluirlo. Las ecuaciones se agregan una a una cada vez que se escoja la opción 'agregar ecuación polinómica' en un arreglo de 20 elementos. El programa debe anunciar cuando no haya posibilidad de agregar más ecuaciones. Las ecuaciones deben mostrarse así, por ejemplo, x^5 + 3.8x^4 - 2.2x^3 + 4x - 8.
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

Gestión de estudiantes y ecuaciones polinómicas

Publicado por Alejandro (265 intervenciones) el 09/02/2024 23:50:38
Ejercicio 1: Gestión de estudiantes

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
#include <iostream>
#include <string>
 
using namespace std;
 
struct Estudiante {
    int codigoEstudiantil;
    string nombreCompleto;
    float notas[10];
    int codigoCarrera;
};
 
const int MAX_ESTUDIANTES = 100;
Estudiante estudiantes[MAX_ESTUDIANTES];
int totalEstudiantes = 0;
 
void AgregarEstudiante() {
    if (totalEstudiantes < MAX_ESTUDIANTES) {
        cout << "Ingrese el código estudiantil: ";
        cin >> estudiantes[totalEstudiantes].codigoEstudiantil;
        cout << "Ingrese el nombre completo: ";
        cin.ignore();
        getline(cin, estudiantes[totalEstudiantes].nombreCompleto);
        cout << "Ingrese las notas (hasta 10 notas separadas por espacio): ";
        for (int i = 0; i < 10; ++i) {
            cin >> estudiantes[totalEstudiantes].notas[i];
        }
        cout << "Ingrese el código de carrera: ";
        cin >> estudiantes[totalEstudiantes].codigoCarrera;
 
        totalEstudiantes++;
        cout << "Estudiante agregado con éxito.\n";
    } else {
        cout << "No es posible agregar más estudiantes.\n";
    }
}
 
void ConsultarEstudiantePorCodigo() {
    int codigo;
    cout << "Ingrese el código estudiantil: ";
    cin >> codigo;
 
    for (int i = 0; i < totalEstudiantes; ++i) {
        if (estudiantes[i].codigoEstudiantil == codigo) {
            cout << "Información del estudiante:\n";
            cout << "Código estudiantil: " << estudiantes[i].codigoEstudiantil << endl;
            cout << "Nombre completo: " << estudiantes[i].nombreCompleto << endl;
            cout << "Notas: ";
            for (int j = 0; j < 10; ++j) {
                cout << estudiantes[i].notas[j] << " ";
            }
            cout << endl;
            cout << "Código de carrera: " << estudiantes[i].codigoCarrera << endl;
            return;
        }
    }
 
    cout << "No se encontró ningún estudiante con ese código.\n";
}
 
// Otras funciones para la gestión de estudiantes
 
int main() {
    int opcion;
 
    do {
        cout << "Menú:\n";
        cout << "1. Agregar estudiante\n";
        cout << "2. Consultar estudiante por código\n";
        cout << "3. Consultar número total de estudiantes en una carrera\n";
        cout << "4. Mostrar código y nombres de estudiantes con un promedio de nota mínimo\n";
        cout << "0. Salir\n";
        cout << "Ingrese la opción: ";
        cin >> opcion;
 
        switch (opcion) {
            case 1:
                AgregarEstudiante();
                break;
            case 2:
                ConsultarEstudiantePorCodigo();
                break;
            // Agregar otras opciones aquí
            // ...
            case 0:
                cout << "Saliendo del programa.\n";
                break;
            default:
                cout << "Opción no válida. Intente de nuevo.\n";
        }
    } while (opcion != 0);
 
    return 0;
}

Ejercicio 2: Gestión de ecuaciones polinómicas

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
111
#include <iostream>
#include <cmath>
 
using namespace std;
 
struct Termino {
    float coeficiente;
    int potencia;
};
 
struct Polinomio {
    Termino terminos[5];  // Hasta grado 5
    int grado;
};
 
const int MAX_ECUACIONES = 20;
Polinomio ecuaciones[MAX_ECUACIONES];
int totalEcuaciones = 0;
 
void AgregarEcuacion() {
    if (totalEcuaciones < MAX_ECUACIONES) {
        cout << "Ingrese el grado del polinomio (hasta grado 5): ";
        cin >> ecuaciones[totalEcuaciones].grado;
 
        cout << "Ingrese los términos del polinomio en orden descendente de potencia:\n";
        for (int i = 0; i <= ecuaciones[totalEcuaciones].grado; ++i) {
            cout << "Coeficiente para x^" << ecuaciones[totalEcuaciones].grado - i << ": ";
            cin >> ecuaciones[totalEcuaciones].terminos[i].coeficiente;
            ecuaciones[totalEcuaciones].terminos[i].potencia = ecuaciones[totalEcuaciones].grado - i;
        }
 
        totalEcuaciones++;
        cout << "Ecuación polinómica agregada con éxito.\n";
    } else {
        cout << "No es posible agregar más ecuaciones polinómicas.\n";
    }
}
 
void MostrarEcuacionesConGradoMinimo() {
    int gradoMinimo;
    cout << "Ingrese el grado mínimo de las ecuaciones a mostrar: ";
    cin >> gradoMinimo;
 
    cout << "Ecuaciones polinómicas con grado igual o superior a " << gradoMinimo << ":\n";
    for (int i = 0; i < totalEcuaciones; ++i) {
        if (ecuaciones[i].grado >= gradoMinimo) {
            cout << "Ecuación " << i + 1 << ": ";
            for (int j = 0; j <= ecuaciones[i].grado; ++j) {
                cout << ecuaciones[i].terminos[j].coeficiente << "x^" << ecuaciones[i].terminos[j].potencia;
                if (j < ecuaciones[i].grado) {
                    cout << " + ";
                }
            }
            cout << endl;
        }
    }
}
 
void MostrarEcuacionPorOrdenDeIngreso() {
    int orden;
    cout << "Ingrese el orden de ingreso de la ecuación a mostrar (,,, ...): ";
    cin >> orden;
 
    if (orden >= 1 && orden <= totalEcuaciones) {
        cout << "Ecuación " << orden << ": ";
        for (int i = 0; i <= ecuaciones[orden - 1].grado; ++i) {
            cout << ecuaciones[orden - 1].terminos[i].coeficiente << "x^" << ecuaciones[orden - 1].terminos[i].potencia;
            if (i < ecuaciones[orden - 1].grado) {
                cout << " + ";
            }
        }
        cout << endl;
    } else {
        cout << "Orden no válido.\n";
    }
}
 
// Otras funciones para la gestión de ecuaciones polinómicas
 
int main() {
    int opcion;
 
    do {
        cout << "Menú:\n";
        cout << "1. Agregar ecuación polinómica\n";
        cout << "2. Mostrar ecuaciones con grado mínimo\n";
        cout << "3. Mostrar ecuación por orden de ingreso\n";
        cout << "0. Salir\n";
        cout << "Ingrese la opción: ";
        cin >> opcion;
 
        switch (opcion) {
            case 1:
                AgregarEcuacion();
                break;
            case 2:
                MostrarEcuacionesConGradoMinimo();
                break;
            case 3:
                MostrarEcuacionPorOrdenDeIngreso();
                break;
            case 0:
                cout << "Saliendo del programa.\n";
                break;
            default:
                cout << "Opción no válida. Intente de nuevo.\n";
        }
    } while (opcion != 0);
 
    return 0;
}

Daniel, ambos programas se han estructurado con menús y funciones separadas para facilitar la comprensión y la expansión del código. Ten en cuenta que estos son ejemplos básicos y puedes ajustarlos 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