Fenster schließt sich immer #2
-
Um sofort alle zu beruhigen: Ich hab' das Forum schon durchsucht, aber nicht die passende Antwort auf meine Frage gefunden. Wenn ich etwas übersehen habe, tut es mir Leid! So eine ähnliche Frage hatte Ich schon vor ein paar stunden in einem anderen Thread gestellt. Um zwar geht es darum, dass sich mein selbsterstelltes Programm nach Eingabe einer Zahl oder sonst einer Taste immer schließt!
Ich weiß, die Frage wurde oft gestellt, aber noch nicht wirklich konkret beantwortet...
Also bei mir sieht es wie folgt aus:
Ich tippe den am Ende folgenden Code ein und will diesen Kompilieren btw. das Programm starten. Starten macht das Programm auch. In dem Programm wird man aufgefordert eine Zahl einzugeben, wobei das Programm hinterher ausgibt, ob die Zahl größer,gleich oder kleiner ist. Normalerweise. Aber wenn man eine Zahl in das Fenster eintippt und dann mit Enter bestätigen will, schließt sich das Fenster immer! Ich weiß zwar, dass es irgendwie an std::cin.get(); oder so liegt, aber nichts genaueres. Auch wenn ich das std::cin.get(); an jedes Ende vom jeweiligen Block setze passiert immer das gleiche! Dieses Problem hab' Ich bei jeder Kategorie dieses Online-Tutorials: http://www.highscore.de/cpp/einfuehrung/
Ich benutzte den Bloodshed Dev-C++ Compiler (liegt es daran)?So und hier der Code:
#include <iostream> #include <cstdlib> int main() { char Buffer[20]; std::cout << "Geben Sie eine Zahl ein: " << std::flush; std::cin.get(Buffer, sizeof(Buffer)); if (std::atoi(Buffer) < 100) { std::cout << "Sie haben eine Zahl kleiner als 100 eingegeben." << std::endl; } else { if (std::atoi(Buffer) < 200) { std::cout << "Sie haben eine Zahl kleiner als 200 eingegeben." << std::endl; } else { std::cout << "Sie haben eine Zahl groesser gleich 200 eingegeben." << std::endl; } } }
Ich hoffe, dass mir geholfen wird, was ich nicht bezweifle, denn das ist ein tolles Board hier
Sorry, aber bin ein Noob in der Sache, aber programmiere (wenn man das programmieren nennen darf) seit einigen Tagen ^^
MFG haxorizor
-
Ehm, das haben wir dir aber gerade im letzten Thread erklärt ...
Nach der Eingabe führt das Programm alle Anweisungen noch aus und beendet es dann, punkt fertisch aus. Wenn du es verhindern willst, dann lies die im vorherigen Thread verlinken Beiträge.Wo liegt also das Problem? Also kannst du eine spezifische Frage stellen? Es steht doch alles hier drin:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-111042.htmlZudem, wie im vorherigen Thread schon gesagt, solltest du in Erwägung ziehen, die IDE zu wechseln, aus allgemeinen Gründen, nicht wegen dem hier jetzt.
Und drittens, ich habe mir mal kurz das Tutorial angesehen. Also sowas würde ich persönlich nicht weiterempfehlen. Wer eine Zahl SO einliest und das in einem Tutorial vermittelt, der hat womöglich selber noch nie richtig C++ gelernt.
Ein gratis und wohl gutes Tutorial ist das folgende:
http://wwws.htwk-leipzig.de/~sschwarz/volkart/html/inhalt.htmlTrotzdem, am meisten lernst du immer noch über die Bücher, also die empfehle ich immer noch
Grüssli
-
Moin Dravere (auch wenn ich das heut' zum zweiten mal sagen muss ^^)
Ich merk' schon, dass du ein bisschen genervt wirkst
Das tut mir echt Leid, aber wie Du schon sagtest: Aller Anfang ist schwer.
Okay ich nehme es in Bezug das Tutorial zu ändern.
Buch ist leider im Moment nicht drin, da mein PC vor kurzem kaputt gegangen ist und ich leider mit 16 Jahren noch nicht das meiste Geld besitze.
Was meinst du mit IDE? Compiler,Linker etc. ?
Also Bloodshed Dev-C++ ist eine komplette IDE. Hab' ich das richtig verstanden ?
Welche(r) ausser Microsoft Visual C++ (kommen Probleme bei der Installation auf) ist zu empfehlen ?mfg und Danke!!!
haxorizor
-
haxorizor schrieb:
Welche(r) ausser Microsoft Visual C++ (kommen Probleme bei der Installation auf) ist zu empfehlen ?
Zum Beispiel Code::Blocks, der Nachfolger von Dev-C++.
-
haxorizor schrieb:
Moin Dravere (auch wenn ich das heut' zum zweiten mal sagen muss ^^)
Ich merk' schon, dass du ein bisschen genervt wirkstGenervt? Nö, nur müüüüüüüüüüüüüüüüüüüüüüdeeeeeeeeeeeeeee. Ich schlaf gleich auf der Tastatur ein. Wieso ich nicht ins Nest gehe? Frag mich was besseres
haxorizor schrieb:
Buch ist leider im Moment nicht drin, da mein PC vor kurzem kaputt gegangen ist und ich leider mit 16 Jahren noch nicht das meiste Geld besitze.
Keine Uni in deiner Nähe? Die haben nämlich sicher eine Bibliothek und womöglich gehören sie sogar einem Bibliothekenverband an. Dann können sie dir sicher ein Buch besorgen, welches du ausleihen kannst. Und bei Uni-Bibliotheken kann man so ein Buch oft auch 2 - 3 Monate ausleihen
haxorizor schrieb:
Was meinst du mit IDE? Compiler,Linker etc. ?
IDE heisst auf gut deutsch eine integrierte Entwicklungsumgebung. Es ist also Compiler, Linker, Projektverwaltung, Texteditor, Debugger usw. usf. Alles was man halt so braucht.
http://de.wikipedia.org/wiki/Integrierte_Entwicklungsumgebung (Deutsch)
http://en.wikipedia.org/wiki/Integrated_development_environment (Englisch)haxorizor schrieb:
Also Bloodshed Dev-C++ ist eine komplette IDE. Hab' ich das richtig verstanden ?
Ja, aber eine, von der man wegkommen sollte.
haxorizor schrieb:
Welche(r) ausser Microsoft Visual C++ (kommen Probleme bei der Installation auf) ist zu empfehlen ?
Probleme? Was für welche? Und am besten wenn es Probleme gibt, gleich im entsprechenden Forum einen Thread eröffnen:
http://www.c-plusplus.net/forum/viewforum-var-f-is-1.htmlAlternativen gibt es allerdings auch, zum Beispiel die hier:
http://www.codeblocks.org/Und was ist jetzt mit deinem eigentlichen Problem?
Grüssli
-
Ohaa... ^^
Recht herzlichen Dank für die ausführliche AntwortAlso:
- Wenn Du gleich doch auf der Tastatur einschlafen solltest -> schonmal Gute Nacht- Uni bei Mir in der Nähe? Pff... Nächste wäre in Dortmund = 110 km! Ich wohne in einem kleinem Dorf
- Zu MV-C++ -> Also ich lade die Datei runter und extrahier sie, starte sie und das Programm startet. Ist noch alles im grünen Bereich. Er lädt die zugehörigen Komponenten runter und installiert sie. Während der Installation kommt eine Fehlermeldung die wie folgt lautet: Das Programm hat ein Problem festgestellt und muss beendet werden. BlaBla... kennt jeder.
- Zu Codeblocks: Das gleiche Problem, wie bei MV-C++, wie sich eben herrausstellte
- Zu meinem Problem: Besteht weiterhin xD
Also bleibt ja nur meines Achtens die IDE von Bloodshed über
mfg
haxorizor
-
Morgen haxorizor,
welches OS hast du denn? Und du meinst es kam ein Fehler bei der Installation von code::Blocks oder das Problem des vorzeitigen Schließen der Konsole blieb bestehen?
-
Moin Moin,
Ich hab' Windoof XP (SP2)...
Jop bei MV-C++, sowie auch bei code::Blocks besteht das Problem immernoch -.-*
Bin die ganze Zeit dabei herauszufinden, was es sein könnte. Das Fenster schließt sich immernoch bevor es schließen sollte.
-
ja gut dann machen wir es mal auf die hardcore variante... schreib mal vor das "return 0" in deiner main ein "system("pause");" rein...andere möglichkeiten wären zum beispiel auch "getch();" guck einfach mal danach
-
Jawoll!!!
Danke... Es funktioniert mit system("pause") !
Aber was meinst du mit Hardcore-Variante ?!
War das nicht die beste Möglichkeit mein Problem zu lösen ?!Danke!
mfg
haxorizor
-
Ja es war nicht die beste Lösung das Problem zu lösen, DENN alle system() Befehle sind nicht Plattformunabhängig, d.h. sie laufen mit großer Sicherheit nur auf Windows. Eine Schönere Variante wäre diese jene welche in den FAQ beschrieben wird oder diese(ob die Plattformunabhängig ist, weiß ich grad nicht genau)
#include<iostream> #include<conio.h> int main() { std::cout<<"Weiter mit beliebiger Taste!"<<std::endl; getch(); return 0; }
Eine relativ kurze Lösung, wie ich sie immer benutze.
-
Du musst doch einfach nur ans Ende der Funktion main diesen kleinen Codeabschnitt schreiben:
std::cin.clear(); std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); std::cin.get();
-
haxorizor schrieb:
- ...MV-C++...Während der Installation kommt eine Fehlermeldung die wie folgt lautet: Das Programm hat ein Problem festgestellt und muss beendet werden. BlaBla... kennt jeder.
- Zu Codeblocks: Das gleiche Problem, wie bei MV-C++...Ich gehe ganz stark davon aus das einiges an dem Rechner an den du arbeitest nicht in Ordnung ist. Vermutlich sollte der PC bei Zeiten mal komplett neu installiert werden (sofern es jetzt kein Hardwarefehler ist).
cu André
-
Also bleibt ja nur meines Achtens die IDE von Bloodshed über
das bezweifle ich.
Eclipse CDT soll z.B. auch sehr gut sein, aber ich glaub das ist nicht ganz so einfach.
Wenn alle guten IDEs ihren Dienst bei dir verweigern bleibt dir immer noch auf eine IDE zu verzichten und Compiler/Linker, Debugger und Editor einzeln zu verwenden.Du könntest auch eine ältere Version von VC++ (Visual C++ 2005 z.B.) installieren, besonders viel hat sich da nicht getan(oder irre ich?), ist immer noch die beste kostenlose IDE, wenn man Windows only programmieren möchte.
Wenn der Installer von Code::Blocks nicht will: das Ding muss man nicht mit dem Installer installieren (wenngleich es komfortabler ist) du kannst dir auch die Sources laden und selbst kompilieren.
-
Moin nochmal alle Zusammen ^^ ,
MV-C++ 2008 hab' ich installiert. Es lag daran, dass ich noch Restdateien von der letzten Installation auf dem Rechner hatte! Wieso Code::Blocks nicht funktioniert hab' ich noch nicht geschaut.
Danke euch nochmal für die Hilfe!!!!
mfg hax
-
haxorizor schrieb:
MV-C++ 2008 hab' ich installiert. Es lag daran, dass ich noch Restdateien von der letzten Installation auf dem Rechner hatte! Wieso Code::Blocks nicht funktioniert hab' ich noch nicht geschaut.
Danke euch nochmal für die Hilfe!!!!Um einen kleinen Stolperstein vorzubeugen: Bitte Projekttyp "Win32 Console Application" (oder so ähnlich) verwenden
-
asc schrieb:
[Um einen kleinen Stolperstein vorzubeugen: Bitte Projekttyp "Win32 Console Application" (oder so ähnlich) verwenden
Und immer gleich leere Projekte (da gibt es ein Häkchen bei der Erstellung eines neuen Projekts) erstellen, sonst hast du noch komische Header und Sourcecode, den du nicht brauchst.
Viel Spass beim Programmieren
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.