theflasher
Grünschnabel
Hallo, ich habe erst vor kurzem mit C Programmierung angefangen.
Gestern wollte ich ein kleines Programm für die Berechnung der Lösungen einer pq Formel schreiben.
Ich bekomme zwar die Lösungen hin, aber die Ergebnisse sind falsch.
Erst mal der Code
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main (){
int b;
int c;
int x;
float x1; //Lösung1
float x11; // Testvariable
float x2; //Lösung2
int y;
char janein;
do {
system("cls");
printf("bitte geben Sie eine Zahl fuer B ein\n");
scanf("%d",&b);
fflush(stdin);
printf("bitte geben Sie eine Zahl fuer C ein\n");
scanf("%d",&c);
fflush(stdin);
printf("Die Gleichung lautet x^2+%dx+%d\n",b,c);
x11= b/2; // Hier komme ich nicht weiter, b = 3 durch 2 ergibt immer 1
printf("%f\n", x11); // Ausgabe der Testzahl
x1 = -(b/2) + sqrt(((b*b)/4)-c); // pq Formel
x2 = -(b/2) - sqrt(((b*b)/4)-c);
printf("Lösung 1 = %f\n", x1);
printf("Lösung 2 = %f\n", x2);
printf (" Wollen Sie nochmal eingeben (y/n)?");
scanf("%c",&janein);
}while(janein == 'y');
getchar();
return 0;
}
Ok das ganze sollte leicht zu verstehen sein. Meine Frage ist: Wie kann ich es hinbekommen, dass wenn ich eine Variable b = 3 durch 2 teile auch wirklich 1,5 bekomme
Bei mir wird immer 1.00000 angezeigt und deswegen sind die Ergebnisse auch falsch.
Ich bin sicher, dass der Fehler recht einfach sein muss, aber ich kopmme beim besten Willen nicht drauf
Danke im Vorraus für eure Hilfe
Gruss theflasher
Gestern wollte ich ein kleines Programm für die Berechnung der Lösungen einer pq Formel schreiben.
Ich bekomme zwar die Lösungen hin, aber die Ergebnisse sind falsch.
Erst mal der Code
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main (){
int b;
int c;
int x;
float x1; //Lösung1
float x11; // Testvariable
float x2; //Lösung2
int y;
char janein;
do {
system("cls");
printf("bitte geben Sie eine Zahl fuer B ein\n");
scanf("%d",&b);
fflush(stdin);
printf("bitte geben Sie eine Zahl fuer C ein\n");
scanf("%d",&c);
fflush(stdin);
printf("Die Gleichung lautet x^2+%dx+%d\n",b,c);
x11= b/2; // Hier komme ich nicht weiter, b = 3 durch 2 ergibt immer 1
printf("%f\n", x11); // Ausgabe der Testzahl
x1 = -(b/2) + sqrt(((b*b)/4)-c); // pq Formel
x2 = -(b/2) - sqrt(((b*b)/4)-c);
printf("Lösung 1 = %f\n", x1);
printf("Lösung 2 = %f\n", x2);
printf (" Wollen Sie nochmal eingeben (y/n)?");
scanf("%c",&janein);
}while(janein == 'y');
getchar();
return 0;
}
Ok das ganze sollte leicht zu verstehen sein. Meine Frage ist: Wie kann ich es hinbekommen, dass wenn ich eine Variable b = 3 durch 2 teile auch wirklich 1,5 bekomme
Bei mir wird immer 1.00000 angezeigt und deswegen sind die Ergebnisse auch falsch.
Ich bin sicher, dass der Fehler recht einfach sein muss, aber ich kopmme beim besten Willen nicht drauf

Danke im Vorraus für eure Hilfe
Gruss theflasher