Studium, Ausbildung und Beruf
 StudiumHome   FAQFAQ   RegelnRegeln   SuchenSuchen    RegistrierenRegistrieren   LoginLogin

C++ suche Möglichkeit an einen Punkt "zuspringen"
Gehe zu Seite 1, 2  Weiter
Neues Thema eröffnen   Neue Antwort erstellen
Foren-Übersicht -> Informatik-Forum -> C++ suche Möglichkeit an einen Punkt "zuspringen"
 
Autor Nachricht
Chriss_H
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 08.03.2007
Beiträge: 66

BeitragVerfasst am: 14 Dez 2007 - 19:24:08    Titel: C++ suche Möglichkeit an einen Punkt "zuspringen"

Hi zusammen also folgendes:
Ich habe eine Funktion in dieser Funktion habe ich mehrere verschachtelte "if"s. Wenn eins der IFs nicht wahr ist würde ich gerne aber nicht an den Anfang der Funktion springen( durch rekursives Aufrufen der Funktion) sondern ich würde gerne in einem der IFs weiter machen.

Gibt es eine Möglichkeit so etwas wie Haltepunkte zusetzten das ich dann sagen kann "spring zu punkt 1“?

Chriss
Behind These Walls
Full Member
Benutzer-Profile anzeigen
Full Member


Anmeldungsdatum: 14.01.2007
Beiträge: 203

BeitragVerfasst am: 14 Dez 2007 - 21:18:15    Titel:

also in C ist das möglich, in C++ weiß ich nicht. Aber ich rate dir davon ab solche sachen zu verwenden. Es gibt auch eine andere Lösung. Wenn ich deine Problematik richtig verstanden hab, könntest du um die ifs eine while-Schleife bauen und dir zusätzlich noch ein Flag defenieren. Je nachdem ob das Flag gesetzt ist oder nicht springst du in ein if.
Chriss_H
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 08.03.2007
Beiträge: 66

BeitragVerfasst am: 14 Dez 2007 - 21:33:41    Titel:

Oke flag sagt mir jetzt garnichts^^

Hier ist mal der ProgrammCode der Funktion:
http://i18.tinypic.com/7wj6bs5.jpg

Das ganze Programm ist ein vereinfachter Geldautomat, bei dieser Funktion geht es darum das Guthaben seines Handy aufzuladen.
Dafür gibt man zweimal die Handynummer an, dann bekommt man die Auswahl der möglichen Geldbeträge angezeigt.
Der rot makierte bereich ist mein Problem, in dem IF wird ja abgefragt ob auf dem Konto genügend Geld vorhanden ist. Sollte dies nicht der fall sein, soll der Kunde aber nicht wieder an den Anfang springen und wieder die Nummer zweimal eingeben müssen sondern ich hätte gerne dass er wieder zu der Auswahl der Geldbeträge kommt.
Chriss_H
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 08.03.2007
Beiträge: 66

BeitragVerfasst am: 14 Dez 2007 - 22:05:51    Titel:

Juhu habe die Lösung gefunden ... einfach das IF durch ein while ersetzten zumindestens grob^^


Oke danke für deine Hilfe.

Wenn es interessiert, hier der geänderte ProgramCode
http://i2.tinypic.com/8f2jlfl.jpg
al3ko
Inaktiver Account
Benutzer-Profile anzeigen


Anmeldungsdatum: 08.11.2006
Beiträge: 3148

BeitragVerfasst am: 14 Dez 2007 - 22:39:34    Titel:

Gibt es da nicht die Möglichkeit der goto Anweisung? Denn dort springst du doch von einer Stelle an eine andere. Oder ist es nicht das, wonach du suchst?
Annihilator
Valued Contributor
Benutzer-Profile anzeigen
Valued Contributor


Anmeldungsdatum: 18.05.2007
Beiträge: 6394
Wohnort: (hier nicht mehr aktiv)

BeitragVerfasst am: 14 Dez 2007 - 23:32:53    Titel:

Ja, die goto-Anweisung gibt es, aber deren Benutzung wird häufig als 'schlechter Programmierstil' geahndet. In der Tat sollte man damit nicht 'rumspielen', aber ich finde in manchen Situationen ist die Benutzung recht vorteilhaft.
Mephisto84
Newbie
Benutzer-Profile anzeigen
Newbie


Anmeldungsdatum: 04.01.2005
Beiträge: 47

BeitragVerfasst am: 16 Dez 2007 - 08:44:25    Titel:

Goto ist des Teufels und taucht folglich in jeder neuen Programmiersprache nicht mehr auf... Lass die Finger davon, das macht nur Ärger.
isi1
Moderator
Benutzer-Profile anzeigen
Moderator


Anmeldungsdatum: 10.08.2006
Beiträge: 7394
Wohnort: München

BeitragVerfasst am: 16 Dez 2007 - 12:03:58    Titel:

Bei uns sind die gotos auch verpönt, ich verwende dafür break; und continue;
Man muss zugeben, die Programmstruktur wird dadurch besser verständlich.
Chriss_H
Junior Member
Benutzer-Profile anzeigen
Junior Member


Anmeldungsdatum: 08.03.2007
Beiträge: 66

BeitragVerfasst am: 16 Dez 2007 - 14:31:30    Titel:

Ok ich habe ja das Problem an sich behoben bzw. umgangen, aber könnte ich den statt den 3 ineinander verschachtelten IF das Ganze durch breaks und continue besser übersichtlich machen?

Und hat vielleicht jemand einen guten Link für Break und continue Erklärungen mit Beispielen? Habe schon "gegoogelt" aber die meisten Erklärungen sind recht kurz.

Hier nochmal der aktuelle Program Code:
http://i7.tinypic.com/8efq5gi.jpg

Und danke schon mal für die vielen hilfreichen Kommentare
Annihilator
Valued Contributor
Benutzer-Profile anzeigen
Valued Contributor


Anmeldungsdatum: 18.05.2007
Beiträge: 6394
Wohnort: (hier nicht mehr aktiv)

BeitragVerfasst am: 16 Dez 2007 - 15:03:22    Titel:

Vielleicht solltest du mit logischen Binär-Junktoren arbeiten, statt mehrere Konditionen zu verschachteln.
Statt
Code:

if (a == 1)
{
    if (b != 2)
    {
        <Anweisungen>
    }
}


könntest du auch einfacher schreiben

Code:

if (a ==1 && b != 2) {<Anweisungen>}


Wenn es aber jedesmal einen else-Block gibt, dann ist das nicht immer die beste Variante.
Beiträge der letzten Zeit anzeigen:   
Foren-Übersicht -> Informatik-Forum -> C++ suche Möglichkeit an einen Punkt "zuspringen"
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Chat :: Nachrichten:: Lexikon :: Bücher :: Impressum