Histograma de calificaciones de alumnos en C++

En la universidad propusieron como proyecto realizar un histograma en C++ que represente la calificación de n cantidad de alumnos, las conclusiones no me quedaron muy claras, ya que se utilizaron librerías ajenas a las que propuse. El profesor hace unos días nos propuso realizar el programa con las librerías ctime y cstdlib, pero no tengo idea de como continuar, hasta ahora esto es lo que llevo:

#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main() {
int n,c,c1,calif[10],materia[5]={0},lim;
srand(time(NULL));
cout<<n;
for(c=0;c1 && calif[c];)
materia[4]++;
}

Mi idea es realizar el programa con diez alumnos, y colocar una función para un promedio grupal.

1 Respuesta

Respuesta
1

He logrado realizar el programa con otras librerías, el reto ahora sería sacar el promedio, adjunto programación:

#include <iostream>
using namespace std;
int main()
{
    int limite;
    int x = 0;//X y Y = Valores para graficar los asteriscos
    int y = 0;
    int menor = 0;
    int mayor = 0;
    cout<<"Cuantas materias?: ";
    cin>>limite;
    int Asteriscos[limite];
    for(int i = 0;i < limite; i++)
    {
            cout<<"Ingresa la calificacion "<<i+1<<": ";
            cin>>Asteriscos[i];
            cout<<Asteriscos[i];  
    }
    system("cls");
    for(int i = 0;i < limite;i++){
         for(int e = i; e < limite;e++){
             if(Asteriscos[i] > Asteriscos[e]){//Metodo burbuja
                 menor = Asteriscos[i];        
                 Asteriscos[i] = Asteriscos[e];
                 Asteriscos[e] = menor;
                 mayor = Asteriscos[e];
             }
             else
                 mayor = Asteriscos[i];
         }
    }
    int histograma[mayor];
    for(int i = (mayor-1); i >= 0; i--){  
        for(int k = 0; k < limite;k++){
            if(Asteriscos[k] > i){
                cout<<"*";
                x++;
            }
            else{
                cout<<" ";   
            }
        }
        histograma[y] = x;
        y++;
        x = 0;
        cout<<"\n";
    }
    for(int i= 0;i < limite;i++)
        cout<<"_";
    std::cout<<"\n\n";
    for(int i = 0;i < limite; i++){
        cout<<Asteriscos[i];
    }
    cout<<"\n\n";
     for(int i = (limite-1); i >= 0; i--){  
        for(int k = 0; k < mayor;k++){
            if(histograma[k] > i){
                cout<<"*";
            }
            else{
                cout<<" ";   
            }
        }
        cout<<"\n";
    }
    return 0;
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas