Zum Hauptinhalt springen

Aufgabe 6

Schwierigkeitsgrad: Einfach
Themen: Funktionen Gleitkommadarstellung Schleifen Kontrollstrukturen

Schreiben Sie ein C++ Programm, das mit einem durch den User gegebenen ganzzahligen Radius:

  1. den Umfang berechnet und ausgibt.
  2. die Fläche berechnet und ausgibt.
  3. den Kreis am Ende in einer auf der Konsole "zeichnet".
Schritt-für-Schritt-Anleitung zu Punkt 3:
  1. Die Funktion zeichneKreis(...) bekommt einen Radius übergeben – z. B. 5.

  2. Zwei Schleifen durchlaufen ein 2D Raster: vertikal (y) von -radius bis radius, und horizontal (x) von -radius bis radius. Für jeden Punkt (x, y) wird der Abstand zur Mitte (0, 0) berechnet: sqrt(x*x + y*y), also mit dem Satz des Pythagoras. ==Achtung: In dieser Aufgabe wird kein Array benötigt!==

  3. Wenn der soeben berrechnete Abstand ungefähr gleich radius ist (mit kleinem Spielraum), wird an dieser Stelle ein o gezeichnet. Das ist ein Punkt auf dem Kreis.

  4. Wenn der Punkt nicht nah genug am Rand liegt, wird ein Leerzeichen ausgegeben.

  5. Nach jeder Rasterzeile wird ein Zeilenumbruch gemacht (cout << endl;).

  6. Am Ende ergibt sich ein grobes, aber erkennbares Kreisbild aus Zeichen in der Konsole.

Hinweise

Verwenden Sie den Header #include <cmath>, um π (M_PI) zu verwenden.
Erstellen sie für Punkt 1-3 eigene Funktionen, um den Code übersichtlich zu halten.

Ein ungefährer Vergleich lässt sich nicht durch ein Symbol wie == realisieren, sondern erfordert ein bisschen mathematische Trickserei: abs(a - b) < 0.7 ist eine Möglichkeit die absolute Abweichung von a und b mit einer Toleranz von 0.7 zu vergleichen. Beachten Sie: < ist ein Logik-Operator und der gesamte Ausdruck somit ein Logik-Ausdruck, der true oder false liefert.