moje pytanie brzmi czy break w case 1 zatrzyma pętle for czy switcha
Najprościej byłoby sprawdzić samemu :)
Ale odpowiedź brzmi switcha. Żeby "wyłamać" się z pętli musisz użyć jakiejś flagi zainicjowanej fałszem, czyli użyć zmiennej bool/ int i w przypadku spełnienia np. case'a 1 ustawić wartość tej flagi na true. Następnie musiałbyś sprawdzić flagę za switchem i w przypadku wartości true wyskoczyć z pętli przy użyciu break. Taki break zakończy działanie pętli.
Edit: przykładowy kod:
#include <iostream>
using namespace std;
int main()
{
bool finish = false;
for(int i=0; i<10; i++)
{
switch(i)
{
case 1:
cout << i << endl;
finish = true;
break;
case 2:
cout << i << endl;
break;
}
if(finish)
break;
}
}