#include <stdio.h>
main(){
int iNote[3000],iKategorie[13],iWert1,iWert2,i,f;
float fZahl[3000];
char Zeichen[2],Ausgabe[30];
FILE *file;
if ((file = fopen("noten.dat","r")) == NULL){
printf("\nFehler beim öffnen der Datei!");
}
else
printf("\nDatei gelesen... Auswertung beginnt");
Zeichen[1]='\0'; //Zum Abschluss der Zahl
f = 0;
while(Zeichen[0] != '!') { //.dat Datei mit einem ! hinter der letzten Zahl abschliessen
for(i=0;i<3;i++){
Zeichen[0] = fgetc (file);
if(i==0)
iWert1 = atoi(Zeichen);
if(i==2)
iWert2 = atoi(Zeichen);
}
fZahl[f] = ((float)(iWert1*10+iWert2)/10);
f++;
Zeichen[0] = fgetc (file); // Zeilenumschübe zählen auch als Zeichen!
}
fclose (file);
printf("\n\nEs wurden %i Noten gefunden\n",f);
iKategorie[0]=0;
iKategorie[1]=0;
iKategorie[2]=0;
iKategorie[3]=0;
iKategorie[4]=0;
iKategorie[5]=0;
iKategorie[6]=0;
iKategorie[7]=0;
iKategorie[8]=0;
iKategorie[9]=0;
iKategorie[10]=0;
iKategorie[11]=0;
iKategorie[12]=0;
for(i=0;i<f;i++){
if(fZahl[i]>=1.0 && fZahl[i]<1.3)
iKategorie[0]++;
else if(fZahl[i]>=1.3 && fZahl[i]<1.7)
iKategorie[1]++;
else if(fZahl[i]>=1.7 && fZahl[i]<2.0)
iKategorie[2]++;
else if(fZahl[i]>=2.0 && fZahl[i]<2.3)
iKategorie[3]++;
else if(fZahl[i]>=2.3 && fZahl[i]<2.7)
iKategorie[4]++;
else if(fZahl[i]>=2.7 && fZahl[i]<3.0)
iKategorie[5]++;
else if(fZahl[i]>=3.0 && fZahl[i]<3.3)
iKategorie[6]++;
else if(fZahl[i]>=3.3 && fZahl[i]<3.7)
iKategorie[7]++;
else if(fZahl[i]>=3.7 && fZahl[i]<4.0)
iKategorie[8]++;
else if(fZahl[i]>=4.0 && fZahl[i]<4.3)
iKategorie[9]++;
else if(fZahl[i]>=4.3 && fZahl[i]<4.7)
iKategorie[10]++;
else if(fZahl[i]>=4.7 && fZahl[i]<5.0)
iKategorie[11]++;
else if(fZahl[i]==5.0)
iKategorie[12]++;
}
//Einteilung in die Gruppen
for(i=20;i>0;i--){
if(iKategorie[0]>=i)
Ausgabe[0]='*';
else
Ausgabe[0]=' ';
Ausgabe[1]=' ';
if(iKategorie[1]>=i)
Ausgabe[2]='*';
else
Ausgabe[2]=' ';
Ausgabe[3]=' ';
if(iKategorie[2]>=i)
Ausgabe[4]='*';
else
Ausgabe[4]=' ';
Ausgabe[5]=' ';
if(iKategorie[3]>=i)
Ausgabe[6]='*';
else
Ausgabe[6]=' ';
Ausgabe[7]=' ';
if(iKategorie[4]>=i)
Ausgabe[8]='*';
else
Ausgabe[8]=' ';
Ausgabe[9]=' ';
if(iKategorie[5]>=i)
Ausgabe[10]='*';
else
Ausgabe[10]=' ';
Ausgabe[11]=' ';
if(iKategorie[6]>=i)
Ausgabe[12]='*';
else
Ausgabe[12]=' ';
Ausgabe[13]=' ';
if(iKategorie[7]>=i)
Ausgabe[14]='*';
else
Ausgabe[14]=' ';
Ausgabe[15]=' ';
if(iKategorie[8]>=i)
Ausgabe[16]='*';
else
Ausgabe[16]=' ';
Ausgabe[17]=' ';
if(iKategorie[9]>=i)
Ausgabe[18]='*';
else
Ausgabe[18]=' ';
Ausgabe[19]=' ';
if(iKategorie[10]>=i)
Ausgabe[20]='*';
else
Ausgabe[20]=' ';
Ausgabe[21]=' ';
Ausgabe[22]=' ';
if(iKategorie[11]>=i)
Ausgabe[23]='*';
else
Ausgabe[23]=' ';
Ausgabe[24]=' ';
Ausgabe[25]=' ';
if(iKategorie[12]>=i)
Ausgabe[26]='*';
else
Ausgabe[26]=' ';
Ausgabe[27]=' ';
Ausgabe[28]=' ';
Ausgabe[29]='\0';
printf("\n%s %i",Ausgabe,i);
}
printf("\n1 2 3 4 5 6 7 8 9 10 11 12");
scanf("%i",&i); //Vorrichtung damit das Programm sich nicht nach der Ausgabe sofort schliesst!
}