Hi zusammen !

Bin ein Anfänger in C++ und will einen kleinen Taschenrechner machen, der erlaubt mehrere Eignaben zu machen, sie anschließend mit '!' zu beenden und auswerten zu lassen:

Habe hier nur ein Problem: Meine Schleife funzt nicht so wie das gerne hätte ..sprich nach der eingabe '!' tut er nichts mehr ...vll kann mir einer helfen

hier mein Code:

Code:
int main()      {
    double zahl1,zahl2;
    char op,i=='j';
    cout << "*********Ein kleiner Taschenrechner*********" << endl;
    cout << "*******Geben Sie bitte die Operation *******" << endl;
    cout << "*****In der Reihenfolge Zahl-OP-Zahl:******" << endl;
      
    do {
        cin >> zahl1;
        cin >> op;
        cin >> zahl2;
             
          }
    while (op!='!');
          
    switch (op)  {
           case '+': cout << "=" << (zahl1 + zahl2) << endl;
                     break;
           case '-': cout << "=" << (zahl1 - zahl2) << endl;
                     break;
           case '*':
           case 'X':
           case 'x': cout << "=" << (zahl1 * zahl2) << endl;
                     break;
           case '/': cout << "=" << (zahl1 / zahl2) << endl;
                     break;
           default : cout << "Operand nicht definiert" << endl;
           }
           
    system("Pause");
           return 0;