Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Jump Befehl in c++?

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 < [ 3 ]
010
15.03.2005, 13:47 Uhr
typecast
aka loddab
(Operator)


Oh natuerlich. Mein Fehler. Ich korrigiers gleich mal.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
15.03.2005, 13:51 Uhr
typecast
aka loddab
(Operator)



Zitat:

Kp er nimmt die zwar an hab aber keine kontrolle mehr über mein Menü kannste mal zeigen wie du das machen würdest bei meine Code
Versuchs doch mal selber.



Du solltest es jetzt eigentlich selber hinbekommen. Ein bischen denken solltest du schon. Wir sind ja auch kein Hausaufgabenservice
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)

Dieser Post wurde am 15.03.2005 um 13:51 Uhr von typecast editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
15.03.2005, 14:05 Uhr
~Reyx
Gast


Im Notfall kannst du auch goto verwenden; Ist zwar veraltet und auch weitestgehend verhasst, aber wenn du sagst, hast schon über 800 Zeilen Code vielleicht nicht ganz so Fehleranfällig wie eine Schleife...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
15.03.2005, 14:11 Uhr
typecast
aka loddab
(Operator)


W00t?

Goto? Weniger fehleranfaellig als ne Schleife? Also _das_ hoer ich jetzt zum ersten mal
Also in diesem Fall ist die Schleife ja auch noch _wirklich_ einfach. Ausserdem kann er das was ich gepostet habe ja fast genauso uebernehmen......
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
15.03.2005, 14:17 Uhr
~Dr4g0n
Gast


Ich suche hier jediglich Hilfe... keiner der mir die hausaufgaben macht den Teil den ich gepostet hgab von meinem prog is gerade mal 1/8 von dem was ich schon hab und bin so erst zur hälfte fertig bräuchte halt wie nach gefragt eine möglichkeit wie ich das am besten machen und wollte dafür ein beispiel haben, da wenn nämlich ich das so einsetzte wie ich dass mache dreht das prog vollab und gbt irgenwas aus was du nicht wolltest!!! Und leider bin ich noch ein blutiger Anfänger der Seit 3 Wochen verszcht c++ einigermaßen auf die reie zu bekommen und wen du nur en Lehrer hast de nur Aufgaben Stellt und selbst wahrscheinlich noch nie Programmiert hat und denn du Donnerstags 6 Stundenlang normal hast und der nur vorne sitzt sich seine Pornos runterläd und sich will ich garnet wissen dabei denk!! Was soll ich da machen den Grundtyp der Schleife hab ich schon tausend mal durchgelesen versteh aber net und bekomms auch net hin das es Richtig läuft!!!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
15.03.2005, 14:26 Uhr
typecast
aka loddab
(Operator)




Ich hab mir das, was du geschrieben hast, 3 mal durchgelesen. Und ich hab immer noch nicht alles verstanden. Satzzeichen sind was schoenes.

Aber ich kann dir nochmal erklaeren, was du machen sollst:

1.) Erstens gibt das Menu aus (hast du ja schon gemacht).
2.) Lies die Eingabe ein (hast du ja auch schon gemacht).
3.) Bearbeite die eingabe (hast du ja mit den switch-Anweisungen auch schon gemacht).
4.) Baue die Schleife um den ganzen Block rum.

Wenn wir jetzt mal annehmen, dass man mit der Eingabe der Zahl 10 das Programm beenden kann, dann wuerde das jetzt so aussehen:

Code:
do {
  menuAusgabe();
  leseEingabe()
  verarbeiteEingabe();
while (wahl != 10);
}



Wenn du jetzt im Menu etwas anderes ausser 10 eingbist, dann wird nach der Verarbeitung deiner Eingabe wieder an den Anfang zurueckgesprungen.

Wirds jetzt klarer?
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)

Dieser Post wurde am 15.03.2005 um 14:26 Uhr von typecast editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
15.03.2005, 14:38 Uhr
~Dr4g0n
Gast


Ich versteh das so net kp mach doch ma bitte vor!!!Ich bekomms einfach net hin kommt nur fehlermelun ueber fehlermeldung wenn ich das einbaue
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
15.03.2005, 16:58 Uhr
0xdeadbeef
Gott
(Operator)


Ich würd das ganze über eine vernünftige Vererbungsstruktur machen. Eben mal hingekladdet sieht das so aus:

C++:
#include <iostream>
#include <sstream>
#include <string>
#include <vector>

class menu_choice {
public:
  virtual ~menu_choice() { };

  virtual std::string const &get_description() const = 0;
  virtual void operator()() const = 0;
};

class menu : public menu_choice {
public:
  menu(std::string const &banner = "",
       std::string const &description = "")
    : banner_     (banner),
      description_(description){ }

  void set_banner     (std::string const &b) { banner_      = b; }
  void set_description(std::string const &d) { description_ = d; }

  void push_back(menu_choice *mc) { choices_.push_back(mc); }

  virtual std::string const &get_description() const { return description_; }

  virtual void operator()() const {
    std::string zeile;
    std::stringstream sstr;
    int choice;

    std::cout << banner_ << std::endl;

    for(int i = 0; i < choices_.size(); ++i)
      std::cout << i + 1 << ") " << choices_[i]->get_description() << std::endl;

    do {
      sstr.clear();

      std::getline(std::cin, zeile);
      sstr.str(zeile);
      sstr >> choice;
    } while(!sstr || choice < 1 || choice > choices_.size());

    (*choices_[choice - 1])();
  }

private:
  std::string banner_;
  std::string description_;
  std::vector<menu_choice*> choices_;
};

class hooray : public menu_choice {
public:
  virtual std::string const &get_description() const { return hooray_; }

  virtual void operator()() const {
    std::cout << "Hooray!" << std::endl;
  }

private:
  static const std::string hooray_;
};

std::string const hooray::hooray_ = "hooray!";

class main_menu : public menu {
public:
  main_menu() {
    menu1 = new menu("Foo", "foo");
    menu2 = new menu("Bar", "bar");
    menu3 = new menu("Baz", "baz");

    h = new hooray;

    menu3->push_back(h);

    menu2->push_back(h);
    menu2->push_back(h);
    menu2->push_back(menu3);

    menu1->push_back(menu2);
    menu1->push_back(menu3);
    menu1->push_back(h);

    push_back(menu1);
    push_back(menu3);
  }

  ~main_menu() {
    delete menu1;
    delete menu2;
    delete menu3;
    delete h;
  }

private:
  menu *menu1, *menu2, *menu3;
  hooray *h;
};

int main() {
  main_menu m;
  m();
}


...wobei das sicher noch verbessert werden kann.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
15.03.2005, 17:37 Uhr
(un)wissender
Niveauwart


Lets rock! Wo sind die templates beefy? Vielleicht will man ja nicht std::string verwenden...


Bearbeitung:

Wenn der Typ jetzt sagt, er kapiere nichts, dann glaube ich ihm sogar.


--
Wer früher stirbt ist länger tot.

Dieser Post wurde am 15.03.2005 um 17:38 Uhr von (un)wissender editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
15.03.2005, 18:16 Uhr
0xdeadbeef
Gott
(Operator)


Ich finde es deutlich übersichtlicher als diesen switch-Mist. Und die templates überlasse ich dem Rest des Forums als untergeordnete Übungsaufgabe.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ 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: