C++ Kurs


Schleifentypen
 Zählerschleifen: For-Schleife

 Beispiel: Primzahlenberechnung
[Ausführen]
 
Struktogramm:
Quellcode:
#include <iostream.h>
#include <stdlib.h>>
void main()
{  //Eingabe
   int Zahl,obergrenze;
   char antw;

   // Verarbeitung
   do
   {                                                                                 //Anfang
   system ("cls");
   cout << "\n -----Salve-----";
   cout << "\n\n ====================================================================";
   cout << endl;
   cout << "\n Mit diesem Programm koennen sie alle Zahlen bis zu einer ";          //Begrüßungstext
   cout << "\n selbst gewaehlten Obergrenze auf Primzahlen ueberpruefen.\n\n";
   cout << " ====================================================================";
   cout << endl;
   cout << "\n\n Bitte geben sie Obergrenze ein: ";                                //Eingabeaufforderung 
   cin >> obergrenze;
   cout << endl;
   if (obergrenze > 0)
     {                                                                             //Berechnung mit zwei Schleifen
      for (Zahl=2;Zahl<=obergrenze;Zahl++)
      {
          antw = 'j';
          for (int i=2 ; i<=Zahl-1 ; i++)
          {
                   if ( (Zahl % i) == 0 )
                         {
                              antw = 'n';  // y ist Teiler von x
                     }
          }
        if (antw == 'j')
        {
           cout << Zahl << " ist eine Primzahl\n";                                   //Ausgabe:Primzahl 
        }
      }

        cout << "\nWollen sie die Berechnung wiederholen? (j/n)";                    //Abfrage zur Programmwiederholung 
        cout << endl;
        cin >> antw;

    }// if
   else
   {
       cout << "\nFalsche Eingabe! Wahrscheinlich negative Eingabe!Bitte Wiederholen Sie!";    /*Schleife zum
                                                                                               Abfangen von
                                                                                               falschen Eingaben*/


   cout << "\nWollen sie die Berechnung wiederholen? (j/n)";
   cout << endl;
   cin >> antw;
   }
   } while (antw == 'j') ;
   getch();
   cout << " \n\n\t---< salve >---";
   cout << endl;
   cout << " \n\t<^> <(- -)> <^>\n\n\n";
   getch(); // warten
}


      
Verzweigungen
 If-Verzweigungen

 Beispiel: Umrechnung von PS in KW

 
Struktogramm:
Quellcode:
#include <iostream.h>
#include <stdlib.h>>
void main()
{
  int PS, KW;
  char i;


  // Werteingabe

       do
         {
         system ("cls");
         cout << "==============================================\n";
         cout << "Dieses Program berechnet die KW ihres Auto!\n";
         cout << "==============================================\n";
         cout << endl;
         cout << "Bitte die PS angeben: ";
         cin >> PS;
         cout << endl;

         // Verarbeitung
         if (PS>0)
            {
            KW = PS * 0.7355;
            cout << "Ihr Auto hat: " << KW << " KW\n\n\n";
            cout << endl;
            }
         else
            {
            cout << "\t\t\a Falsche Eingabe\n\n\n";
            cout << endl;
            }
                 {
                 cout << "Wollen sie die Berechnung wiederholen? (j/n)";
                 cout << endl;
                 cin >> i;
                 }
         } while (i == 'j');


   getch(); // warten

}
      
 Switch-Case

 Beispiel: Klavier
[Ausführen]
 
Struktogramm:
Quellcode:
#include <iostream.h>
#include <stdlib.h>
#include <windows.h&gr;
void main()
{
char taste;
int f; // Frequenz
int dauer = 100; // dauer eines Tones  


do        // Schleife zur Programmwiederholung 
{
    taste = getch();  // Tasteneingabe

    switch (taste)    // Fallunterscheidung
    {
           case '1' : f = 253; break;
           case '2' : f = 277; break;
           case '3' : f = 293; break;
           case '4' : f = 311; break;
           case '5' : f = 329; break;
           case '6' : f = 349; break;
           case '7' : f = 369; break;
           case '8' : f = 392; break;
           case '9' : f = 415; break;
           case '0' : f = 515; break;
           default:    f = 60;
    }
    Beep(f,dauer);

} while (taste !=  char (27));

}
      
 If-Verzweigungen

 Beispiel: BMI-Rechner
[Ausführen]
 
Struktogramm:
Quellcode:
#include <iostream.h>
#include <stdlib.h>
void main()
{
  double koerpergewicht;
  double koerpergroesse;
  double bmi;
  char antwort;

  do
  {
     // Eingabe

     system ("cls");
     cout << "\tMit diesem Programm koennen Sie Ihren BMI berechnen!!!";
     cout << "\n\t=====================================================";
     cout << endl;


     cout << "\n\nBitte geben sie ihr Koepergewicht ein: ";
     cin >> koerpergewicht;
     cout << "\nBitte geben Sie ihre Koepergroesse in Meter ein: ";
     cin >> koerpergroesse;


     // Verarbeitung

     if ( (koerpergewicht>0) && (koerpergroesse > 0) )
     {
         bmi = koerpergewicht / (koerpergroesse * koerpergroesse);

         // Ausgabe

         cout << "\n\nIhr BMI Betraegt:   ";
         cout << bmi;
         cout << endl;

         cout << endl;
         cout << endl;
         cout << endl;
         cout << " \t\t\t    ALTER      \tBMI";
         cout << "\n\t\t\t 16-24 Jahre \t19-24";
         cout << "\n\t\t\t 25-34 Jahre \t20-25";
         cout << "\n\t\t\t 35-44 Jahre \t21-26";
         cout << "\n\t\t\t 45-54 Jahre \t22-27";
         cout << "\n\t\t\t 55-64 Jahre \t23-28";
         cout << "\n\t\t\t  >65  Jahre \t24-29";
     }

     else
     {
      cout << "\n\t\t\t  >"\n\n\n\n\t\t\t\t\aFALSCHE EINGABE\n";
     }




     // Abfrage zur Programmwiederholung 

     cout << "\n\t\t\t  >"\n\n\n\tWollen sie eine weitere Rechnung durchfuehren? ( j / n )";
     cin >> antwort;

  } while (antwort == "\n\t\t\t  >'j');

}

(C) Felix Laufer