Warum gehts nicht??
-
Hallo Zusammen,
Das ist mein erster Beitrag und moechte erstmal alle im Forum begruessen. Zum Problem:
Ich benutze Dev-C++ und habe das untenstehende Programm aus einem Buch genommen. Ich habe es in Dev-C++ eingegeben aber das Programm kann nicht kompiliert werden. Gibt es bei dev-C++ einige Funktionen, die man nicht mehr benutzt?? Wieso geht es nicht, obwohl andere Programme gut gelaufen sind. Syntax errors habe ich gecheckt aber nichts gefunden. Für die Antworten. Vielen Dank.#include <stdio.h> #include <stdlib.h> /* Konstante zur Umrechnung von Pfund in Gramm definieren */ #define GRAMM_PRO_PFUND 454 /* Konstante für Beginn des nächsten Jahrzehnts definieren */ const int ZIEL_JAHR = 2010; /* Erforderliche Variablen deklarieren */ long gewicht_in_gramm, gewicht_in_pfund; int jahr_der_geburt, alter_in_2010; int main(int argc, char *argv[]) { /* Daten vom Benutzer einlesen */ printf("Bitte Ihr Gewicht in Pfund eingeben: "); scanf("%d", &gewicht_in_pfund); printf("Bitte Ihr Geburtsjahr eingeben: "); scanf("%d", &jahr_der_geburt); /* Umrechnungen durchführen */ gewicht_in_gramm = gewicht_in_pfund * GRAMM_PRO_PFUND; alter_in_2010 = ZIEL_JAHR – jahr_der_geburt; /* Ergebnisse auf Bildschirm ausgeben */ printf("\nIhr Gewicht in Gramm = %ld", gewicht_in_gramm); printf("\nIm Jahr 2010 sind Sie %d Jahre alt.\n", alter_in_2010); system("PAUSE"); return 0; }
Edit by c.rackwitz: Code durch indent geschickt und in cpp-Tags eingerahmt
-
wuerdest du BITTE auch die fehlermeldungen angeben? meine kristallkugel will heute nicht so ganz.
ich hab dein problem gefunden. das minus in der "alter_in_2010 =" zeile ist kein minus, sondern irgendein lustiges zeichen, das dein editor da fabriziert hat.
welchen editor benutzt du? sag jetzt nicht dev-cpp, der produziert keine lustigen nicht-ascii minuse...
hast du den code vielleicht nur von irgendwo kopiert?
-
in der folgenden Zeile wird der Fehler angezeigt:
alter_in_2010 = ZIEL_JAHR – jahr_der_geburt;
Log Fehler
Compiler: Default compiler
Building Makefile: "D:\C_Project\Makefile.win"
Führt make... aus
make.exe -f "D:\C_Project\Makefile.win" all
gcc.exe -c Be2.c -o Be2.o -I"C:/Programme/Dev-Cpp/include"Be2.c: In function `main':
Be2.c:24: error: stray '\150' in program
Be2.c:24: error: syntax error before "jahr_der_geburt"make.exe: *** [Be2.o] Error 1
Ausführung beendet
-
Das habe ich gesagt, das ich von einem Buch rauskopiert habe
-
Vielen Dank. es hat gut geklappt aber warum übernimmt nicht das Minuszeichen vom Buch? Ich wäre nie darauf gekommen. Es sah so aus wie ein Minuszeichen
-
das normale minuszeichen ist ascii 45, dein minuszeichen hatte den wert 150 und war damit kein minuszeichen mehr und auch nicht mehr ascii.
du hast bestimmt ein ebook gehabt. beim erstellen des buches hat das programm dieses minuszeichen wohl als gedankenstrich interpretiert und in ein typografisch "schoeneres" umgewandelt. ms word macht sowas gerne (z.b. auch mit allen ", die dann in quelltexten versaut drinstehen).
-
Anstatt system("PAUSE") sowas verwenden: http://www.c-plusplus.net/forum/viewtopic-var-t-is-111042.html
Oder einfach das Programm von der Konsole aus aufrufen, wie es sich für ein anständiges Konsolenprogramm auch gehört.