Ho un main in cui devo valutare delle operazioni da eseguire con l' istruzione switch ma non funziona:

codice:
#include <cstdlib>
#include "Stack.hpp"
#include <stdio.h>
#include <iostream> 


using namespace std;

/*
 * 
 */
int main(int argc, char** argv) {
    
    int op;   //č un numero che indica l' operazione da svolgere
    Stack *myStack=new Stack();
    
    cout << "Che operazione vuoi eseguire?\n" << endl;
    cout << "1)push: 2)pop 3)top: 4)Fornisci dimensione:\n";
    cin >> op;
    bool finito=false;
    
    while(!finito)
    {
    
         switch(op)
         {
             case "1":
                 cout << "Che numero vuoi inserire?\n" << endl;
                  cin >> op;
                 myStack->push(op);
             break;
             
             case "2":
                myStack->pop();
             break;
            
             case "3":
                myStack->Top();
             break;
                
             case "4":
             myStack->getsize();
             break;
            
             default:
               cout << "Errore...il programma verrą terminato...\n" <<endl;
                    finito=true;
             break;
             
              cout << "Vuoi continuare? 1)si 2)no\n" << endl;
                  cin >> op;
                  
             if(op==2)
                 finito=true;
                  
             else if(op!=1 || op!= 2)
                 cout<<"Errore!!! Il programma verrą terminato\n"<<endl;
         }
    }
}
Ora....cosģ non compila proprio...se perņ scrivo i vari case 1, case 2..eccetera senza virgolette all' esecuzione non funziona...cosa non va?