2 Geraden gleichsetzen und den Schnittpunkt erfahren
-
Hallo,
habe ein programm geschrieben für die berechnung der Punkte zweier gerade wo sie sich denn schneiden.
g1: y = ax + b
g2: y = mx + nEs funktionier auch soweit alles, ausser die Ausgabe für den xs (x schnittpunkt) wert, er rechnet mit den richtig xs wert weiter, gibt den richtigen ys wert auch aus, doch leider nicht den richtigen xs wert (meisstens 0), kann es mir nicht erklären, hier ist der code:
#include <stdio.h>
double n, m,a,b,x,y;
int main(void)
{
n=0;
m=0;
a=0;
b=0;printf("Bitte Paramater fuer g1 eingeben\n");
printf("g1 - a:\n");
scanf("%d",&a);
printf("g1 - b:\n");
scanf("%d",&b);printf("Bitte Parameter fuer g2 eingeben\n");
printf("g2 - n:\n");
scanf("%d",&n);
printf("g2 - m:\n");
scanf("%d",&m);x = ((n-b)/(a-m));
printf("xs=%d\n",x);
y = ((a*x) + b);
printf("ys=%d\n",y);
fflush(stdin);
getchar();
return 0;
}Vielen dank
-
- %d passt nicht zu double
- fflush( stdin ) erzeugt undefiniertes Verhalten
- falsches Forum
-
1. Danke, hattest recht, maaan, wie konnte ich nur für double %d nehmen, %lf ist besser
2. Also mit fflush(stdin); gehts wunderbar, somit muss ich das programm nicht von der eingabeaufforderung von hand eingeben sondern geht so gut wie automatisch, hmm...
3. Tut mir leid, schaue beim nächsten mal genauer hin, sorry
-
Daniel002 schrieb:
2. Also mit fflush(stdin); gehts wunderbar,
Ja, manche Compiler machen da das, was du möchtest. Der Standard deckt das aber nicht ab.
Siehe hier: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39349.html
-
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.
-
MFK schrieb:
- %d passt nicht zu double
- fflush( stdin ) erzeugt undefiniertes Verhalten
- falsches Forumdas geht doch mit jedem windows compiler oder irre ich mich ?
das ist doch einfach das leeren des eingabepuffers für windows
-
Stelfer schrieb:
MFK schrieb:
- %d passt nicht zu double
- fflush( stdin ) erzeugt undefiniertes Verhalten
- falsches Forumdas geht doch mit jedem windows compiler oder irre ich mich ?
Jo, die MS-Compiler murren nicht. Aber das ändert nichts daran, dass fflush(stdin) laut Standard undefiniertes Verhalten erzeugen darf.
Siehe auch hier: http://www.c-plusplus.net/forum/viewtopic.php?t=39349
EDIT: Rechtschreibfehler korrigiert
MfG
GPC
-
GPC schrieb:
Jo, die MS-Compiler murren nicht.
Also eigentlich doch "Nö", weil ja nicht alle Windows-Compiler auch MS-Compiler sind, oder?
-
*g* Hast ja recht
-
Zumindest beim mingw ist das kein Problem, da er auch die msvcrt benutzt. Besser macht das die Sache trotzdem nicht.