Problem beim Öffnen
-
Guten Tag,
ich habe mir die Tage das Buch "C Programmieren von Anfang an" geschrieben von Helmut Erlenkötter" gekauft um etwas mehr über diese Programmierersprache zu erfahren. Nur leider wird dort der Anfang etwas ungenau beschrieben und ich komme nicht mit, also habe ich mir gedacht schaffe ich mir hier Hilfe.Soweit so gut. Ich habe mir das Programm UltraEdit besorgt und folgendes eingegeben (laut Buch):
/* bsp10001.c */ #include <stdio.h> main(){ printf("\nDied ist ein erstres C-Programm.\n"); printf("\nWie sie sehen,kann 'printf' "); printf("nicht nur Texte drucken,\n"); printf("sonder auch rechnen.\n\n"); printf("13 * 7 = %i \n",13 * 7); }Dies habe ich nun gespeichert (Dateityp: C-Daten,(*.c,*cpp).
Diese Datei habe ich danach in Dev-C++ geladen und komplimiert. Über Dev-C++ versuche ich dann diese Datei zu öffnen doch es öffnet sich lediglich ein DOS-Fenster für ein paar Millisekunden und verschwindet dann wieder. Wo liegt mein Fehler?Ich hoffe ich habe die richtige Kategorie getroffen
Ich kenne das wenn Neulinge oder auch alt eingesessene immer wieder in die falsche Kategorie posten. Wenn ja tut mir wirklich leid...mfG YardKind
-
-
Mhhhhh okay
Könntest du es mir vielleicht so posten wie es sein sollte? Also der Code?
Ich habe mehrere Varianten probiert doch keine hat geklappt.Hier schließt sich das Fenster wieder automatisch.
#include <stdio.h> main(){ printf("\nDied ist ein erstres C-Programm.\n"); printf("\nWie sie sehen,kann 'printf' "); printf("nicht nur Texte drucken,\n"); printf("sonder auch rechnen.\n\n"); printf("13 * 7 = %i \n",13 * 7); #include <conio.h> #include <windows.h> void wait () { FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE)); getch(); }Hier bekomme ich die Meldung "Syntax error befor ':' token
#include <stdio.h> main(){ printf("\nDied ist ein erstres C-Programm.\n"); printf("\nWie sie sehen,kann 'printf' "); printf("nicht nur Texte drucken,\n"); printf("sonder auch rechnen.\n\n"); printf("13 * 7 = %i \n",13 * 7); // C++-Version #include <iostream> void wait () { std::cin.clear(); std::cin.ignore(std::cin.rdbuf()->in_avail()); std::cin.get(); } }Und hier schließt sich das Fenster wieder von alleine.
#include <stdio.h> main(){ printf("\nDied ist ein erstres C-Programm.\n"); printf("\nWie sie sehen,kann 'printf' "); printf("nicht nur Texte drucken,\n"); printf("sonder auch rechnen.\n\n"); printf("13 * 7 = %i \n",13 * 7); // C-Version #include <stdio.h> void wait () { setvbuf(stdin,NULL,_IONBF,0); setvbuf(stdin,NULL,_IOFBF,BUFSIZ); getchar(); } }Hätte vielleicht jemand Abhilfe?
-
Versuchs mal hiermit:
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <windows.h> void wait(); // Funktion bekannt machen int main() { printf("\nDied ist ein erstres C-Programm.\n"); printf("\nWie sie sehen,kann 'printf' "); printf("nicht nur Texte drucken,\n"); printf("sonder auch rechnen.\n\n"); printf("13 * 7 = %i \n",13 * 7); wait(); // Funktion aufrufen return 0; } void wait () // Funktion ausführen { FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE)); getch(); }Dein Fehler war die Funktionen komplett in die main() mit aufzunehmen.
-
Die einfachste Abhilfe:
Start->Ausführen->Cmd
CD pfad\zu\deinem\projekt\
myExe.exeFertig.
Weiss nicht woher das kommt, dass man immer die Konsole offen lassen muss... einfach selbst eine öffnen ;).
rya.
-
Weiss nicht woher das kommt, dass man immer die Konsole offen lassen muss...
Naja nach return 0; ist dein Programm beendet. Warum soll sich ein Programm dann noch offen halten, wenn es beendet ist?
-
(D)Evil schrieb:
Weiss nicht woher das kommt, dass man immer die Konsole offen lassen muss...
Naja nach return 0; ist dein Programm beendet. Warum soll sich ein Programm dann noch offen halten, wenn es beendet ist?
Du hast mich falsch verstanden ;).
Ich wunderte mich nur, dass jeder immer die Konsole mit Gewalt offen halten will.
Es würde doch schon genügen wenn der faule Windows-User sich einfach mal ne Shell aufmacht und das Programm von da aufruft.
Einfacher Registrierungs-Eintrag fügt auch ein schönes Kommando ins Kontext-Menü des Explorers ein:Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\CommandShell]
@=""[HKEY_CLASSES_ROOT\Folder\shell\CommandShell\command]
@="cmd.exe /k cd \"%1\""rya.