C++-Programmierung – das erste Drittel aller Studierenden

Tabellen in c++ gelöste Übungen

c ++ – oberes Drittel

Erstellen Sie mit Struct ein Programm, das es uns ermöglicht, n Schülerzahl, Code, Namen und drei Noten einzugeben. Sie soll uns die Studierendendaten in der Reihenfolge ihres Durchschnitts anzeigen und nur das obere Drittel der Studierendenzahlen darstellen.

#include<iostream.h>
#include<conio.h>
#define lim 100
struct alumno{
               char codigo[9];
               char nombre[20];
               int nota1;
               int nota2;
               int nota3;
               };
void leer(int, struct alumno[]);
void ordenar(int , struct alumno[]);
void listado(int, struct alumno[]);

void main()
{int n;
struct alumno alu[lim];
cout<<"Cantidad de alumnos:"; cin>>n;
leer(n,alu);
ordenar(n,alu);
cout<<"Orden segun su promedio:"<<endl;
listado(n,alu);
getch();
}
void leer(int n, struct alumno x[])
{int i;
 for(i=0;i<n;i++)
 {cout<<"Codigo :"; cin>>x[i].codigo;
  cout<<"Nombre :"; cin>>x[i].nombre;
  cout<<"Nota 1 :"; cin>>x[i].nota1;
  cout<<"Nota 2:"; cin>>x[i].nota2;
  cout<<"Nota 3:"; cin>>x[i].nota3;
  }
  getch();
 }
 void ordenar( int n, struct alumno x[])
 {int i,j;
 struct alumno temp;
  for(i=1;i<n;i++)
   for(j=n-1;j>=i; j--)
   if((x[j-1].nota1+x[j-1].nota2+x[j-1].nota3)/3<(x[j].nota1+x[j].nota2+x[j].nota3)/3)
   {temp=x[j-1];
    x[j-1]=x[j];
    x[j]=temp;
    }
  }
  void listado(int n, struct alumno x[])
  {int i;
  for(i=0;i<n/3;i++)
  {cout<<x[i].codigo<<"t";
   cout<<x[i].nombre<<"t";
   cout<<x[i].nota1<<"t";
   cout<<x[i].nota2<<"t";
   cout<<x[i].nota3<<"t";
   cout<<(x[i].nota1+x[i].nota2+x[i].nota3)/3<<endl;
   }
  }
  • Es kann beobachtet werden, dass, wenn es die Reihenfolge gemäß seinem Durchschnitt anzeigt, es uns nur eine zeigt, und das ist die oberes Drittel.
  • Bei der Eingabe der Daten fragte er uns nach der Anzahl der Schüler und wir tippten 3 ein, es ist ungefähr so, wenn wir die finden wollen oberes Drittel Entsprechend der höchsten Note der Schüler zeigt er uns nur eine.
  • Würden wir als Schülerzahl 6 eingeben, würden uns am Ende nur die ersten beiden Schüler mit dem höchsten Durchschnitt angezeigt, was gleichbedeutend ist oberes Drittel.
  • Es zu finden oberes Drittel, genügt es, die Schülerzahl (n) durch „3“ zu teilen.