Hast du daran gedacht die Bibliotheken zu linken usw?
Wäre ungut wenn du das vergessen hättest.. :P
--
#include <iostream>
using namespace std;
int main(void)
{
cout << "Hello, World!! Mein Name ist Hase";
return 0;
}
ist zwar von mir gemacht, jedoch ist folgendes das problem:
ich habe dieses programm mit dem kompiler gemacht und zwar:
1. neues PROJEKT machen (mache ich nur eine Quellcodedatei, gehts)
2.kompilieren
3.sich darüber ärgern, das man das Programm schließen muss und die Quellcode datei öffnen muss.
So könnte ich zwar Programme im Quellcode ausführen, aber das Tutorial hat seine Beispiele auch als Projekte angegeben, was mache ich falsch?(Gebt vielleicht mal beispiele, wie ihr ein simples Hallo Welt Programm kompiliert)
EDIT: Was ist das mit die Biliothek linken? Wurde mir nicht erklärt!
Nichts worum *du* dich kümmern musst wenn du Dev-Cpp nutzt, das sollte es automatisch machen. Du kannst ja auch ein Beispiel-Projekt in Dev-Cpp erstellen, evt. geht es damit. Wenn nicht schau mal ob es evt. eine neuere (evt. andere?) Version von Dev-Cpp gibt. Evt. geht es deswegen nicht, weil der Quellcode sieht in Ordnung aus.
Übrigens: Nutzemal die [*Code][/Code] Tags (ohne *)
z.B.
--Signature.
@DFYX:
Das ist ja das tolle, mache ich kompilieren und ausführen eines PROJEKTES macht er das kompilieren, führt die datei jedoch nicht aus. Dann mus ich die Quell datei NEU öffnen und compilieren, dann läuft die Datei, aber nicht das Projekt.
@Crasg-Override:
Ok, nächstes mal nutze ich den code, aber eigentlich geht es jetzt ja das Programm auszuführen, wäre natürlich besser, ich könnte das Projekt kompilieren, aber habe mich halt gewundert. Zum code: das ist denke ich nun wirklich ohne Fehler und ich habs auch schon 1000 mal versucht auf viele Wege,aber das wird so schon gehen
mfg Tridestaros
Die Sache ist die, dass ich zuerst geschrieben und erst dann ausführlich den ersten Post gelesen habe...Habe den Beitrag hinterher aber sofort wieder gelöscht, weil ich das Problem falsch verstanden habe...
sehr seltsam:
ES GEHT!!!!!
Nun habe ich jedoch noch zwei Komplexe:
1. Ich weiß nicht was der Code bedeutet ( siehe mit unterer Punkt )
2. Wenn ich das von dir gegebene eingebe erscheint: Drücken sie eine beliebige Tast ...
Also das mit dem Projekt starten und ausführen klappt, aber wieso erscheint nicht der intellektuelle Text: Hallo Welt mein Name ist Hase?
1. Das system("pause") sorgt dafür, dass sich das Konsolenfenster nicht gleich wieder schließt sondern geöffnet bleibt, bis man eine beliebige Taste drückt. Daher auch die Aufforderung, eine solche zu drücken.
2. Der Text erscheint bei mir ebenso wie die Aufforderung, eine beliebige Taste zu drücken. Keine Ahnung was du hast, aber es funktioniert einwandfrei.
Um verwirrung zu vermeiden mal eine ausfuehrliche Erklaehrung.
Aber zuerst ein paar generellgueltige Aussagen.
1. DAS IST KEIN FEHLER
2. IHR SEID ALLE GUI VERWOEHNT
So . und nun zum Problem ...
C(++) hat standardmaessig nur Funktionen um Text auf der Console auszugeben, also dort, wo auch die Eingabeaufforderung ist. In den alten DOS Zeiten oder unter Linux ist das ganze kein Problem, da man ohnehin immer auf der Console gearbeitet hat. Seit aber GUIs wie Windows etc modern wurden, rueckte die Eingabeaufforderung immer mehr in den Hintergrung. Wenn Windows ueber ein Programm stolpert, das die Console braucht, macht es ein Dosfenster auf, fuehrt das Programm aus, und schliesst das Fenster sofort nach Ende des Programms. Da dein Programm nichts tut, ausser einem Text auszugeben, siehst du nichts, da Windows das Fenster gleich danach schliesst. Wenn du allerdings von der Eingabeaufforderung (Start->Ausfuehren->CMD) dein Programm startest, kommst du nach dem Programmende erneut zur Eingabeaufforderung zurueck, das Fenster bleibt offen (da ja noch der befehlsinterpreter laeuft) und du siehst den Text. Die einfachste, aber auch nervige Loesung ist, dass du einfach einen Befehl einbaust, der den Benutzer zu einer Eingabe auffordert, eben system("pause"), der den DOS-befehl pause aufruft, der den Text "bitte druecken sie eine Taste" ausgibt, oder getch() welches darauf wartet, dass du eine Taste drueckst. Alternativ kannst du auch ein einfaches char c; cin>>c; verwenden. Alle drei Faelle haben gemein, dass dein Programm nicht beendet ist, bevor du nicht die Eingabe gemacht hast, und dadurch das DOS-Fenster so lange offen bleibt und du den Text lesen kannst. Das hat allerdings den Nachteil, dass wenn du das programm von der Eingabeaufforderung aus startest (wie unter linux ueblich), du ebenfalls jedesmal ne taste druecken musst, und das Programm damit fuer den Batchbetrieb praktisch unbrauchbar wird. Eine elegantere Loesung faellt mir allerdings auch nicht ein.
Aber mach dir nichts draus ... Mehr als 90% aller C(++) Anfaenger unter Windows haben das selbe Problem, weshalb es afaik im "Lies mich zuerst" (oder wars im FAQ ?) Thread detailiert erklaehrt wird.
Edit: Ok, es steht in den Threads nicht drin. Ich habe das wohl schon so oft erklaehrt, dass ich dachte, das das da drin steht ^^
Stimmt nicht Ineluki!!!!!!!!!!
Ich habe schon Programme über den Quelltext ausgeführt und kenne mich damit also aus:
wenn ich das hier in einem Projekt eingebe, passiert nichts und auch bei einem Hello World Programm WÜRDE der Text kurz erscheinen, im Projekt passiert jedoch nichts!!!!
Bloß bei dem Code mit
#include <cstdlib>, welchen ich jedoch nicht verändern kann
Falsch, das ist lediglich Fortschritt.
Ich bin zwar mit DOS aufgewachsen aber heilfroh, dass ich Verzeichnisse nun schneller löschen kann als jedes einzelne per Commandline aufzurufen, den Inhalt und dann den Ordner zu löschen. Und das bei -zig Unterordnern und vielen Dateien. Nein Danke, dafür liebe ich mein OS mit GUI. Und das ist Fortschritt, keine Verwöhnung.
Oder willst du behaupten, du schreibst lieber auf Papyrus oder meißelst in Stein, weil Papier und Tinte zu sehr verwöhnen?![]()