Dev - C++ - Validar mayor nota de N notas ingresadas

 
Vista:

Validar mayor nota de N notas ingresadas

Publicado por Jhonny (3 intervenciones) el 29/01/2016 05:23:58
Hola que tal, estoy realizando un algoritmo que me valide cual de todas las notas de exámenes ingresadas es la mayor y cuales son iguales.

Primero pido la cantidad de notas a evaluar. Si son 3, pediré tres veces la nota.
Si ingreso por ejemplo estas notas (15,20,16). Debería informarme solo el 20.
Si ingreso estas (20,20,14), Debería informarme las dos 20.

En el programa voy pidiendo nombre, cedula y nota. Debo devolver en un string el nombre de la personas o de las personas con mayor nota.

Tengo esto hecho.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
for(i=1;i<=num;i++)
{
 cout<<"Ingrese nombre: ";
 cin>>nombre;
 cout<<"Ingrese cedula: ";
 cin>>cedula;
 cout<<"Ingrese nota: ";
 cin>>nota;
 cout<<endl;
 mayor=nota;
 if (nota<0 || nota>20)
 {
  cout<<"Nota Invalida"<<endl;
  cout<<endl;
 }
 else
 {
   if (nota >= mayor){
   res+="Nombre: "+nombre+" Cedula: "+cedula+"\n";
   }
 }
}

Alguna sugerencia? Gracias
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
sin imagen de perfil

Validar mayor nota de N notas ingresadas

Publicado por Juan R. (6 intervenciones) el 29/01/2016 12:52:29
Buenas Jhonny

Te sugiero que guardes los datos en un array y después vayas recorriendo buscando la nota más alta. Después con un contador podrías contar cuantos alumnos tienen la nota más alta.

Espero que te haya orientado algo

Saludos
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

Validar mayor nota de N notas ingresadas

Publicado por Jhonny (3 intervenciones) el 29/01/2016 14:27:53
El problema es que no debo usar arreglos.
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: 417
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Validar mayor nota de N notas ingresadas

Publicado por Thanatos (199 intervenciones) el 02/02/2016 02:14:41
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
#include <iostream>
#include <string>
 
int main() {
    std::string salida("");
    std::string nombre("");
    std::string cedula("");
    int nota(0);
    int cantidad(0);
    int mayorNota(-1);
 
    std::cout << "Ingrese la cantidad de notas:\ncantidad = ";
    std::cin >> cantidad;
 
    int contador(1);
    while (contador <= cantidad) {
        std::cout << "\nIngrese el nombre: ";
        std::cin >> nombre;
        std::cout << "Ingrese la cedula: ";
        std::cin >> cedula;
        std::cout << "Ingrese la nota: ";
        std::cin >> nota;
 
        if (nota >= 0 && nota <= 20) {
            if (nota == mayorNota) {
                salida += "\nNombre: " + nombre + '\n' +
                          "Cedula: " + cedula + '\n' +
                          "Nota:   " + std::to_string(nota) + '\n';
            }
 
            if (nota > mayorNota) {
                mayorNota = nota;
                salida = "\nNombre: " + nombre + '\n' +
                         "Cedula: " + cedula + '\n' +
                         "Nota:   " + std::to_string(nota) + '\n';
            }
            ++contador;
        } else {
            std::cout << "\n* Nota fuera de rango (intente nuevamente) *\n";
        }
    }
    std::cout << "\n\nMAYOR(es) NOTA(s):\n" << salida;
    return 0;
}

Si tu compilador está configurado para utilizar cualquiera de los estándares más recientes (C++11 o C++14), no tendrás problemas para compilar el código. Con los estándares de 1998 (C++98) o de 2003 (C++03), la función std::to_string() ocasionará un error de compilación.
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