Умножить переменную на другую переменную?
-
05-07-2019 - |
Вопрос
У меня есть программа для класса C, которую мне нужно написать. Программа запрашивает количество, и мне нужно умножить это количество на другую переменную, которую вводит пользователь. Базовый скрипт калькулятора для класса c:)
Я настроил это так,
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);
Почему это не работает, как ожидалось?
Решение
Вы должны умножить евро на количество, указанное пользователем, до ввода пользователем. Это должно быть, как показано ниже: // euro_result = euro * qty; // < - сместить это в положение, указанное ниже
//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);
Вот и все.
Другие советы
Ошибка в том, что строка
euro_result = euro * qty;
должен быть после чтения кол-во
Операторы в программе на C выполняются последовательно , а выражения не оцениваются символически . Поэтому вам нужно изменить порядок своих утверждений следующим образом:
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);
Я подозреваю, что вы хотите рассчитать euro_result = euro * qty;
только после того, как вы собрали значение для qty.
Проблема в том, что вы умножаете qty
на обменный курс до того, как пользователь введет какие-либо данные.