Хочу вводить данные об объекте класса, пока пользователь не захочет закончить ввод. Первый раз все ок, но во время второго ввода в первое поле класса почему-то что-то записывается. Почему так?
Вот программа:
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include "competitionclass.h"
using namespace std;
int main()
{
int choice = 1;
Competition temp_cat;
vector<Competition> vector;
cout << "Enter information about cats:" << endl;
while (choice != 0)
{
temp_cat.initCat();
vector.push_back(temp_cat);
cout << "Do you want continue?(any num = yes/0 - no)";
cin >> choice;
cin.clear();
}
cout << endl;
for (int i = 0; i < vector.size(); i++)
{
cout << i << ". Cat info:" << endl;
vector[i].printCatInfo();
cout << endl;
}
return 0;
}
Ошибка ввода выглядит так(почему он заполнил поле класса breed?):
Enter information about cats:
Enter breed of cat: maine coon
Enter name of cat: Lucie
Enter color of cat: smoke
Enter mother of cat: Lilly
Enter father of cat: Stan
Enter owner lastname: Ivanov
Enter age: 3
Enter position: 2
Do you want continue?(any num = yes/0 - no)1
Enter breed of cat: Enter name of cat: Koko