Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14
  1. #11

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    Weil gotos in Hochsprachen einfach nichts verloren haben und man sie normalerweise immer durch andere Sprachkonstrukte (if, while, ...) problemlos ersetzen kann.
    In extrem seltenen Fällen ist eine Verwendung von gotos evtl. gerechtfertigt, dies ist aber auch umstritten...

    Das mit dem Einlesen in ein Array kannst du ungefähr so machen:
    Code:
    bool weiche[4];
    for(int i=0;i<4;++i) {
      cout<<"weiche"<<i<< ": ";
      cin>>weiche[i];
    }
    Beachte aber, dass hier natürlich eine Plausibilitätsüberprüfung fehlt.

  2. #12
    DateMake Dialer
    Registriert seit
    04.07.2010
    Beiträge
    100

    Standard

    Das sind sogenannte Arrays, wenn du int weiche[4] schreibst, dann kannst du 4-int Variablen über den gleichen Namen "weiche" ansprechen, allerdings mit unterschiedlichen Indexes. Allerdings laufen die Indexes nicht von 1-4 sondern von 0-3 (weil immer bei 0 zu zählen begonnen wird.) Deshalb geht auch die For Schleife von 0 bis 3.
    Am besten du googelst einfach nach Arrays.

    Und zum Thema gotos:
    inout hat eigentlich schon fast alles wichtige gesagt.
    Bei kleinen Programmen geht es vll. noch gut (obwohl es da auch schon sehr unübersichtlich werden kann), aber sobald du größere Programme schreibst und überall gotos benutzt, kennst du dich selbst nicht mehr aus. Da springst du von einem zum anderen und dann wieder ganz wo anders hin usw. Sowas wird Spagetti-Code genannt und ist ÄUßERST schlechter Programmierstil. Vll. ist wirklich in ganz ganz speziellen Fällen ein Goto angebracht, aber selbst dann könnte man es auch durch if und for usw. lösen (vll. ein bisschen umständlicher, aber trotzdem). Ich würd trotzdem davon abraten, auch wenn dadurch das Programm ein bisschen "hässlicher" wird.

  3. #13
    \x7f Avatar von Salimox
    Registriert seit
    03.03.2008
    Beiträge
    107

    Standard

    Achso, ich habe nicht dran gedacht dass es bei größeren Programmen unübersichtlich wird, weil ich noch keine geschrieben habe aber ich verstehe es.

    Hier der überarbeitete Code, sieht doch um einiges schöner aus

    #include <iostream>
    using namespace std;



    int main()
    {

    int kugel,w1,w2,w3,w4;
    cin>>w1;
    cin>>w2;
    cin>>w3;
    cin>>w4;

    kugel = (!w3 && !w4) || (!w1 && !w2) || (!w1 && !w4);

    cout<<"Ausgang:"<<kugel<<endl;

    system("pause");
    }

    Eine Frage noch: Nehmen wir nur diesen part kugel = (!w3 && !w4) was würde das auf deutsch bedeuten?
    Geändert von Salimox (07.10.2010 um 14:29 Uhr)

  4. #14

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    Zitat Zitat von Salimox Beitrag anzeigen
    Hier der überarbeitete Code, sieht doch um einiges schöner aus
    Joa, mit einem Array + Schleife, bools, einem return und ohne system() noch schöner.
    Zitat Zitat von Salimox Beitrag anzeigen
    kugel = (!w3 && !w4) was würde das auf deutsch bedeuten?
    bedeutet, kugel ist gesetzt/1 (ungleich 0)/true, wenn w3 und w4 nicht gesetzt/0/false sind, sonst nicht gesetzt/0/false.
    Geändert von inout (07.10.2010 um 15:04 Uhr)

  5. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    Salimox (07.10.2010)

Seite 2 von 2 ErsteErste 12

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •