2009-09-09 5 views
2

У меня есть программа для класса 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); 

Почему это не работает, как ожидалось?

+0

Я не вижу вопроса здесь. Я отредактировал его, чтобы отразить его реальный статус. –

+0

(как вопрос C) –

+0

Просто комментарий .. запустите, чтобы инициализировать переменную, как вы их определяете. так что становится легче отлаживать. Например, вместо выполнения int qty; определите его как int qty = 0; – Naveen

ответ

2

Вы должны умножить евро с заданным пользователем количеством кол-во перед вводом пользователем. Он должен быть следующим: // 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); 

Вот и все.

7

Исправлена ​​ошибка в том, что линия

euro_result = euro * qty; 

должен быть после того, как кол-во для чтения в

2

Я подозреваю, что вы хотите, чтобы вычислить euro_result = euro * qty; только после вы собрали значение для Упак.

7

Операторы в программе 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); 
+1

Ах! Поэтому поставьте его после того, как пользователь выбрал qty, и он должен работать. ДУХ! Я настолько глуп, что даже не подумал об этом. – HollerTrain

+0

Не волнуйся. Это обычная ошибка начинающего. – dtb

+0

новичок? Что его отдало? :) – HollerTrain

0

Проблема в том, что вы умножаете qty на обменный курс, прежде чем пользователь вводит какие-либо данные.