Умножить переменную на другую переменную?

StackOverflow https://stackoverflow.com/questions/1400922

  •  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 на обменный курс до того, как пользователь введет какие-либо данные.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top