Witaj,
po 1. spodziewasz się liczb całkowitych, więc musisz sprawdzić czy otrzymałeś poprawne dane - zerknij na metodę cin.good()
po 2. w warunku musisz sprawdzić obie zmienne, sprawdzasz tylko zmienną a
Przykładowe modyfikacje Twojego kodu, aby pokazać o co chodzi:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int b;
int a;
bool test1,test2;
cout << "podaj liczbe pierwsza" << endl;
cin >> a;
test1=cin.good();//zapisanie testu czy wszystko ok ze strumieniem
if(test1)//jesli strumien byl nie odpowiedni nie ma sensu pobierać 2 liczby
{
system ("cls");
cout << "podaj liczbe druga" << endl;
cin >> b;
test2=cin.good();//zapisanie testu czy wszystko ok ze strumieniem
}
system ("cls");
if (test1&&test2) //sprawdzenie testów
cout << "wynik to: " << a+b << endl;
else
cout << "podaj liczbe cwoku" << endl;
cout << "Koniec" << endl;
system("pause");
}