29/04/07 16:51
G82T
Non riesco a capire perchè la calcolatrice che ho fatto non funziona, non capisco il perchè
il risultato rimane 0.0000.
Questo è il codice sorgente (non è un gran che ma è tanto per fare qualcosa)
#include<stdio.h>
#include<conio.h>
#include<math.h>
float a,b,i; // "a=primo numero" "b=secondo numero" "i=contatore"
double r; // "r=risultato"
char o; // "o=operatore"
double operatore(char,float,float); //funzione riconoscimento operatore (+ - * / x X)
main() {
printf("\nEdit by gLuK90"
printf("\ng82t.altervista.org\n"
printf("\n===================="
printf("\n=======CalcX========"
printf("\n===================="
printf("\nInserisci X per interrompere il ciclo.\n"
a=0; b=0; r=0; o=0; i=1;
//la i viene inizializzata a 1 per farla entrare nel primo if dento il do-while
// la "i=0" è il segnale d'uscita dal ciclo che segue al riconoscimento in
// a,b,o di x o X
do {
// if che opera con "a" e "b" assegnando il risultato ad "r"
// all'uscita dell'if si opera solo fra "b" e "r"
if(i=1) {
printf("\nInserisci numero: " scanf("%d",&a);
fflush(stdin);
//svuota la stdin dai caratteri in eccesso, evitando di considerare caratteri
//precedenti come appena immessi.
printf("\nInserisci operatore: " scanf("%c",&o);
printf("\nInserisci numero: " scanf("%d",&b);
//funzione che controlla l'operatore se è + - / * e assegna il risultato ad r
r=operatore(o,a,b);
system("cls"
printf("\n ris=%lf",r);
i=2;
} // chiude "if(i=1)"
il risultato rimane 0.0000.
Questo è il codice sorgente (non è un gran che ma è tanto per fare qualcosa)
#include<stdio.h>
#include<conio.h>
#include<math.h>
float a,b,i; // "a=primo numero" "b=secondo numero" "i=contatore"
double r; // "r=risultato"
char o; // "o=operatore"
double operatore(char,float,float); //funzione riconoscimento operatore (+ - * / x X)
main() {
printf("\nEdit by gLuK90"
printf("\ng82t.altervista.org\n"
printf("\n===================="
printf("\n=======CalcX========"
printf("\n===================="
printf("\nInserisci X per interrompere il ciclo.\n"
a=0; b=0; r=0; o=0; i=1;
//la i viene inizializzata a 1 per farla entrare nel primo if dento il do-while
// la "i=0" è il segnale d'uscita dal ciclo che segue al riconoscimento in
// a,b,o di x o X
do {
// if che opera con "a" e "b" assegnando il risultato ad "r"
// all'uscita dell'if si opera solo fra "b" e "r"
if(i=1) {
printf("\nInserisci numero: " scanf("%d",&a);
fflush(stdin);
//svuota la stdin dai caratteri in eccesso, evitando di considerare caratteri
//precedenti come appena immessi.
printf("\nInserisci operatore: " scanf("%c",&o);
printf("\nInserisci numero: " scanf("%d",&b);
//funzione che controlla l'operatore se è + - / * e assegna il risultato ad r
r=operatore(o,a,b);
system("cls"
printf("\n ris=%lf",r);
i=2;
} // chiude "if(i=1)"
aaa