Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Also ich fang grade an C zu lernen mit dem Buch

Galileo Computing / <openbook> / C von A bis Z

Als Compiler nehme ich unter Windos den DEV C++ Compiler (worin man auch C prog. kann)

Wenn das Programm korrekt abläuft, wird nach einer Zahl gefragt. Jetzt gibt der Anwender eine Zahl ein und drückt (¢). Anschließend gibt das Programm die Zahl, die eingegeben wurde, auf dem Bildschirm aus und wird beendet.

Das soll das Programm abarbeiten:

Problem ist das ich nicht weiß wo ich die dann anzuzeigendezahl Eintragen soll. Hätte hir gedacht scanf("%d",&Zahl); aber da kommt eine Fehlermeldung.Und wenn ich im Programm enter drücke schließt es sich wieder und zeigt die letzte Zeile nicht an.

/* scanf1.c */

#include <stdio.h>

int main (void) {

int i; /* Ein ganzzahliger Datentyp */

printf("Bitte geben Sie eine Zahl ein : ");

i=getch();

scanf("%d",&i); /* Wartet auf die Eingabe */

printf("Die Zahl, die Sie eingegeben haben, war %d\n",i);

getchar();

return 0;

}

Geschrieben
Hätte hir gedacht scanf("%d",&Zahl); aber da kommt eine Fehlermeldung.
"Da kommt eine Fehlermeldung" ist keine ausreichende Fehlerbeschreibung. Der Text der Meldung ist immer extrem hilfreich bei der Diagnose, auch wenn er Dir nichts sagt.

Zumindest kann ich aber sagen, dass ich nicht weiß, was der Aufruf von getch da soll. Das ist auch keine Standardfunktion.

Und wenn ich im Programm enter drücke schließt es sich wieder und zeigt die letzte Zeile nicht an.
Getchar allein reicht nicht, um die Konsole offen zu halten. Schau mal hier rein:

http://forum.fachinformatiker.de/c-c/116794-problem-programm.html

Geschrieben

Zumal getch eine ungepufferte Eingabe ist...

D.h. wenn du nach der Aufforderung z.B. 123 eingibst, wird mittels getch zu erst der Dezimalwert von 1 (=49) gespeichert und danach die scanf-Funktion mit 23 aufgerufen...

Geschrieben

sorry das ich jetz nicht gleic zurückgeschrieben hab. Also als Fehlerlmeldung kommt da:

in function ´main´:

invalid Ivalue in unary '&'

diese Fehlermeldung kommt wenn ich das da eingebe

("%d",&100)

Bisschen versteh ich ja die Fehlermeldung also in der Funktion (teil). Ist ein unbekannter Typ deklariert oder so.

@ Klotzkopp dein Link hat mich auch nicht wirklich weitergebracht.

kleine Änderung habe euch den falschen Quelltext gegeben ist passiert als ich rumprobiert hatte. das i= get.. ist nicht drinn

/* scanf1.c */

#include <stdio.h>

int main (void) {

int i; /* Ein ganzzahliger Datentyp */

printf("Bitte geben Sie eine Zahl ein : ");

scanf("%d",&i); /* Wartet auf die Eingabe */

printf("Die Zahl, die Sie eingegeben haben, war %d\n",i);

return 0;

}

Geschrieben
sorry das ich jetz nicht gleic zurückgeschrieben hab. Also als Fehlerlmeldung kommt da:

in function ´main´:

invalid Ivalue in unary '&'

diese Fehlermeldung kommt wenn ich das da eingebe

("%d",&100)

Bisschen versteh ich ja die Fehlermeldung also in der Funktion (teil). Ist ein unbekannter Typ deklariert oder so.

Das ist auch klar.

& gibt die Adresse einer Variable zurück. Wenn du aber einen Wert hast, der keine Variable ist, dann ist der nirgends im Speicher abgelegt. Folglich kannst du nicht auf die Adresse zugreifen.

&100 würde auch nicht viel bringen, wenn du eine int-Variable einlesen willst, kannst du nicht sagen, dass die 100 sein soll.

An sich sollte der Code eigentlich gehen.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...