Kommentieren
-
Kann jemand mir mal den Quelltext richtig Kommentieren .. besten Dank an die die mir das gemacht haben aber ich komm mit dem verstehen nicht ganz klar ..
#include <conio.h> #include <iostream.h> int main() { string sportlernamen[8]; // 8 Sportler eingeben int punkte[8][10],i,j,k,l,swap,pos,zwpunktpos[8][2]; // j = Spieler ; i = Wettkampf ; k = einzel Wettbewerb clrscr(); cout << "\tWettkampfsteilnehmererfassung\n\n"; for(i=0;i<8;i++) // { // cout <<"\nBitte "<<i+1<<". Teilnehmernamen eingeben: "; // for-schleife ; Teilnehmer eingeben cin >> sportlernamen[i]; // } // clrscr(); for (i=0;i<10;i++) // die for-schleife zählt die Wettkämpfe weiter { cout << "\tErgebnisse Wettkampf Nr.: "<<i+1<<"\n\n"; for(j=0;j<8;j++) // Zählt Spieler rauf bis 8 nach eingabe der Punkte { cout << "Ergebnis Sportler "<<sportlernamen[j]<<" :"; cin >>punkte[j][i]; // Ein Ergebnis für ein Spieler } // 8 Wiederholungen für ein Wettkampf clrscr(); for(k=0;k<8;k++) { zwpunktpos[k][0]=k; zwpunktpos[k][1]=0; for(j=0;j<=i;j++) zwpunktpos[k][1]+=punkte[k][j]; // Zwischenpunktsumme pro Spieler wird nach dem Spiel erhöht // zwpunktpos k1 wird um punkte kj erhöht } // j<=i | j wird erhöht von null bis wert von i for(j=0;j<8;j++) // { for(k=1;k<8;k++) // k { if(zwpunktpos[k][1]>zwpunktpos[k-1][1]) { for(int l=0;l<2;l++) // Zwischenpunktsumme kl wird mit dem vorgänger getauscht { swap=zwpunktpos[k][l]; // zwpunktpos[k][l]=zwpunktpos[k-1][l]; // auslagern zwpunktpos[k-1][l]=swap; // } } } } cout << "\t\tErgebnisse der Wettbewerbe\n\nSportler:"; for(j=0;j<8;j++)cout << " | "<<sportlernamen[j]; // Tabelle ; cout << endl; for(j=0;j<=i;j++) // Beginn: Ausgabe der Tabelle { cout << "wb"<<j+1<<": "; // Ausgabe Wettbewerbsnummer for(k=0;k<8;k++) { cout << " | " << punkte[k][j]; // | ; Punkte vom einzelnen Wb werden ausgeben nach | } cout << endl; } cout << "\n\n"; pos=0; // 0 gesetzt ; zum verwenden... (ram) for(j=0;j<8;j++) // { if(j&&zwpunktpos[j-1][1]!=zwpunktpos[j][1]) pos++; // pos wird erhöht wenn pkz_zahl ungleich ist ... vom vorh. spieler cout << pos+1<< ".Platz: " << sportlernamen[zwpunktpos[j][0]]<< " mit " << zwpunktpos[j][1] << " Punkten.\n"; } cout << endl; } getch(); return 0; }
-
Nein, keine Lust.
-
Ok, ich versuche es mal.
#include <conio.h> #include <iostream.h> int main() { string sportlernamen[8]; // speichern der Sportlernamen, normalerweise keines Komentars würdig int punkte[8][10],i,j,k,l,swap,pos,zwpunktpos[8][2]; // j=Spieler i=Wettkampf k=einzel Wettbewerb punkte=punkte pro spieler und wetkampf // was soll der Komentar. ich wuste wie ich die Variablen besser genant hätte, aber ich habs nicht gemacht clrscr(); cout << "\tWettkampfsteilnehmererfassung\n\n"; for(i=0;i<8;i++) { cout <<"\nBitte "<<i+1<<". Teilnehmernamen eingeben: "; // Namenserfassung der Sportler cin >> sportlernamen[i]; } clrscr(); for (i=0;i<10;i++) // Ein Durchlauf pro Wettkampf { cout << "\tErgebnisse Wettkampf Nr.: "<<i+1<<"\n\n"; for(j=0;j<8;j++) // Erfassung der Punkte für den aktuellen Wetkampf { cout << "Ergebnis Sportler "<<sportlernamen[j]<<" :"; cin >>punkte[j][i]; // Ein Ergebnis für ein Spieler } clrscr(); for(k=0;k<8;k++) { zwpunktpos[k][0]=k; // Spielernummer speichern zwpunktpos[k][1]=0; // Zwischensummer wird jedesmal neu kalkuliert und dementsprechend mit Null initialisiert for(j=0;j<=i;j++) zwpunktpos[k][1]+=punkte[k][j]; // addition aller Punkte die der Spieler bisher erreicht hat } for(j=0;j<8;j++) // Sortierung nach Punktzahl (Bublesort glaube ich) { for(k=1;k<8;k++) // müsste bei Bublesort for(k=1;k<8-j;k++) sein { if(zwpunktpos[k][1]>zwpunktpos[k-1][1]) { for(int l=0;l<2;l++) // Tauschen der Zwischensumme und der Spielernummer { swap=zwpunktpos[k][l]; zwpunktpos[k][l]=zwpunktpos[k-1][l]; zwpunktpos[k-1][l]=swap; } } } } cout << "\t\tErgebnisse der Wettbewerbe\n\nSportler:"; for(j=0;j<8;j++)cout << " | "<<sportlernamen[j]; // Tabelle ; (hinter ein Komentar ein semikolon zu machen find ich auch lustig) cout << endl; for(j=0;j<=i;j++) // j hier auf einmal für einzel Wettbewerb { cout << "wb"<<j+1<<": "; // und k für Spieler for(k=0;k<8;k++) { cout << " | " << punkte[k][j]; // | ; Punkte vom einzelnen Wb werden ausgeben nach | } cout << endl; } cout << "\n\n"; pos=0; // 0 gesetzt ; zum verwenden... (ram) for(j=0;j<8;j++) // { if(j&&zwpunktpos[j-1][1]!=zwpunktpos[j][1]) pos++; // pos wird erhöht wenn pkz_zahl ungleich ist ... vom vorh. spieler // ermöglicht wie zwei 2. plätze in einem sochen fall sollte es dann aber keinen 3. platz geben sonder mit dem 4. weitergemacht werden cout << pos+1<< ".Platz: " << sportlernamen[zwpunktpos[j][0]]<< " mit " << zwpunktpos[j][1] << " Punkten.\n"; } cout << endl; } getch(); return 0; }
weitere fragen, gerne. aber das nächste mal nur auf den code eingehen den du wirklich nicht verstanden hast. teile davon sind doch zu offensichtlich. z.b. einlesen der namen.
-
Danke Danke, kannst du mir mal verraten was du anstelle meiner Variablen genommen hättest?
-
ihh end of line comments, noch unübersichtlicher gehts kaum noch
-
was meinsten damit????? zuviel in der main_fkt. ?
-
retterindernot schrieb:
was meinsten damit????? zuviel in der main_fkt. ?
nein. aber kommentare am ende der zeile sind furchtbar unübersichtlich vorallem wenn die zeile dann noch über 80 zeichen lang wird. verwendet doch lieber überschrift kommentare:
// speichern der Sportlernamen, normalerweise keines Komentars würdig string sportlernamen[8]; // j=Spieler i=Wettkampf k=einzel Wettbewerb punkte=punkte pro spieler und wetkampf int punkte[8][10],i,j,k,l,swap,pos,zwpunktpos[8][2];
-
// j=Spieler i=Wettkampf k=einzel Wettbewerb punkte=punkte pro spieler und wetkampf int punkte[8][10],i,j,k,l,swap,pos,zwpunktpos[8][2];
Das ist absolut geil...
-
Mach ich doch gerne:
#include <conio.h> #include <iostream.h> // Hier binde ich einen veralteten Header ein int main() { /* Hier verwirre ich den Leser, indem ich viel zu viele Variablen auf einmal an einer schwachsinnigen Stelle definiere, denen ich zudem sinnlose Namen gebe */ string sportlernamen[8]; int punkte[8][10],i,j,k,l,swap,pos,zwpunktpos[8][2]; // Um das Lesen weiter zu erschweren verzichte ich im Folgenden komplette auf Leerzeilen clrscr(); cout << "\tWettkampfsteilnehmererfassung\n\n"; for(i=0;i<8;i++) { cout <<"\nBitte "<<i+1<<". Teilnehmernamen eingeben: "; cin >> sportlernamen[i]; } clrscr(); for (i=0;i<10;i++) // Wenn man für alles immerwieder i verwendet, wird der Leser bald komplett konfus { cout << "\tErgebnisse Wettkampf Nr.: "<<i+1<<"\n\n"; for(j=0;j<8;j++) // Zählt Spieler rauf bis 8 nach eingabe der Punkte // Hier verwirre ich mit einem Kommentar (tricky) { cout << "Ergebnis Sportler "<<sportlernamen[j]<<" :"; cin >>punkte[j][i]; // Ein Ergebnis für ein Spieler } // 8 Wiederholungen für ein Wettkampf clrscr(); for(k=0;k<8;k++) { zwpunktpos[k][0]=k; zwpunktpos[k][1]=0; for(j=0;j<=i;j++) zwpunktpos[k][1]+=punkte[k][j]; // Wie viele Schleifen kann man verschachteln? } for(j=0;j<8;j++) { for(k=1;k<8;k++) { if(zwpunktpos[k][1]>zwpunktpos[k-1][1]) { for(int l=0;l<2;l++) // Zwischenpunktsumme kl wird mit dem vorgänger getauscht // und das erst { swap=zwpunktpos[k][l]; zwpunktpos[k][l]=zwpunktpos[k-1][l]; // auslagern // eigentlich tausche ich ja, aber das muss ja niemand wissen ;) zwpunktpos[k-1][l]=swap; } } } } cout << "\t\tErgebnisse der Wettbewerbe\n\nSportler:"; for(j=0;j<8;j++)cout << " | "<<sportlernamen[j]; cout << endl; for(j=0;j<=i;j++) { cout << "wb"<<j+1<<": "; for(k=0;k<8;k++) { cout << " | " << punkte[k][j]; } cout << endl; } cout << "\n\n"; pos=0; // 0 gesetzt ; zum verwenden... (ram) // eigentlich gebe ich \n\n aus ;) for(j=0;j<8;j++) // { if(j&&zwpunktpos[j-1][1]!=zwpunktpos[j][1]) pos++; cout << pos+1<< ".Platz: " << sportlernamen[zwpunktpos[j][0]]<< " mit " << zwpunktpos[j][1] << " Punkten.\n"; } cout << endl; } getch(); return 0; }
-
Vielen Dank.