2009-09-09 10 views
2

J'ai un programme pour une classe C que j'ai besoin d'écrire. Le programme demande une quantité, et j'ai besoin de multiplier cette quantité par une autre variable que l'utilisateur saisit. script calculatrice de base pour une classe c :)Multiplier variable par une autre variable?

Je l'ai mis comme ça,

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); 

Pourquoi cela ne fonctionne pas comme prévu?

+0

Je ne vois pas de question ici. Je l'ai édité pour refléter son statut réel. –

+0

(en tant que question C) –

+0

Juste un commentaire ... souvenez-vous d'initialiser la variable comme vous les définissez. de sorte qu'il devient plus facile de déboguer. Par exemple, au lieu de faire int qty; le définir comme int qty = 0; – Naveen

Répondre

2

Vous devez multiplier l'euro par la quantité donnée par l'utilisateur avant d'entrer par l'utilisateur. Il devrait être comme ci-dessous: // euro_result = euro * qty; // < - déplacez ceci à la position donnée ci-dessous

//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); 

C'est tout.

7

Le bug est que la ligne

euro_result = euro * qty; 

doit être après qté est lu dans

2

Je suppose que vous voulez calculer euro_result = euro * qty; seulement après avoir rassemblé la valeur pour qté.

7

Les déclarations contenues dans un programme C sont exécutées de façon séquentielle , et les expressions sont pas évalués symboliquement. Vous avez donc besoin de réorganiser vos déclarations de cette façon:

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); 
+1

Ah! Donc, mettez-le après que l'utilisateur a sélectionné la quantité et cela devrait fonctionner. DUH! Je suis tellement stupide que je n'y ai même pas pensé. – HollerTrain

+0

Ne vous inquiétez pas. C'est l'erreur d'un débutant commun. – dtb

+0

un débutant? Qu'est-ce qui l'a donné? :) – HollerTrain

0

Le problème est que vous multipliez le qty par le taux de change avant que l'utilisateur ait entré des données.

Questions connexes