C problem
-
Hi Leute.. muss C lernen und finde einen fehler nicht. könnt ihr mir helfen.
Code :
#include <stdio.h> main(){ int x,y; printf("\n\t1 . Rechenprogramm\n"); printf("\nBitte x eingeben :"); scanf("%i",&x); printf("\nBitte y eingeben :"); printf("%i",&y); printf("\n %i + %i ist %f",x,y,x+y); printf("\n %i - %i ist %f",x,y,x-y); printf("\n %i * %i ist %f",x,y,x*y); printf("\n %i / %i ist %f",x,y,x/y); printf("\n %i %% %i ist %f",x,y,x%y); getchar(); getchar(); }
Starte ich das Programm kann ich x eingeben und nach eingabe überspringt er y.
Bei Y steht dann 2293616
und bei der Rechnun steht für y überall eine 60 ?!?!peil ich net...
danke.. gruss
-
Dieser Thread wurde von Moderator/in CMatt aus dem Forum C# und .NET in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
ups... natuerlich
scanf("%i",&y);
ok nun nimmt er beide werte nur das ergebnis is komisch
da kommt raus :
12 + 3 ist -1.#QNAN0
was das ????
-
probier mal das:
#include <stdio.h> int main(void){ float x,y; printf("\n\t1 . Rechenprogramm\n"); printf("\nBitte x eingeben :"); scanf("%f",&x); printf("\nBitte y eingeben :"); printf("%f",&y); printf("\n %f + %f ist %f",x,y,x+y); printf("\n %f - %f ist %f",x,y,x-y); printf("\n %f * %f ist %f",x,y,x*y); printf("\n %i / %f ist %f",x,y,x/y); printf("\n %f %% %f ist %f",x,y,x%y); }
warum das jetzt nicht funktioniert hat, erfährst du im nächsten Kapitel ausführlich
-
mach mal nach jedem scanf fflush oder die while-Methode (such nach Tastaturbuffer leeren)
und die ausgaben mit %d nicht %i irgendwas war damit.
Die zusammenrechnung müsstest Du noch casten nehm ich mal an.
also (%d / %d = %f ,x,y,(float)x/y);
Du brauchst nur ein getchar() am Ende... hat er wahrscheinlich vorherübersprungen weil noch was im Tastaturbuffer lag.
-
%d steht fuer int
%f fuer floatsentscheide dich fuer eines. deine ausgabe verwendet naemlich %f fuer ints.