Autor Tema: C++ Numero mayor y menor programa calcular promedio, mejor nota y peor nota  (Leído 36285 veces)

Blaster

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Hola, tengo una duda de por que no me sale bien el resultado de este ejercicio.
El ejercicio dice lo siguiente:

Ingrese las notas con que un alumno aprobó todas las materias durante su carrera universitaria, se  deberá ingresar la cantidad de materias que tiene la misma.
Se desea conocer su: PROMEDIO, MEJOR NOTA, PEOR NOTA.


El código compila bien pero los errores que me dan son los siguientes:

 . El promedio da como resultado cualquier cosa cuando lo saco en una calculadora Real
 . Me repite el mismo numero cuando deseo conocer el mayor y menor, es decir repite el ultimo numero que pongo en la nota de la ultima materia.

Acá les dejo el código y si me pueden dar una mano sería mucho agradecimiento!!

Código: [Seleccionar]
#include <iostream>
using namespace std;

int main(int argc, char *argv[]) {

int materias,i,nota;
int prom, mnota, bnota, acum;
char codi;


cout<<"Ingrese la cantidad de materias que asiste: ";
cin>>materias;

for (i=1; i<materias; i++) {
acum = 0;

cout<<"Ingrese la notas de la materia:"<<i<<": ";
cin>>nota;
(acum = acum+nota);
}

if (i = 1) {

mnota = nota;
bnota = nota;
}

if (nota>mnota) {

mnota = nota;
}
if (nota<bnota) {
bnota = nota;
}



(prom = acum/materias);
cout<<"--------------------------";
cout<<endl;
cout<<"El promedio total es de: "<<prom;
cout<<endl;
cout<<"La nota más alta es: "<<mnota;
cout<<endl;
cout<<"La nota más baja es: "<<bnota;
cout<<endl;
cout<<"--------------------------";
cout<<endl;







return 0;
}
« Última modificación: 16 de Enero 2017, 19:36 por Ogramar »

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:Duda C++ Numero mayor y menor
« Respuesta #1 en: 28 de Diciembre 2016, 13:36 »
Hola Blaster.

No se mucho de c++, pero tienes errores que se ven fácil sin saber mucho de c++.

La variable que usas para acumular las notas, la inicializas a 0 cada vez que se ejecuta el bucle for, por lo cual solo guarda el valor de la última nota introducida.

Si quiero introducir 4 materias a la primera pregunta, no hay ningún sitio donde guardes estos valores, porque solo tienes una variable que vas sobreescribiendo a cada paso en el bucle for, deberías usar un array.

Te dejo un ejemplo de como lo resolvería yo, también he añadido unos bucles for anidados donde ordeno el array de menor a mayor, esto lo hice así, porque como te dije, no se mucho de c++ y no se si habrá algún método o función que se encargue de ello, eso sí, el ejemplo funciona y hace lo que pide el enunciado.


Código: [Seleccionar]
#include <iostream>
using namespace std;

int main(int argc, char *argv[])
{
    int materias,i,j,nota;
    int prom, mnota, bnota, acum;
    char codi;
    cout<<"Ingrese la cantidad de materias que asiste: ";
    cin>>materias;

    int notas[materias];
    acum = 0;
    for (i=0; i<materias; i++)
    {
        cout<<"Ingrese la notas de la materia:"<<i+1<<": ";
        cin>>notas[i];
        (acum = acum+notas[i]);
    }
    for(i=0; i<materias; i++)
    {
        for(j=i+1; j<materias; j++)
        {
            if(notas[j]<notas[i])
            {
                nota=notas[j];
                notas[j]=notas[i];
                notas[i]=nota;
            }
        }
    }
    bnota = notas[0];
    mnota = notas[materias-1];

    (prom = acum/materias);
    cout<<"--------------------------";
    cout<<endl;
    cout<<"El promedio total es de: "<<prom;
    cout<<endl;
    cout<<"La nota más alta es: "<<mnota;
    cout<<endl;
    cout<<"La nota más baja es: "<<bnota;
    cout<<endl;
    cout<<"--------------------------";
    cout<<endl;

    return 0;
}

Saludos. ;D

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".