Easy Question...

The question is ...

Assume that qty and salesRep are both integers. Use a type cast expression to rewrite the following statements so it will no longer perform integer division

unitsEach = qty / salesRep

This is what I wrote

 ``12345678910111213141516171819`` `````` #include using namespace std; int main() { int qty,salesReps; cout<<"Enter the value of qty : "<>qty; cout<<"Enter the value of salesReps : "<>salesReps; float unitsEach = qty / salesReps; cout<<"The value of unitsEach is : "<

But my answer still comes out to be an integer...
You are not doing a typecast. You have to cast either qty or salesReps to be a floating point rather than an integer.

http://www.cplusplus.com/doc/tutorial/typecasting/

See the "explicit conversion" section near the top.
I did not under =S

if you could show a code to this answer, then it would be a great help...
There's code examples in that link:

 ``123`` ``````short a=2000; int b; b = (int) a; // c-like cast notation ``````

That last line casts 'a' (a short) to an int.

You're doing the same, but casting an int to a float.
So is this correct?

 ``1234567891011121314151617181920`` ``````#include using namespace std; int main() { int qty,salesReps; double unitsEach; cout<<"Enter the value of qty : "<>qty; cout<<"Enter the value of salesReps : "<>salesReps; unitsEach = static_cast(qty) / salesReps; cout<<"The value of unitsEach is : "<
you could stick a breakpoint on line 16 and find out for yourself.

i'd actually cast the divisor (i.e. salesReps), but yea, looks okay I think :)
How would you cast the divisor btw?
i meant to type "denominator" sorry.
but yea, just the same way as you've done the numerator.

`unitsEach = qty / static_cast<double>(salesReps);`

Another question :

write a multiple assignment statement that can be used instead of the following group of assignment statements

purple_houses = 20;
black_houses = 20;
pink_houses = 20;
orange_houses = 20;

What is missing/wrong in this statement? I can not figure it out..

 ``123456789101112131415161718`` ``````#include ; using namespace std; int main() { double number1, number2, sum; cout << "Enter a number: "; cin >> number1; cout << "Enter another number: "; cin >> number2; number1 + number2 = sum; cout << "The sum of the two numbers is " << sum; return 0; }``````
Hi there,

Please create separate topics for unrelated problems. As for your question, the problem is here:

`number1 + number2 = sum;`

Let's break down what happens:

- number2 is added to number1, creating a temporary result (also known as an rvalue)
- an rvalue cannot be assigned a new value, which is what you are trying to do by doing `= sum`

"sum" is an lvalue, basically meaning it can be of the left side of operator=(). All this to say that this line should look like this:

`sum = number1 + number2;`

Hope that helps.
All the best,
NwN
Topic archived. No new replies allowed.