‚using‘ und ‚case‘
Hallo Discordia,
#include
In C++ verwendet man besser anstelle von
Je nach verwendetem Compiler wird diesbezüglich eine Warnung ausgegeben (Warnungen sollte man nicht auf die leichte Schulter nehmen).
Du solltest noch mit angeben, welche Objekte du aus iostream benötigst, also zum Beispiel
using std::cout;
using std::cin;
using std::endl;
> int x;
Wozu soll x global deklariert sein? Wenn möglich, solltest du x innerhalb der main-Funktuion deklarieren.
> void main()
Genaugenommen sollte die main-Funktion nicht als void-, sondern als int-Funktion definiert werden. Bei ordnungsgemäßem Abarbeiten der main-Funktion sollte der int-Wert 0 zurückgeliefert werden, ansonsten ungleich 0.
> {
>
> int Zeiteinheit;
> enum Zeiteinheit {Sekunde, Minute, Stunde};
>
> cout \> Zeiteinheit;
>
> if (Zeiteinheit==Sekunde) {
> x=1;
> } else if (Zeiteinheit==Minute) {
> x=60;
> } else if (Zeiteinheit==Minute) {
> x=60;
Diese Zeile ist dir vermutlich aus Versehen doppelt geraten.
> } else if (Zeiteinheit==Stunde) {
> x=3600;
> }
>
> cout Als gravierenden Fehler kann ich eigentlich nur das fehlende using... ausmachen.
Aber einen Tipp habe ich noch:
Man kann unübersichtliche if-Kaskaden vermeiden, indem man die switch-Anweisung verwendet:
switch (Zeiteinheit)
{
case Sekunde: x=1; break;
case Minute: x=60; break;
case Stunde: x=3600; break;
default: cout
Durch das break wird die switch-Anweisung verlassen. Bei fehlendem break wird zum nächsten case gegangen. Dies wird ahand des folgenden Beispiels deutlich:
x=1;
switch (Zeiteinheit)
{
case Stunde: x\*=60;
case Minute: x\*=60;
case Sekunde: break;
default: cout
Im Fall Zeiteinheit==Stunde wird x zweimal mit 60 multipliziert, also insgesamt mit 3600. Im Fall Zeiteinheit==Minute wird nur einmal mit 60 multipliziert und bei Zeiteinheit==Sekunde passiert gar nichts. Ansonsten wird eine Fehlermeldung ausgegeben.
Viele Grüße
Jens