Question

J'ai un programme pour une classe C que je dois écrire. Le programme demande une quantité et je dois la multiplier par une autre variable saisie par l'utilisateur. Script de calcul de base pour une classe c:)

Je l'ai installé 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-t-il pas comme prévu?

Était-ce utile?

La solution

Vous avez multiplié l'euro avec la quantité donnée par l'utilisateur avant que celle-ci ne soit entrée par l'utilisateur. Ce devrait être comme ci-dessous:     // euro_result = euro * qty; // < - décale ceci vers la position indiqué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.

Autres conseils

Le problème est que la ligne

euro_result = euro * qty;

doit être après la lecture de la quantité

Les instructions d'un programme C sont exécutées séquentiellement et les expressions ne sont pas évaluées symboliquement . Vous devez donc réorganiser vos déclarations de la manière suivante:

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

Je suppose que vous souhaitez calculer euro_result = euro * qty; uniquement après que vous ayez recueilli la valeur pour la quantité.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top