nedint - unsigned int werkt niet helemaal lekker. Nou lukt het me wel om het op te lossen. Maar ik snap niet waarom dit niet werkt. Ik hoop dat 1 van jullie het kan verklaren.
Ik heb het volgende stukje code
Als mijn current_balance op 5000 staat en ik haal er 4000 van af is er geen probleem. Dan is de if statement er dus mee eens dat 5000 - 4000 >= -2000.
Als ik echter mijn current_balance op 5000 set en ik haal er 6000 van af. Dan werkt het niet meer. de if statement is er dan niet mee eens dat 5000 - 6000 >= -2000.
Vermoed dat het met de unsigned int te maken heeft. Maar waarom weet ik niet. Iemand een idee?
Ik heb het volgende stukje code
code:
1
2
3
4
5
6
7
8
| void banking::withdraw(unsigned int amount)
{
// current_balance is een signed int
if ( (current_balance - amount) >= -2000)
current_balance -= amount;
else cout << "You have: " << current_balance
<< " you can not withdraw over -2000" << endl;
} |
Als mijn current_balance op 5000 staat en ik haal er 4000 van af is er geen probleem. Dan is de if statement er dus mee eens dat 5000 - 4000 >= -2000.
Als ik echter mijn current_balance op 5000 set en ik haal er 6000 van af. Dan werkt het niet meer. de if statement is er dan niet mee eens dat 5000 - 6000 >= -2000.
Vermoed dat het met de unsigned int te maken heeft. Maar waarom weet ik niet. Iemand een idee?