Ciao a tutti!!
Sto creando un programma semplice semplice in devC++/TurboC++
Il programma consiste nella risoluzione delle equazioni di secondo grado con tutte le soluzioni reali possibili!
L'unico problema è ke nn svolge il suo compito cone si deve!
Il programma funziona così:
Se A==0 eq. impossibile;
Se B==0 eq. risolubile tramite spurie (x=(-c)/ a);
Se C==0 eq. risolubile tramite pure (x=(-b)/a);
questo qui sotto è il programma, riuscite a capire dov'è che sbaglio?? (console application)
P.S:
se inserisco b=0, i sirultati rimangono sempre e solo -1 e 1 con scritte di errore a seguito
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
//Programma per il calcolo delle equazioni di secondo grado//
main()
{
float a, b, c, delta, x1, x2, x;
printf(" Programma di calcolo per le equazioni di secondo grado\n");
printf("\n Programma a cura di Mantovani Fabio & Hoxha Alush\n");
printf("\nInserisci coefficente di a: ");
scanf("%f",&a);
if (a==0)
{
printf("\nEquazione Impossibile\n");
system("PAUSE");
return 0;
}
printf("\nInserisci coefficente di b: ");
scanf("%f",&b);
if (b==0)
{
printf("\nEquazione risolvibile col metodo Equazioni Pure\n");
printf("\nInserire coefficente di a: ");
scanf("%f",&a);
printf("\nInserisci coefficente di c: ");
scanf("%f",&c);
x = (-c)/ a;
x1 = +sqrt(x);
x2 = -sqrt(x);
printf("\nx1: %f",x1);
printf("\nx2: %f",x2);
system("PAUSE");
return 0;
}
printf("\nInserisci coefficente di c: ");
scanf("%f",&c);
if (c==0)
{
printf("\nEquazione risolvibile col metodo Equazioni Spurie\n");
printf("\nInserisci coefficente di a: ");
scanf("%f",&a);
printf("\nInserisci coefficente di b: ");
scanf("%f",&b);
x1 = 0;
x2 = (-b)/a;
printf("\nx1: %f",x1);
printf("\nx2: %f",x2);
system("PAUSE");
return 0;
}
delta = (b*b - 4*a*c);
printf("\ndelta: %f\n\n", delta);
delta = (b*b) - 4*a*c;
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
x = (-b)/2*a;
if (delta<0)
{
printf("\nIMPOSSIBILE\n\n");
system("PAUSE");
return 0;
}
if (delta>0)
{
printf(" a: %f b: %f c: %f delta: %f \n\nx1: %f x2: %f\n
\n", a, b, c, delta, x1, x2);
}
if (delta==0)
{
printf(" a: %f b: %f c: %f delta: %f \n
\nX soluzione doppia: %f", a, b, c, x);
}
system("PAUSE");
return 0;
}