Liczby wejściowe nie od razu zaskakują do pętli

0
#include<iostream>
#include<string>>
using namespace std;
int main(void)
{
    string linia;
    char znak;

    while(getline(cin,linia)){
    int a,b;
    cin>>znak>>a>>b;
        switch(znak){
            case '+' : cout<<a+b;   break;
            case '-' : cout<<a-b;   break;
            case '*' : cout<<a*b;   break;
            case '/' : cout<<a/b;   break;
            case '%' : cout<<a%b;   break;
    }
    cout<<endl;
}

    return 0;
}

Jest ktoś wstanie naprowadzić mnie, dlaczego pierwsze wejście nie zaskakuje ? Dopiero druga linijka działa poprawnie ?

dodanie znacznika <code class="cpp"> - @furious programming

1

Bo pierwsza linijka (i każda nieparzysta) ląduje w stringu linia?

1 użytkowników online, w tym zalogowanych: 0, gości: 1