Moltiplicare la variabile per un'altra variabile?
-
05-07-2019 - |
Domanda
Ho un programma per una classe C che devo scrivere. Il programma richiede una quantità e devo moltiplicare quella quantità per un'altra variabile che l'utente inserisce. Script calcolatrice di base per una classe c :)
L'ho impostato in questo modo,
int qty; //basic quantity var
float euro, euro_result;
//assign values to my float vars
euro = .6896; //Euro Dollars
euro_result = euro * qty; // Euro Dollars multiplied by user input qty
//start program for user
printf("Enter a quantity: ");
//alow user to input a quantity
scanf("%d", &qty);
printf("Euro: %f \n", euro_result);
Perché non funziona come previsto?
Soluzione
Hai moltiplicato l'euro con la quantità quantità specificata dall'utente prima di essere inserita dall'utente. Dovrebbe essere come di seguito: // euro_result = euro * qty; // < - sposta questo nella posizione indicata di seguito
//start program for user
printf("Enter a quantity: ");
//alow user to input a quantity
scanf("%d", &qty);
euro_result = euro * qty; // Euro Dollars multiplied by user input qty
printf("Euro: %f \n", euro_result);
Questo è tutto.
Altri suggerimenti
Il bug è che la linea
euro_result = euro * qty;
deve essere dopo la lettura di qty
Le istruzioni in un programma C sono eseguite in sequenza e le espressioni non sono valutate simbolicamente . Quindi è necessario riordinare le dichiarazioni in questo modo:
int qty;
float euro, euro_result;
euro = .6896; // store constant value in 'euro'
printf("Enter a quantity: ");
scanf("%d", &qty); // store user input in 'qty'
euro_result = euro * qty; // load values from 'euro' and 'qty',
// multiply them and store the result
// in 'euro_result'
printf("Euro: %f \n", euro_result);
Sospetto che tu voglia calcolare euro_result = euro * qty;
solo dopo hai raccolto il valore per qty.
Il problema è che stai moltiplicando il qty
per il tasso di cambio prima che l'utente abbia inserito i dati.