ciao a tutti, sto cercando di imparare a programmare in c, ho scritto un programma che dati i valori di a,b,c stampa il tipo di equazione e i risultati.
codice:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
int b;
int c;
int d2;
double d3;
double x;
double y;
double y2;
//risoluzioni espressioni di primo e secondo grado
printf("inserisci il valore di a \n");
scanf("%d", &a);
printf("inserisci il valore di b \n");
scanf("%d", &b);
printf("inserisci il valore di c \n");
scanf("%d", &c);
printf("l'espressione inserita e': %d", a);
printf("x^2 + %d", b);
printf("x + %d", c);
printf("=0 \n");
switch (a) {
case 0:
printf("l'equazione e' di 1^ grado \n");
x=(c*-1);
y=x/b;
printf("x=%f\n", y);
break;
default:
printf("l'equazione e' di secondo grado \n");
switch (b) {
case 0:
printf("si tratta di un equazione pura \n");
x=(c*-1);
39--- y=sqrt(x/a);
printf("i risultati sono: x1=%f", -y);
printf("; x2=%f\n", y);
break;
default:
switch (c) {
case 0:
printf("si tratta di un' equazione spuria \n");
x=(b*-1);
y=(x/a);
printf("i risultati sono: x1=0; x2=%f \n", y);
break;
default:
d2=(b*b-4*a*c);
53--- d3=sqrt(d2);
printf("d: %f", d3);
y=(-b-d3)/2*a;
printf("%f -b", -b);
printf("%f y:", y);
y2=(-b+d3)/2*a;
printf("i risultati dell'equazione sono: x1=%f", y);
printf("; x2=%f\n", y2);
break;
}
break;
}
break;
}
fflush(stdin);
system("pause");
return 0;
}
il programma funzione, ma nelle righe 39 e 53
codice:
switch (b) {
case 0:
printf("si tratta di un equazione pura \n");
x=(c*-1);
y=sqrt(x/a);
printf("i risultati sono: x1=%f", -y);
printf("; x2=%f\n", y);
break;
codice:
default:
d2=(b*b-4*a*c);
d3=sqrt(d2);
printf("d: %f", d3);
y=(-b-d3)/2*a;
printf("%f -b", -b);
printf("%f y:", y);
y2=(-b+d3)/2*a;
printf("i risultati dell'equazione sono: x1=%f", y);
printf("; x2=%f\n", y2);
break;
il programma sbaglia a calcolare la radice. inoltre ho dovuto dividere tutti i calcoli altrimenti i risultati erano completamente sbagliati.
codice:
x=(c*-1);
y=x/b;
printf("x=%f\n", y);
!=
codice:
x=(c*-1)/b;
printf("x=%f\n", x);
suggerimenti?