Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

matzelarts

unregistriert

1

21.01.2009, 21:45

Listing 3.8 - Countdown -> anderer Vorschlag

Ein Benutzer gibt eine Zahl ein, welche automatisch herunter gezählt werden soll. Bei der Hälfte gibt es eine Meldung der aktuellen Zeit.

Beim zu schnellen lesen :D verstand ich die Aufgabe nun so, dass der Benutzer nur gerade Zahlen eingeben darf. Somit entstand eine Version mit "switch".

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
using namespace std;

int main(){
    int startzeit;
    int rundezahl;
    //eingabe

    cout <<"Bitte geben sie die Startzeit ein:"<<endl;
    cin >> startzeit;
    //gerade zahl überprüfen und berechnen

    rundezahl=startzeit%2;
    switch(rundezahl){
        //wenn 0 also gerade

        case(0):{
            //runterzählen

            for(int i=startzeit; i>0; i--){
                //aktuelle Zahl ausgeben

                cout <<i <<endl;
                //wenn hälfte erreicht bescheid geben

                if(i==startzeit/2+1){   
                    cout<<"Die Zeit ist zur Haelfte um!"<<endl;
                }
            }  
        }
        break;
        //wenn falsche eingabe

        default:{
            cout<<"Sie haben keine gerade Zahl eingegeben!" <<endl;
        }
    }
    //ende

    cout<<"Das Programm wird beendet." <<endl;
return 0;
}

2

21.01.2009, 22:13

Hi matzelarts,

Willkommen im Forum!

Was will denn der Künstler damit sagen?
Gibts ein Problem, oder wolltest du nur deine Variante vorstellen?
fka tm

matzelarts

unregistriert

3

21.01.2009, 22:18

Hallo TrikkieMikkie,

es soll nur eine Variante sein. ;)
Danke der Nachfrage.

4

21.01.2009, 22:23

Verstehe.
Ich sehe allerdings noch einige Möglichkeiten zur Optimierung.
Aber das überlasse ich deiner Fantasie. ;)
fka tm

5

21.01.2009, 22:34

ich bin ja noch nicht ein experte, deshalb stelle ich die frage mal in die runde:

switch und case ist ja schön und gut, aber wäre man bei diesem beispiel nicht besser beraten mit einer einfachen if-else bedingung? also soweit ich gesehen habe braucht es ja nur gerade zwei optionen

DasBlub

Alter Hase

Beiträge: 802

Wohnort: Schweiz

Beruf: Programmierer

  • Private Nachricht senden

6

21.01.2009, 22:38

hier wäre if-else angebracht ;)

7

21.01.2009, 22:44

Oder "? :"
fka tm

Toa

Alter Hase

Beiträge: 944

Beruf: Research associate

  • Private Nachricht senden

8

21.01.2009, 22:49

Zitat von »"TrikkieMikkie"«

Oder "? :"


ternäre Operatoren ftw! Ist das eigentlich performaneter oder nur von der Syntax her kürzer?

9

21.01.2009, 22:51

Du immer mit deinen Fachausdrücken toa! :)

Ich weiß es nicht genau, bin infiziert von "Kürze des Codes". ;)
fka tm

10

21.01.2009, 23:50

Wie wärs mit ausprobieren?

*testen geh*

Werbeanzeige