Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » If-Anweisung mit Tastendruck

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
10.02.2016, 13:00 Uhr
Logiaa



Hey Leute,

ich habe ein Programm geschrieben, dass das Alter von 3 Personen vergleicht. Nun möchte ich am Ende einstellen, das man gefragt wird ob man den Vorgang wiederholen möchte, also eine Schleife. Möchte, das wenn der Anwender Ja sagen möchte, er "y" eingeben muss und für Nein "n" um das Programm zu beenden, bei Nein dann mit. Und das mit goto und return 0.
Habe mir das ungefähr so vorgestellt:

if (press 'y')
{

goto start:

}

if (press 'n')
{

return 0;

}

Ich weiß das das so nicht funktioniert, aber damit ihr wisst, was ich meine
Danke im Voraus!

lg Logiaa

PS: Ich habe nicht verstanden wie ich den obigen Code mit dem Syntax hier verbinden konnte.

Dieser Post wurde am 10.02.2016 um 13:00 Uhr von Logiaa editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.02.2016, 13:02 Uhr
Logiaa



http://pastebin.com/xWfRF4iZ Hier der komplette Code.
EDIT: Habe das string mit char ersetzt.

Dieser Post wurde am 10.02.2016 um 13:03 Uhr von Logiaa editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.02.2016, 15:25 Uhr
~f.-th.
Gast


Warum diese Vorgaben deinerseits?
Das kann mit diesen Vorgaben nur schlechter C++ Quellcode werden.

Schau dir bitte andere Schleifen an. C++ bietet da neben "goto:" noch ein paar Varianten die i.d.R. eher gewählt werden sollten.

C++:
if (press 'y')  // du weisst das hier das selbe Ergebnis wie bei if(press 'n') herauskommt?
{

    goto start:

}

if (press 'n')  // siehe 'y'
{

    return 0;

}



also die Sache mit if auch noch einmal nachlesen. Oder beabsichtigst du das so wie im Kommentar beschrieben?

Und das mit dem Quelltext hier in bunt:
eckige Klammer auf - cpp -eckige Klammer zu
dein Quelltext
eckige Klammer auf - /cpp - eckige Klammer zu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.02.2016, 16:13 Uhr
Logiaa



Ja mittlerweile hab ich den Code etwas verändert. Wir machen das gerade in der Schule und deswegen sieht es so aus wie es aussehen soll^^ Also nachdem was unser Lehrer gesagt hat.
Die Vorgabe habe ich gemacht, damit man erkennen kann, dass ich mich darum bemühe, das Problem selber zu lösen und nicht einfach will das mir das jemand perfekt schreibt. Wieso sollte man denn "goto" nicht verwenden? Vllt bei komplexeren Funktionen aber jetzt hier, ist es doch meiner Meinung nach ganz okay und ist auch für einen Anfänger nicht schwer.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.02.2016, 16:41 Uhr
~f.-th.
Gast


I.d.R. kannst du ja mit "goto" an jede Position im Quelltext springen. Das stört meist bei der Übersichtlichkeit des Quelltextes. Stichwort: Quelltext-Formatierung

Nur, wenn in einem komplexen Quelltext dringend der "Reseve-Fallschrim" codemässig gezogen werden muss, ist "goto" eine Option.

Also im Quelltext:

C++:
    // Flugzeug brennt
    // Fallschirm funktioniert nicht
   goto Reseve_Fallschirm:

   Reserve_Fallschirm:
   ...
   // hoffentlich sicher gelandet

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
10.02.2016, 16:51 Uhr
Logiaa



Der Reservefallschirm, wie jetzt in deinem Beispiel, kommt doch erst nach dem goto. Ist goto nicht dafür gedacht, z.b. bei einem Taschenrechner, das man eine nächste Aufgabe ausrechnen kann. Wieso sollte man es denn für etwas benutzten, was sowieso dran kommt. Ich meine wenn man das "goto Reserve_Fallschirm:" weglässt, kommt der Reserve_Fallschirm doch sowieso dran.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
10.02.2016, 17:00 Uhr
~f.-th.
Gast


Das kommt auf die Situation an.

Ein Testpilot bevorzugt:

C++:
   Reserve_Fallschirm:
   ...
   // hoffentlich sicher gelandet

    // Flugzeug brennt
    // Fallschirm funktioniert nicht
   goto Reseve_Fallschirm;




Wie geschrieben du kannst überall wo du möchtest im Quellcode landen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
10.02.2016, 17:02 Uhr
~f.-th.
Gast


Der Fehlerteufel ist in meinen Quelltexten. Aber damit kommt ihr schon klar.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
10.02.2016, 17:09 Uhr
Logiaa



Also ich würde es mir so vorstellen:

C++:
//Flugzeug brennt
//Fallschirm funktioniert nicht

Reserverfallschirm:

//Reserverfallschirm funktioniert auch nicht

    if (fallschirm == 'nicht aufgegangen')
        goto Reservefallschirm;
    else
        if (fallschirm == 'aufgegangen')

//Sicher gelandet


So in ungefähr

EDIT: Hab das mit dem Quelltext immernoch nicht raus
----
Edit: cpp-Tags richtig gesetzt und den Javascript-text entfernt.

Dieser Post wurde am 10.02.2016 um 20:30 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
10.02.2016, 17:33 Uhr
~f.-th.
Gast


Doch hast du mit dem Quelltext - die Zeile passt.

Hier mal wie man sortieren kann, wenn ihr ein wenig weiter im Stoff seid:

C++:
// Compiler auf C++11 einstellen

#include <iostream>
#include <map>

using namespace std;

int main()
{
    map<int, string> Alter;
    
    Alter[34] = "Mike";
    Alter[37] = "Charlie";
    Alter[23] = "David";

    cout << "Alter[34]=" << Alter[34] << "\n" << endl;
    cout << "Map size: " << Alter.size() << endl;        // unglueckliche Namen?
    for( map<int,string>::iterator ii=Alter.begin(); ii!=Alter.end(); ++ii)
    {
        cout << (*ii).first << ": " << (*ii).second << endl;
    }
}


Könnt die Alters/Namens-Zeilen beliebig unsortiert verlängern - die Ausgabe sollte nach Alter sortiert sein.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: