Volgende voegt een getal toe aan een vector, ik geef een plaats in waar het getal moet kkomen en dan test ik of de >= de groote is van de vector, dit dient als fout opvanging, maar als ik een getal kleiner als 0 ingeef en ik vervang testplaats door getallen.size() blijft het programma toch in de do while lus zitten terwijl als ik de variable testplaats gebruik het programma dit niet doet. Waarom?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| void toevoegen(vector<int>&getallen)
{ int getal,plaats,testplaats;
vector<int>::iterator pos = getallen.begin();
do
{
cout << "Op welke plaats wil je een getal toevoegen : ";
cin >> plaats;
cin.get();
testplaats = getallen.size();
}while(plaats >= testplaats);
cout << "Geef een getal in : ";
cin >> getal;
cin.get();
pos += plaats;
getallen.insert(pos,getal);
} |