nicht ganz auzgefürt
-
Hallo Leute ich hab da mal nen problem da ich anfänger bin hab ich mir nen Buch geholt so dort hab ich schon viel gelesen und wusste schon ein par dinge von anderen büchern.
Jetzt hab ich nen problem
#include <iostream.h> int a; int b; void main(void) { cout << "Hallo gib mal ne zahl ein\n"; // das ist *1 cin >> a; cin >> b; cout << "danke das sie die zahl " << a + b << " eingegeben haben "; if (a > 0) { //hier beginnt if cout << "bitte geben sie einen bustaben ein"; char c; // cahr c switch(c) // switch c start // das ist *2 { case 'd': cout << "fall d\n)"; break; case 'f': cout << "fall f\n)"; break; default: cerr << " unbekannt sorry\n"; break; } }else if (b < 0) { } }Also das erste ist logisch so wenn ich das ausführe dann kommt das erste
bitte geben sie ne zahl ein ok beide zahlen gabe ich ein die rechnung komt.
Ok aber ab da gehts net weiter.
switch wird nicht gemacht.
anstat das er schreibt bitte geben sie nen buchstaben ein sagt er bitte drücken sie taste um zu beenden.
Als erstes habe ich es ohne if benutzt ich dachte dann friest er es aber da kamm das gleiche.
Dann hab ich mir gedacht dann nehme ich den switch nach oben und das *1 ganz oben nach unten.
Dann kamm es aber das *1 kam nich die frage fiel aus und dann kamm die nachriht
bitte drücken sie eine taste um zu beenden.
Zimlich langer text sorry, danke wenn jeman helpen kann

-
Ja, wo isser denn? Du hast offenbar den Eingabebefehl für dein Zeichen vergessen, also wird der switch mit irgendwelchem Datenmüll gestartet.
(ansonsten: lern mal Deutsch ;))
-
THC-555 schrieb:
Jetzt hab ich nen problem
Ja, nämlich ganz offensichtlich das falsche Buch. Schmeiß es weg (oder gib es zurück, falls das geht), es ist Schrott und zu nichts zu gebrauchen, leider.
Dein Code wimmelt nur so von Fehlern, die jedes halbwegs vernünftige Buch gleich von Anfang an hätte ausmerzen müssen.
/Edit: Quatsch entfernt.
-
1. Der If-Zweig wird nur ausgeführt, wenn die erste eingegebene Zahl größer null ist.
2. Du liest nichts in den char c ein.
3. Dadurch ist c mit einem undefinierten Inhalt versehen, was alle möglichen Resultate hervorbringen kann - auch, das in c zufällig 'f' steht und dadurch der f-Zweig der Switch-Anweisung ausgeführt wird. Im Normalfall (d.h. wenn c nicht zufällig 'd' oder 'f' ist) sollte allerdings der default-Zweig ausgeführt werden.
4. Du solltest ein paar Zeilenwechsel einfügen, indem du
\nan die Ausgabestrings anhängst, und ab und zu die Ausgabe flushen, indem du ein
<< endl;anfügst.
-
Konrad Rudolph schrieb:
THC-555 schrieb:
Jetzt hab ich nen problem
Ja, nämlich ganz offensichtlich das falsche Buch. Schmeiß es weg (oder gib es zurück, falls das geht), es ist Schrott und zu nichts zu gebrauchen, leider.
Dein Code wimmelt nur so von Fehlern, die jedes halbwegs vernünftige Buch gleich von Anfang an hätte ausmerzen müssen.
/Edit: Quatsch entfernt.
Sowas liebe ich ja.
Das ist ganz offensichtlich KEIN aus dem Buch abgeschriebener Code, sondern ein eigener (vielleicht etwas voreiliger) Versuch, ein Programm zu schreiben.
Mir ist natürlich klar, das Konrad Rudolph als perfekter Programmierer auf die Welt kam, und das Betriebssystem der Voyager-Raumsonden geschrieben hat, bevor er sprechen konnte. Andere Leute jedoch machen auch mal Fehler, wenn sie etwas Neues ausprobieren.
MfG
Sid
-
Sid2K6 schrieb:
[Sowas liebe ich ja.
Das ist ganz offensichtlich KEIN aus dem Buch abgeschriebener Code, sondern ein eigener (vielleicht etwas voreiliger) Versuch, ein Programm zu schreiben.
Mir ist natürlich klar, das Konrad Rudolph als perfekter Programmierer auf die Welt kam [... Gelaber]. Andere Leute jedoch machen auch mal Fehler, wenn sie etwas Neues ausprobieren.
Bah. Ich versuche durchaus, zu helfen. Und mein Rat lautet: Anderes Buch besorgen. Das ist ob des gezeigten Codes meiner Meinung nach wirklich der wichtigste Rat. Das gleiche habe ich bei mehreren Freunden schon gemacht und sie waren mir ehrlich dankbar.
Wie kommst Du darauf, ich sei als perfekter Programmierer auf die Welt gekommen? Es stimmt aber, ich habe nie "#include <iostream.h>" oder "void main()" geschrieben -- ich hatte Glück mit der Wahl meines Buchs.
-
Sid2K6 schrieb:
Das ist ganz offensichtlich KEIN aus dem Buch abgeschriebener Code, sondern ein eigener (vielleicht etwas voreiliger) Versuch, ein Programm zu schreiben.
Hm, und wenn man noch kein C++ kennt und das erste eigene Testprogramm schreibt, setzt man aus Flüchtigkeit ein .h an "iostream" oder vertauscht aus Unwissenheit int und void, einfach so? Nur um die zwei offensichtlichsten Beispiele zu nennen.
Nein, ich denke da wie Konrad Rudolph, nämlich dass diese Fehler auf veralteten Lehrstoff zurückzuführen sind. Oder etwa nicht?!
-
Hallo
Die Variablen global zu machen, war aber hoffentlich nicht auch noch die Idee des Buches.
Ansonsten empfehle ich den Thread: "Die meistgestellte Fragen" hier im C++-Forum.
chrische
-
Konrad Rudolph schrieb:
Sid2K6 schrieb:
[Sowas liebe ich ja.
Das ist ganz offensichtlich KEIN aus dem Buch abgeschriebener Code, sondern ein eigener (vielleicht etwas voreiliger) Versuch, ein Programm zu schreiben.
Mir ist natürlich klar, das Konrad Rudolph als perfekter Programmierer auf die Welt kam [... Gelaber]. Andere Leute jedoch machen auch mal Fehler, wenn sie etwas Neues ausprobieren.
Bah. Ich versuche durchaus, zu helfen. Und mein Rat lautet: Anderes Buch besorgen. Das ist ob des gezeigten Codes meiner Meinung nach wirklich der wichtigste Rat. Das gleiche habe ich bei mehreren Freunden schon gemacht und sie waren mir ehrlich dankbar.
Wie kommst Du darauf, ich sei als perfekter Programmierer auf die Welt gekommen? Es stimmt aber, ich habe nie "#include <iostream.h>" oder "void main()" geschrieben -- ich hatte Glück mit der Wahl meines Buchs.
Ich muss mich entschuldigen, das ich so ausgetickt bin, ist eigentlich nicht meine Art. Das tut mir wirklich leid.

Zurück zum Thema:
Es würde mich wundern, wenn das ".h" aus dem Buch stammen würde. Ich vermute, das ist eigenes Werk. Das habe ich auch einige Male versehentlich selbst so geschrieben. Das kommt halt davon, das man eine Erweiterung nutzt, um Quellcode und Header zu separieren, und man sich so an das folgende ".h" gewöhnt, das man es auch mal versehentlich tippt, wo es Unsinn ist. Oder aber, noch nicht gelernt hat, das die Standardbibliotheken keine Erweiterung besitzen. DAS kann passieren.Die Signatur von main ist was anderes. Aber selbst da gibt es Entwicklungsumgebungen, die void main() generieren. Ich habe allerdings schon eine ganze Weile keine solche mehr gesehen, wie ich zugeben muß. Wenn man nicht alles selbst schreibt, kann so etwas also durchaus passieren.
Ich fände es nett, wenn der Threadstarter mal den Namen des Buches posten könnte.
Nochmal sorry für den Ausraster, aber der Post klang etwas "abgehoben". Und da springe ich momentan leider sehr stark drauf an
Ich hab euch trotzdem alle lieb. Sogar KR.

-
Hallo
Sid2K6 schrieb:
Es würde mich wundern, wenn das ".h" aus dem Buch stammen würde.
Ich denke schon, dass es aus einem Buch stammt, aber das ist halt Spekulation. Ich habe noch nie aus Versehen ein .h drangehangen
Sid2K6 schrieb:
Und da springe ich momentan leider sehr stark drauf an

Bist du in der Pubertät??

chrische
-
chrische5 schrieb:
Sid2K6 schrieb:
Und da springe ich momentan leider sehr stark drauf an

Bist du in der Pubertät??

Vielleicht hat er ja -- genau wie ich -- heute ja eine schlecht gelaufene Biochemie-Klausur geschrieben.

-
Hallo
Konrad Rudolph schrieb:
chrische5 schrieb:
Sid2K6 schrieb:
Und da springe ich momentan leider sehr stark drauf an

Bist du in der Pubertät??

Vielleicht hat er ja -- genau wie ich -- heute ja eine schlecht gelaufene Biochemie-Klausur geschrieben.

Was ist nun besser oder schlechter?
chrische
-
Die Klausur, die is nämlich schon vorbei
-
Knuddlbaer schrieb:
Die Klausur, die is nämlich schon vorbei
Naa ja. Ich muss nächstes Jahr nochmal hin. Nehme ich an. Und der Dozent wird nicht besser.

-
Mann man man .
Da stellt man ne frage und schon kommt das ganze Volk.
das mit dem h na ja im Buch stand das man heut zu tage es nicht mehr braucht man kann es weg lassen.Und nun ja ich hatte eben net die neuzten Bücher ich habe sie mir bei einer Bücherei ausgeliehen.
Das Buch was ich jetzt habe heisst C++ echt einfach 3.aktualisierte Auflage.
Und den Script den ihr da oben gelesen und Kritisiert habt.
Das war mein werk.
Probieren geht über studiern .
üben macht den meister.Danke für die kritik :p