Hi,
hätte ne kurze, sicherlich sehr leichte Frage die mir gerade Kopfzerbrechen bereitet...
Hier meine Funktion:
Ich will ein Histogramm erstellen, so dass für 3% 3x "zeichen" (***) ausgegeben werden..
Soweit so gut, in der printf - Ausgabe funktioniert es, in der fprintf-Ausgabe kriege ich int prozentwert als char-Zeichen ausgegeben, bsp 40% gibt er mir als "(" aus = ascii-wert...
Wäre euch sehr dankbar wenn ihr mir sagen könntet wo der fehler liegt...
hätte ne kurze, sicherlich sehr leichte Frage die mir gerade Kopfzerbrechen bereitet...
Hier meine Funktion:
Ich will ein Histogramm erstellen, so dass für 3% 3x "zeichen" (***) ausgegeben werden..
Code:
char histogramm(int zeichen, int prozentwert){ //zeichen = das zu malende Zeichen, in meinem Fall der Stern "*"; prozentwert ist ein errechneter Wert, von 0-100
int i;
for(i=0;i<prozentwert;i++)
printf("%c",zeichen);
}
Code:
for(i2=0;i2<26;i2++){
printf("%c/%c in Datei = %3i _ %2i%% _ ",buchstabe_gross+i2,buchstabe_klein+i2,alphabet[i2],alphabet[i2]*100/nettobuchstaben);
histogramm('*',alphabet[i2]*100/nettobuchstaben);
printf("\n");
fprintf(ptr_datei,"Anzahl %c/%c in Datei = %3i und %2i%%\n",buchstabe_gross+i2,buchstabe_klein+i2,alphabet[i2],alphabet[i2]*100/nettobuchstaben);
fprintf(ptr_datei,"%c \n",histogramm('*',alphabet[i2]*100/nettobuchstaben)); //ohne diese letzte zeile funktioniert die konsolenausgabe, mit dieser zeile wird die Konsolenausgabe zerschossen (es wird 2x "gemalt") und in der txt-Ausgabe bekomm ich nur wieder das char-Zeichen vom prozentwert ausgegeben
Wäre euch sehr dankbar wenn ihr mir sagen könntet wo der fehler liegt...