Vai al contenuto

Ho un problema con C++


Messaggi raccomandati

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;

}

Link al commento
Condividi su altri siti

per nicomede

 

 

http://programmazione.html.it/guide/leggi/32/guida-c/

 

 

una guida "completa" ( tra virgolette xkè nn l'ho guardata tutta) per C

 

 

comunque un consiglio metti qualche commento ogni tanto così si capisce a che operazione sei arrivato... e vorrei farti una domanda ho programmato in c un'anno ma non ho mai usato la "funzione" system ("pause"); a che serve??? ( ho preso il programma e nel frattempo lo provo così vedo se capisco il problema)

Link al commento
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un membro per lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

Giochi in Uscita



  • Community Hive Community Hive

    Community Hive allows you to follow your favorite communities all in one place.

    Follow on Community Hive
  • Utenti

    Non ci sono membri da mostrare

×
×
  • Crea Nuovo...