Проблема в том, что после ввода правильного значения (цифры), не предлагается вводить другое значение - 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;
и понятно, что до вывода приглашения ввести второе число дело не доходит...
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте, мне необходимо сделать совершенную раскраску графа"Раскраска вершин графа G называется совершенной, если для любых двух вершин...
Подскажите, пожалуйста, как правильно удалить элемент из двусвязного списка и добавить элемент в конец списка? Пример кода, который работает...
Определить число выписыванием в обратном порядке цифр заданного натуральным числом nРезультат вывести на экран
У меня есть натуральное число n, как можно вывести его цифры в обратном порядке?