Zum Hauptinhalt springen

Aufgabe 10

Schwierigkeitsgrad: Mittel
Themen: Fehlerbehandlung Benutzereingabe Funktionen

Implementieren Sie ein C++ Programm zur Berechnung der mechanischen Spannung an einem Bauteil. Das Programm soll den Benutzer auffordern, die Kraft (in Newton) und die Querschnittsfläche (in Quadratmillimeter) einzugeben und daraus die Spannung mit der Formel

σ=FA\sigma = \frac{F}{A}

berechnen.

Das Programm muss folgende Anforderungen erfüllen:

  • Benutzen Sie try-catch-Blöcke, um Fehler zu erkennen und den Benutzer zur erneuten Eingabe aufzufordern.
  • Die Eingabe soll in einer Funktion erfolgen, die bei Fehlern Exceptions wirft.
  • Die Querschnittsfläche darf nicht null sein. Dies soll durch eine sinnvolle Exception abgefangen werden.
  • Die Spannungsberechnung soll in einer separaten Funktion erfolgen und bei einem Fehler ebenfalls eine Exception werfen.
  • Nach erfolgreicher Berechnung soll das Ergebnis (Spannung in N/mm²) ausgegeben werden und das Programm beendet sich.

Hinweise

  • Denken Sie daran, Eingaben als Strings einzulesen und mit std::stod oder ähnlichem in Zahlen umzuwandeln, um Eingabefehler abzufangen.
  • Verwenden Sie geeignete Standard-Exceptions (std::invalid_argument, std::runtime_error, std::domain_error).
  • Stellen Sie sicher, dass nach jedem Fehler eine neue Eingabe möglich ist, bis gültige Werte vorliegen.
  • Sie benötigen die iostreamund string.