probleme mit einer do-while schleife



  • DirkB schrieb:

    Crysis_02 schrieb:

    ... oder wie man Komma nach der Eingabe in Punkte umwandelt und dann so die Zahlen die Kommas benutzen kann.

    Als String einlesen (dazu brauchst du auch den richigen Variablentyp), Komma ersetzen (Stringfunktionen), und in Zahl wandeln.

    Das kannst du alles in einer Funktion machen, die du dann mehrmals aufrufst.

    geht das mit dem strchr Befehl?



  • Crysis_02 schrieb:

    DirkB schrieb:

    Crysis_02 schrieb:

    ... oder wie man Komma nach der Eingabe in Punkte umwandelt und dann so die Zahlen die Kommas benutzen kann.

    Als String einlesen (dazu brauchst du auch den richigen Variablentyp), Komma ersetzen (Stringfunktionen), und in Zahl wandeln.

    Das kannst du alles in einer Funktion machen, die du dann mehrmals aufrufst.

    geht das mit dem strchr Befehl?

    Er meint, mit der string -Klasse aus der Standard-Bibliothek.



  • long double janein;
    

    Also ist janein, oder jn oder wie auch immer es nennen willst, eine Fließkommazahl.

    janein=='1'
    

    '1' hingegen ist eine Char-Konstante, also faktisch ein "Buchstabe"/Zeichen (engl. character). Nun kannst du eine Fließkommazahl nicht mit einem Zeichen vergleichen, weil es einfach syntaktisch falsch ist. Es müsste heißen:

    entweder...

    long double janein;
    /*bli bla blub*/
    while(janein==1);
    

    oder...

    char janein;
    /*bli bla blub*/
    while(janein=='1');
    

    Dann wäre es syntaktisch korrekt, zumindest dieser Abschnitt! 😉

    Als String einlesen (dazu brauchst du auch den richigen Variablentyp), Komma ersetzen (Stringfunktionen), und in Zahl wandeln.

    @Crysis_02:

    Guck dir dazu am besten das entsprechende Kapitel in deinem Buch (oder womit du auch immer lernen magst) an oder google im Internet nach der Klasse string und deren Funktionen... 😉



  • Ja das mit dem do while hab ich schon.

    Ja ich hab kein buch etc. Ich hab nur google. 😃 da werde ich was suchen.



  • Crysis_02 schrieb:

    Ja ich hab kein buch etc. Ich hab nur google. 😃 da werde ich was suchen.

    Ich hoffe du suchst ein Buch.
    Ohne Buch (gedruckt) wird das nichts mit lernen.





  • DirkB schrieb:

    Crysis_02 schrieb:

    Ja ich hab kein buch etc. Ich hab nur google. 😃 da werde ich was suchen.

    Ich hoffe du suchst ein Buch.
    Ohne Buch (gedruckt) wird das nichts mit lernen.

    Dem würde wohl auch zustimmen! 😉 Ich bin noch selber relativer Anfänger (habe zwar schon Erfahrungen in mehreren IDEs und mit der Programmierung von GUIs etc., aber habe erst vor einem halben Jahr angefangen...) und kann dir selber aus eigener Erfahrung berichten, dass es das tödlichste überhaupt ist im Internet ohne Vorkenntnisse nach einer geeigneten Erklärung zu suchen. Entweder du findest etwas was weit über das hinaus geht, was du auch nur im Ansatz verstehen könntest, oder du findest irgendwelchen absoluten Blödsinn, der voller Fehler ist. Die Wahrscheinlichkeit etwas brauchbares als Anfänger im I-net zu finden ist reichlich gering! ⚠
    Ich würde dir empfehlen, dass du dir ein ordentliches Buch holst (z.B."Einstieg in C++" von Arnold Willemer, von den mir bekannten Büchern auf jeden Fall eines der gelungensten 🙂 ) und das dann durcharbeitest...



  • R.Paul W. schrieb:

    (z.B."Einstieg in C++" von Arnold Willemer, von den mir bekannten Büchern auf jeden Fall eines der gelungensten 🙂

    Doch nicht etwa das hier, oder?
    http://www.willemer.de/informatik/cpp/index.htm
    Das ist ungefaehr so schlecht, wie die Buecher von Wolf.

    Kein L-Value
    Ein Array gehört zu den wenigen Variablenkonstrukten, die vom Standard nicht als L-Value akzeptiert werden. Sie dürfen also nicht auf der linken Seite einer Zuweisung stehen. [2]

    😞



  • //Anfang und Hauptprogramm
        cout<<"M"<<(char)148<<"chten sie wieder von vorne anfangen? (1=ja)";
    

    Warum nicht gleich alle Zeichen via ASCII-Code ?



  • nurf schrieb:

    //Anfang und Hauptprogramm
        cout<<"M"<<(char)148<<"chten sie wieder von vorne anfangen? (1=ja)";
    

    Warum nicht gleich alle Zeichen via ASCII-Code ?

    sehr witzig. Es sieht einfach scheisse aus wenn ich im Programm da so nen Block habe, der weiss umrandet ist. Da finde ich das so schon schöner.



  • Doch nicht etwa das hier, oder?
    http://www.willemer.de/informatik/cpp/index.htm
    Das ist ungefaehr so schlecht, wie die Buecher von Wolf.

    Doch, doch genau das meine ich. Ich finde es didaktisch sehr gut gelungen, weil er die Syntax recht Anfänger-kompatibel 😉 beschreibt, lediglich zum Ende hin lässt er etwas nach!

    Kein L-Value
    Ein Array gehört zu den wenigen Variablenkonstrukten, die vom Standard nicht als L-Value akzeptiert werden. Sie dürfen also nicht auf der linken Seite einer Zuweisung stehen. [2]

    Stimmt doch auch, oder etwa nicht? Ich meine:

    int a[9];
    a = 5;
    

    Das ist syntaktisch nicht richtig; das meint er damit auch, glaube ich.
    Klar kann man sowas schreiben:

    int a[9];
    a[5] = 5;
    

    Aber da weist du ja nicht dem ganzem Array einen Wert zu, sondern nur einem "Feld". Das ist nicht das selbe wie bei einem normalen int, wo a auch links stehen könnte.

    Und selbst, wenn ich mich jetzt da irre und ich es falsch verstanden, bzw. es falsch im Buch steht, heißt es noch lange nicht, dass es schlecht ist. Fehler können jedem unterlaufen... 😉



  • so nachdem hier im Forum alle denken, dass C++ ein geheimer Code ist und auch alle denken, dass ich nicht verstehe, was ich mache, habe ich es geschafft und verstanden.


  • Mod

    R.Paul W. schrieb:

    Und selbst, wenn ich mich jetzt da irre und ich es falsch verstanden, bzw. es falsch im Buch steht, heißt es noch lange nicht, dass es schlecht ist. Fehler können jedem unterlaufen... 😉

    Wenn in einem Lehrbuch (krasse) Fehler sind, dann ist das schlecht, denn es geht in einem Lehrbuch darum, dass da keine großen Fehler drin sind. Wenn dir der Bäcker das nächste Mal Salz statt Zucker in den Kuchen tut und sagt, dass dies nicht hieße der Kuchen wäre schlecht und Fehler könnten jedem unterlaufen, dann will ich mal sehen, wie gut du das Argument dann noch findest.



  • Ja eigentlich hast du schon recht, vor allem auch mit dem Bäckerbeispiel, aber ich hab bis jetzt noch kein absolut fehlerfreies Lehrbuch gesehen. In jedem Buch findest du irgendwelche Fehler, manchmal auch schwerwiegende (dies betrifft natürlich auch andere Fachgebiete).
    Aber im Grunde gebe ich euch schon recht:

    Es ist nicht gut, wenn große Patzer in einem Buch sind, besonders in einem für Anfänger, da diese sich dann jene einprägen! Trotzdem finde ich es etwas zu radikal, wenn man gleich das Buch verwerfen will (zumindest in diesem konkreten Fall). 🙂



  • Der Punkt ist, dass Herr Wolf (ich habe nur schlechtes Buch gelesen, daher schlussfolgere ich jetzt Mal, dass der das ist) in seinem Buch nicht Flüchtigkeitsfehler macht, sondern Fehler, die davon zeugen, dass er überhaupt kein Verständnis für C++ hat. Das sind Fehler, die einem Fortgeschrittenen (muss kein Experte sein) gar nicht mehr passieren können, weil sie eingeschweißt sind.

    Wenn einem Buchautor solche Fehler unterlaufen und nicht nur einmal, sondern quasi permanent, dann disqualifiziert ihn das eindeutig für die Rolle.



  • R.Paul W. schrieb:

    Ich finde es didaktisch sehr gut gelungen, weil er die Syntax recht Anfänger-kompatibel 😉 beschreibt, lediglich zum Ende hin lässt er etwas nach!

    Ich finde es ist didaktischer Bullshit, weil es komplett falsch aufgebaut ist.

    R.Paul W. schrieb:

    Stimmt doch auch, oder etwa nicht?

    oder etwa nicht. Das hat mit L/Rvalues gar nix zu tun, der Autor sollte den Begriff mal nachschlagen.

    Ansonsten sehe ich auch noch jede menge Patzer, aber ich hab keine Lust, da jetzt alles zu erklaeren. Bitte vergiss das Buch/Tutorial einfach und empfiehl es unter gar keinen Umstaenden weiter.



  • Kellerautomat schrieb:

    R.Paul W. schrieb:

    Ich finde es didaktisch sehr gut gelungen, weil er die Syntax recht Anfänger-kompatibel 😉 beschreibt, lediglich zum Ende hin lässt er etwas nach!

    Ich finde es ist didaktischer Bullshit, weil es komplett falsch aufgebaut ist.

    hmmm...vom Aufbau her fand ICH es gelungen. Da denke ich mal kann man sich streiten. Ist halt MEINE Meinung... 😉

    Kellerautomat schrieb:

    R.Paul W. schrieb:

    Stimmt doch auch, oder etwa nicht?

    oder etwa nicht. Das hat mit L/Rvalues gar nix zu tun, der Autor sollte den Begriff mal nachschlagen.

    Ansonsten sehe ich auch noch jede menge Patzer, aber ich hab keine Lust, da jetzt alles zu erklaeren. Bitte vergiss das Buch/Tutorial einfach und empfiehl es unter gar keinen Umstaenden weiter.

    Ok, da ich nicht genau weiß, was diese Dinge sind (bin noch Anfänger und habe einfach angenommen, dass weil es L-Value heißt, auch links vom Zuweisungsoperator steht und dies kann ein Array ja nicht in dem Sinne wie ein Integer...), nehme ich an, dass du mehr Ahnung hast und du es berechtigt kritisierst! ⚠

    Ach wenn wir gerade schon beim Thema sind: 😃

    Kann mir einer ein gelungenes Qt-Buch oder eine gelungene Internet-Seite zu diesem Thema empfehlen? (Ein Buch wär mir eigentlich sogar lieber, weil es so schön analog ist! :p 😃 ) Ich selber finde im Internet nichts und bei den Büchern weiß ich nicht so recht...



  • R.Paul W. schrieb:

    Da denke ich mal kann man sich streiten.

    Und da liegst du falsch.



  • Also er kann durchaus die Meinung vertreten, dass der Schreibstil gut dazu geeignet ist, ihm Dinge beizubringen, weil der Schreibstil im eingänglich ist. Dass der Autor nur Mist schreibt, hat damit nichts zu tun.

    Aufbautechnisch denke ich, dass er es nicht beurteilen kann. Aber platt zu sagen, dass die Aussage "der Aufbau ist gut" falsch ist, sehe ich nicht.



  • Nein. Ob etwas für etwas gut ist, ist ein Fakt, keine Geschmackssache. Wenn für die Mehrheit der Anfänger etwas besser oder schlechter ist, dann ist das so.

    Aber platt zu sagen, dass die Aussage "der Aufbau ist gut" falsch ist, sehe ich nicht.

    Ich glaube, du musst die letzten Posts noch mal in Ruhe durchgehen, und dir die Aussagen ansehen. Nirgendswo habe ich derartiges behauptet.


Anmelden zum Antworten