Startfehler
-
Hey, fange gerade wieder mit c programmierung an, und frage mich wieso mein compiler das nicht ausgeben kann? oO
#include <stdio.h> #include <stlib.h> /*Das ist mein Kommentar, und hier endet er*/ void main() { <--------Hier sagt er mir, "Main must return int" int test; Printf("Geben Sie bitte eine Zahl ein: "); Scanf("%i",&btest); system("PAUSE"); return 0; }
Wie lautet jetzt der richtige Code? oO
-
Korrekt heißt es entweder
int main()
oderint main(int argc, char** argv)
- genau das will dir der Compiler auch mitteilen.(ansonsten schreibt man printf() und scanf() klein, und die Variable btest in Zeile 14 dürfte der Compiler auch nicht kennen)
-
warum sollte er die variable in zeile 14 nicht kennen? ich hab die doch definiert mit "int test;"
den Rest hab ich korregiert, und jetzt sagt er mir bei zeile 18 "system undecleared"
-
Windassel schrieb:
warum sollte er die variable in zeile 14 nicht kennen?..., und jetzt sagt er mir bei zeile 18 "system undecleared"
Gehe davon aus, dass der Compiler immer recht hat und du derjenige bist, der die Fehler macht. Z.B. btest statt test und stlib.h statt stdlib.h.
-
Windassel schrieb:
warum sollte er die variable in zeile 14 nicht kennen? ich hab die doch definiert mit "int test;"
test != btest
Bei dem anderen Fehler mit system bin ich mir nicht sicher.
-
Haha, die 2. zeile war verkehrt...<stdlib.h> aber das mit dem btest versteh ich nicht. ich kann die variable doch nennen wie ich will.
-
Ja, kannst du nennen wie du willst, aber bitte einheitlich. Nicht als 'test' deklarieren und als 'btest' darauf zugreifen. Wenn du hier Antworten bekommst, solltest du die auch lesen und versuchen zu verstehen.
-
ouh, ich hab mich verschrieben. jetzt erst hab ich das mit dem btest gelsen. da sollte eigentlich nur test stehen. jetzt hab ich das auch verstanden
-
Und wenn ich jetzt sagen möchte, dass danach noch eine Zeile erscheint, die sagt: Das ist Ihre Zahl: "Zahl"
Meiner Meinung nach sollte es doch so heißen, stimmt aber nicht.
#include <stdio.h> #include <stdlib.h> /*Das ist mein Kommentar, und hier endet er*/ int main() { int test; printf("Geben Sie bitte eine Zahl ein: "); scanf("%i",&test); printf("Das ist Ihre Zahl;%i"); system("PAUSE"); return 0; }
-
Das Forum markiert dir doch schon die Syntax, da sollte doch offensichtlich sein, was da dran falsch ist.
Und wenn du schon mit der zweiten(?) Aufgabe so viele Schwierigkeiten hast, dann ist das mit der Programmierung vielleicht doch nichts...
-
Windassel schrieb:
Meiner Meinung nach sollte es doch so heißen, stimmt aber nicht.
Im Zweifelsfall hat der Compiler recht. Und wenn er gut genug ist, sollte er dich darauf hinweisen, daß du dem printf()-Aufruf nicht mitgeteilt hat, was er ausgeben soll.
-
SeppJ schrieb:
Und wenn du schon mit der zweiten(?) Aufgabe so viele Schwierigkeiten hast, dann ist das mit der Programmierung vielleicht doch nichts...
Normalerweise würde ich hier jetzt vehement widersprechen. Wenn ich mir allerdings recht überlege, dass z.B. der Compilerfehler am Anfang des Threads wortwörtlich gesagt hat, was falsch ist...
-
du weißt schon, dass ich mit c gerade erst anfange, ne? und es ist keine Aufgabe, sondern wollte es selber mal probieren, und habe gehofft hier im forum eine antwort zu finden. auf patzige posts kann ich echt verzichten
-
Gaaaaaaaaaaaaaaaaaaaaaaaaaanz einfach:
#include <stdio.h> #include <stdlib.h> /*Das ist mein Kommentar, und hier endet er*/ int main() { int test; printf("Geben Sie bitte eine Zahl ein: "); scanf("%i",&test); printf("Das ist Ihre Zahl: %i", test); //Ich würde Test fett markieren wenn das in Code Tags funktionieren würde. system("PAUSE"); return 0; }
-
aaaaaaaah, sehr nice
danke dir man
-
Du musst die Fehlermeldungen auch lesen.
Wenn du die englische Fehlermeldung des Compiler nicht vestehst, dann gib die doch mal bei http://de.babelfish.yahoo.com/ ein.
Am besten per copy&paste, damit nicht wieder so doofe Übertragungsfehler entstehen.
-
so wirklich versteh ich die meistens auch nicht wirklich. danke aber für den link
-
Wollte jetzt nicht unebdingt nen neuen Thread aufmachen, daher poste ich es mal hierrein
#include <stdio.h>
#include <stdlib.h>
#include <math.h>int main() { int m; int x; int b; int erg; printf("Geben Sie die eine Zahl fuer m ein: "); scanf("%i", &m); printf("Geben Sie ein Zahl fuer x ein: "); scanf("%i", &x); printf("Geben Sie eine Zahl fuer b ein: "); scanf("%i", &m); erg = m * x + b; printf("\nErgebnis: %i\n", erg); system("PAUSE"); return 0; }
Ich möchte, dass ich als 1. eine Zahl für m eingebe, danach eine Zahl für x eingebe und zum schluss eine zahl für b eingebe. anschließend soll mein "Programm" hust hust* m und x multiplizieren und b dazu addieren. Leider macht es das nicht. Hab wohl nicht alles richtig gemacht, nur was?
-
Richtig von der Idee her. Guck nochmal ganz scharf hin, besonders auf die scanfs:
printf("Geben Sie die eine Zahl fuer m ein: "); scanf("%i", &m); printf("Geben Sie ein Zahl fuer x ein: "); scanf("%i", &x); printf("Geben Sie eine Zahl fuer b ein: "); scanf("%i", &m);
-
Windassel schrieb:
zum schluss eine zahl für b eingebe.
Dann solltest du auch darauf achten, was du tatsächlich eingibst.