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.


Anmelden zum Antworten