提问,怎样才能提取代码


void read()
{
    cout<<"请先输入存档码"<<endl;
    string a;
    cin>>a;
    int j;
    for(int i=0;i<=a.size()-1;i++)
    {
        if(a[i]<='L'&&a[i]>='A')
        {
            int x=a[i]-40;
            j=0;//制造系统代码
            int n=i+1;
            while(a[n]>='0'&&a[n]<='9')
            {
                j*=10;
                j+=a[n];
                n++;
            }
            zhi[x].number_2=j;
            i=n;
            cout<<zhi[x].number_2 <<" ";
        }
    }
}

zhi为结构体,含有number_2;
假设一个输入是A123B23
想要得到的答案是123 23
(A后的位数是不确定的)


#include <iostream>
using namespace std;
int main()
{
    string str;cin >> str;
    int len = str.length();
    for (int i = 0; i < len - 1; i++)
    {
        if (str[i] >= 'A' && str[i] <= 'M')
        {
            int j = i + 1;
            int tmp = 0;
            while (str[j] >= '0' && str[j] <= '9')
            {
                tmp = tmp * 10 + (str[j] - 48);
                j++;
            }
            //你在这里把tmp存到你的number_2里面就可以了
            cout << tmp << endl;
        }
    }
    return 0;
}

#include<iostream>
#include<windows.h>
using namespace std;
struct GOU//国家数值
{
    int electric;//电力
    int zhan_li;//战力
    int money;//财力
};


GOU all[10];
struct Fire//炮弹
{
    int w,t,a,b,number_a;
};
Fire den[6];


struct ZHI//制造系统
{
    int m,n,o,number_2;
    
};
ZHI zhi[13];
struct world_map
{
    int x,y;
};
world_map map;
string a;
void make()
{
    cout<<"您已经退出游戏,这是存档码,请自行保管"<<endl;
    cout<<"A"<<zhi[1].number_2;
    cout<<"B"<<zhi[2].number_2;
    cout<<"C"<<zhi[3].number_2;
    cout<<"D"<<zhi[4].number_2;
    cout<<"E"<<zhi[5].number_2;
    cout<<"F"<<zhi[6].number_2;
    cout<<"G"<<zhi[7].number_2;
    cout<<"H"<<zhi[8].number_2;
    cout<<"I"<<zhi[9].number_2;
    cout<<"J"<<zhi[10].number_2;
    cout<<"K"<<zhi[11].number_2;
    cout<<"L"<<zhi[12].number_2;
    cout<<"M"<<den[1].number_a;
}

void read()
{
    cout<<"请先输入存档码"<<endl;
    string a;
    cin>>a;
    int j;
    for(int i=0;i<=a.size()-1;i++)
    {
        if(a[i]<='L'&&a[i]>='A')
        {
            int x=a[i]-40;
            j=0;//制造系统代码
            int n=i+1;
            while(a[n]>='0'&&a[n]<='9')
            {
                j*=10;
                j+=a[n];
                n++;
            }
            zhi[x].number_2=j;
            i=n;
            cout<<zhi[x].number_2 <<" ";
        }
    }
}
void first()//游戏部分
{
    
}
void game()
{
    
}

int main()
{
    den[1].w=5;
    den[2].w=20;
    den[3].w=10;
    den[4].w=5000;
    den[5].w=10000;
    den[1].t=100;
    den[2].t=5000;
    den[3].t=5000;
    den[4].t=7000;
    den[5].t=999999;
    den[1].a=5;
    den[2].a=10;
    den[3].a=10;
    den[4].a=1000;
    den[5].a=10000;
    den[1].b=1;
    den[2].b=5;
    den[3].b=5;
    den[4].b=100;
    den[5].b=10000;
    zhi[1].m=10000;
    zhi[1].n=500;
    zhi[1].o=0;
    zhi[2].m=10;
    zhi[2].n=200;
    zhi[2].o=50;
    zhi[3].m=20;
    zhi[3].n=100;
    zhi[3].o=30;
    zhi[4].m=50;
    zhi[4].n=500;
    zhi[4].o=70;
    zhi[5].m=1;
    zhi[5].n=1000;
    zhi[5].o=5000;
    zhi[6].m=100;
    zhi[6].n=70000;
    zhi[6].o=10000;
    zhi[7].m=5000;
    zhi[7].n=10;
    zhi[7].o=10;
    zhi[8].m=1;
    zhi[8].n=1500;
    zhi[8].o=5000;
    zhi[9].m=1;
    zhi[9].n=1000;
    zhi[9].o=7000;
    zhi[10].m=2;
    zhi[10].n=15000;
    zhi[10].o=3000;
    zhi[11].m=5;
    zhi[11].n=5000;
    zhi[11].o=3000;
    zhi[12].m=10;
    zhi[12].n=7000;
    zhi[12].o=7000;
    int ci;
    cout<<"是否有存档码?(是1,不是2)"<<endl;
    cin>>ci;
    if(ci==1) read();
    else      first();
    game();
    make();
    return 0;
}