Buongiorno!
Innanzitutto buone feste a tutti, o voi ch'intrate in questo post
Per quanto riguarda gli affari, vi posto il codice e poi vi spiego:
int main() {
float a,b,c,d,e,f,x,y,D;
char esc;
printf("#########################\n\n");
printf("\tProgramma per la risoluzione di sistemi di primo grado a due incognite\n\n");
printf("#########################\n\n");
printf("\tCopyrighted %c by Andrea Marino\n\n", 184);
printf("#########################\n\n");
printf("Dato un sistema\n\tax + by = c \n\tdx + ey = f,\n\n Inserire i parametri a,b,c,d,e,f nell'ordine in cui vengono richiesti\n per ottenere le soluzioni x,y\n\n");
printf("#########################\n\n");
system("PAUSE");
printf("Inserire il parametro a --> ");
scanf("%f \n", &a);
printf("Inserire il parametro b --> ");
scanf("%f \n", &b);
printf("Inserire il parametro c --> ");
scanf("%f \n", &c);
printf("Inserire il parametro d --> ");
scanf("%f \n", &d);
printf("Inserire il parametro e --> ");
scanf("%f \n", &e);
esc=getchar();
printf("Inserire il parametro f --> ");
scanf("%f \n", &f);
D=e*a-d*b;
printf("#########################\n\n");
if (D==0)
{
if (b/e==c/f)
{
printf("Il sistema di equazioni e' indeterminato.\n\n");
esc=getchar();
} else {
printf("Il sistema di equazioni e' impossibile.\n\n");
}
} else {
y=(f*a-d*c)/D;
x=(c-b*y)/a;
printf("Le soluzioni del sistema sono:\n\tx=%g \n\ty=%g \n\n", x,y);
}
system("PAUSE");
printf("#########################\n\n");
printf("Grazie per aver utilizzato il nostro programma!\n\n");
system("PAUSE");
return 0;
}
In realtà il cuore del programma è facile facile, semplicemente prende i 6 coefficienti di un sistema di equazioni di primo grado e restituisce le soluzioni (con il metodo di risoluzione delle matrici). Adesso quando lo eseguo mi succede una cosa bizzarra: allo scanf per il parametro a e per il parametro f, mi chiede due volte il numero. In poche parole io inserisco il numero, premo invio e lui invece di passare direttamente all'istruzione successiva mi richiede il numero.
Ah, con un paio di esperimenti ho capito che il secondo numero che inserisco (questo "scanf di troppo") non conta un cavolo
Grazie per l'aiuto (so che lo farete )