C++基础程序貌似死循环

问题遇到的现象和发生背景

我想要做一个n进制转十进制的程序(2<=n<=16)

问题相关代码,请勿粘贴截图
#include 
#include 
#include 
using namespace std; 
int main(){
    int n,m;
    string k;
    cin>>n;
    cin>>k;
    cin>>m;
    int l;
    int sjz=0;
    for(int i=k.length()-1,j=0;i>=0;i--,j++){
        switch(k[i]){
            case 'A': l=10;
            case 'B': l=11;
            case 'C': l=12;
            case 'D': l=13;
            case 'E': l=14;
            case 'F': l=15;
            default: l=(int)(k[i]-'0');
        }
        sjz+=(pow(n,j)*l);
    }
    cout<
运行结果及报错内容

然后出现了貌似死循环的样子

img

不是死循环,是程序还在等你输入m啊
cin>>n;
cin>>k;
cin>>m;
你有三个输入项,你现在才输入2个。按你的说法,这个m应该是10,实际不需要输入的,所以删除cin>>m就行了

你这case没break