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.
il programma funzione, ma nelle righe 39 e 53codice:#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; }
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;il programma sbaglia a calcolare la radice. inoltre ho dovuto dividere tutti i calcoli altrimenti i risultati erano completamente sbagliati.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;
!=codice:x=(c*-1); y=x/b; printf("x=%f\n", y);
suggerimenti?codice:x=(c*-1)/b; printf("x=%f\n", x);

Rispondi quotando
io uso borland e a volte non lo capisco, pensa che in questo programma faceva funzionere sytem("pause"); senza <stdlib.h>

