Проблема в том, что после ввода правильного значения (цифры), не предлагается вводить другое значение - size2. Как исправить?
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include "MyClass.h"
using namespace std;
int main()
{
MyClass a,b;
int size1, size2;
cout<<"Enter first size : ";
while (!(cin >> size1) || (cin.peek() != '\n')) {
cin.clear();
while (cin.get() != '\n');
cout << "nepravilno";
}
cin>>size1;
cout<<endl<<"Enter second size : ";
cin>>size2;
cout<<endl;
a.set_mass(size1);
b.set_mass(size2);
a.show_mass();
cout<<endl;
b.show_mass();
cout<<endl<<" intersection rezult : "<<endl;
a.intersection(b);
getch();
return 0;
}
Смотрите:
while (!(cin >> size1) || (cin.peek() != '\n')) {
cin.clear();
while (cin.get() != '\n');
cout << "nepravilno";
}
cin>>size1;
В первой строке (внутри while) вы уже считали size1. После этого вы влетаете в его считывание второй раз - в
cin>>size1;
и понятно, что до вывода приглашения ввести второе число дело не доходит...
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости