Dev - C++ - AYUDA! ¿Cómo desarrollo esto que me piden?

 
Vista:
sin imagen de perfil

AYUDA! ¿Cómo desarrollo esto que me piden?

Publicado por worbus (1 intervención) el 03/02/2018 01:46:40
Un alumno debe entregar al semestre
5 Tareas
3 prácticas
2 Exámenes
1 Proyecto

Cada uno de ellos puede tener una calificación entre 0 y 100.
El total de cada categoría otorga los puntos de acuerdo a la siguiente ponderación.

Tareas 25%
Prácticas 35%
Exámenes 20%
Proyecto 20%

Para dar un total de 100%. Capture mediante consola todas las calificaciones y saque los valores de cada categoría mostrando el % correspondiente con base en las calificaciones.
Muestre la calificación final.
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 vangodp
Val: 73
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

AYUDA! ¿Cómo desarrollo esto que me piden?

Publicado por vangodp (23 intervenciones) el 03/02/2018 13:11:50
Use regla del 3.
Imaginando que estamos en la categoría de practicas que son 3 notas(O lo mismo, 3 calificaciones), imaginamos que un alumno ha sacado 100, 75 y 50 seria más o menos eso:
1
2
3
4
5
6
7
8
9
10
11
const int NUMNOTAS = 3;
    int n[NUMNOTAS]={100, 75, 50};
    int peso = 35;
 
    int acumulador = 0;
    for(int i = 0; i<NUMNOTAS; i++){
            acumulador += n[i];
    }
 
    int practica = (acumulador * peso) / (NUMNOTAS*100);
    cout << practica << endl;
El programa sirve para saber el porcentaje que el alumno tiene conforme el numero de calificaciones, las notas que sacó y el peso máximo que puede llegar a tener. Eso sirve para todas las categorías, es solo mudar el NUMNOTAS para el numero de calificaciones que tenga la categoría y rellenar correctamente el vector con las notas.
Nota: El numero de calificaciones en practicas es 3, el resto son eses valores:
5 Tareas
3 prácticas
2 Exámenes
1 Proyecto

si por ejemplo la categoría es la de Tareas, la variavle debe ser NUMNOTAS = 5, y el vector debe quedar con 5 valores int n[NUMNOTAS]={?,?,?,?,?};(5 valores que son las 5 notas que a sacado el alumno de 0 a 100 cada máximo)

Si aun continuar con dudas pregunte.
Básicamente seria repetir eso para cada categoría y al final sumar los resultados obtenidos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

AYUDA! ¿Cómo desarrollo esto que me piden?

Publicado por harol (31 intervenciones) el 04/02/2018 19:59:19
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
#include <iostream>
#include <stdlib.h>
#define tam_nota 5// sirve para el vector_nota , este almacena en cada espacio del vector la suma de las notas de cada calificacion
#define tam_limit 4//sirve para el vector_por y vector_limit,almacena los porcentajes que vale cada calificacion y num de notas de cada calificacion respectivamente
#define nota_min 0
#define nota_max 100
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
 
int main(int argc, char** argv) {
 
	float nota = 0,vector_nota[tam_nota] = {0}/*almacena en cada espacio de la suma de las notas de cada calificacion*/;
	float vector_por[tam_limit] = {0.25,0.35,0.2,0.2};//almacena los porcentajes que vale cada calificacion 
	const int vector_limit[tam_limit] = {5,3,2,1}; //num de notas de cada calificacion
	const string nombre_nota[tam_limit] = {"tareas","practicas","examenes","proyectos"};//nombre de cada calificacion
	int j = 0;
 
	while(j<tam_limit){
 
		cout<<"Ingrese las notas de las "<<nombre_nota[j]<<":"<<endl;
		for(int i=0; i<vector_limit[j]; i++){
			cout<<"Nota "<<i+1<<": ";cin>>nota;
			while(nota<nota_min || nota>nota_max){
				cout<<"Nota ingresada incorrecta\n";
				cout<<"Nota "<<i+1<<": ";cin>>nota;
			}
			vector_nota[j] += nota;
		}
		j++;
		cout<<endl;
	}
	for(int i=0; i<tam_limit;i++){
		vector_nota[j] += (vector_nota[i]*vector_por[i]);
	}
	cout<<endl;
	cout<<"la calificacion final es: "<<vector_nota[j];
 
	cout<<endl;
	system("PAUSE>NULL");
	return 0;
}
//espero te ayude
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 338
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

AYUDA! ¿Cómo desarrollo esto que me piden?

Publicado por Martín (158 intervenciones) el 04/02/2018 23:53:54
Acá va una forma de resolver usando una clase "Evaluable".


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
#include <iostream>
#include <vector>
#include <string>
#include <stdexcept>
 
class Evaluable {
 
    enum RangoCalificaciones { cmin = 0, cmax = 100 };
 
public:
    Evaluable(std::string nom, int n_eval, float pond)
        : nombre(nom)
        , n_evaluaciones(n_eval)
        , ponderacion(pond)
    {
        if (n_evaluaciones == 0)
            throw std::runtime_error("Numero de evaluaciones == 0");
 
        calificaciones.resize(n_eval);
    }
 
    virtual void setCalificaciones()
    {
        std::cout << "Calificaciones de " << nombre << ":\n";
 
        int temp = 0;
        for (auto i = 0; i < n_evaluaciones; ++i) {
            std::cout << "\tcalificacion " << i + 1 << "? ";
            std::cin >> temp;
            if (temp >= cmin && temp <= cmax)
                calificaciones[i] = temp;
            else {
                std::cout << "La califiacion debe estar comprendida entre " << cmin << " y " << cmax << '\n';
                i--;
            }
        }
 
        calcularPromedio();
    }
 
    void mostrarPromedio() const noexcept
    {
        std::cout << "Promedio de " << nombre << " == " << promedio << '\n';
    }
 
    float prom() const noexcept
    {
        return promedio;
    }
 
    float pond() const noexcept
    {
        return ponderacion;
    }
 
private:
    const std::string nombre;
    const int n_evaluaciones;
    const float ponderacion;
    float promedio;
    std::vector<int> calificaciones;
 
    void calcularPromedio() noexcept
    {
        promedio = 0.0f;
        for (const auto& c : calificaciones) {
            promedio += c;
        }
        promedio /= n_evaluaciones;
    }
};
 
float calificacionTotal(const std::vector<Evaluable>& evals)
{
    float calif = 0.0f;
    for (const auto& e : evals) {
        calif += e.prom() * e.pond();
    }
    return calif;
}
 
int main()
{
    std::vector<Evaluable> evals{ {"Tareas"   , 5, 0.25f},
                                  {"Practicas", 3, 0.35f},
                                  {"Examenes" , 2, 0.20f},
                                  {"Proyecto" , 1, 0.20f}
    };
 
    for (auto& e : evals) {
        e.setCalificaciones();
        e.mostrarPromedio();
    }
 
    std::cout << "\ncalificacion Total == " << calificacionTotal(evals) << '\n';
 
    return 0;
}
// Para clases particulares --> mensaje privado
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

AYUDA! ¿Cómo desarrollo esto que me piden?

Publicado por luis malave (2 intervenciones) el 15/05/2021 09:31:46
1.- Mostrar en pantalla el resultado de la resta de los dos vectores; mostrar el vector A y el vector B, y el resultado de la resta del vector A y el vector B.

2.- Mostrar en pantalla el número menor y la posición del número menor que hay en el resultado de la resta del vector A y el vector B.

3.- Mostrar en pantalla el orden de forma descendente del vector que dio como resultado de la resta del vector A y el vector B.

4.- Mostrar en pantalla el vector B, que introdujo y decir en que posición se encuentra el número mayor del vector B.

buenas por favor me ayudan con esto muchas gracias
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
sin imagen de perfil
Val: 317
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

AYUDA! ¿Cómo desarrollo esto que me piden?

Publicado por Miguel (215 intervenciones) el 15/05/2021 18:52:21
Que tan urgente es la tarea?
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

AYUDA! ¿Cómo desarrollo esto que me piden?

Publicado por luis malave (2 intervenciones) el 25/05/2021 22:06:18
buenas tardes agradezco un codigo en c++ que el usuario ingrese los datos para suma de matrices, resta de matrices, multiplicación de matrices, transpuesta de la matriz, las diagonales primarias y secundaria de la matriz, los números por encima y por debajo de la diagonal principal y secundaria, la cruz de la matriz las cuatro esquinas de la matriz, ordenar la matriz se ascendente o descendente,usando el método burbuja usando el cout y el cin agradecido de antemano por todo el apoyo esto me servirá de guía para mi proyecto
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