#include<iostream>
#include<string>
using namespace std;
int sign=1;
int PositiveCharge(char a[])           //判断输入的正数是否非法
{
    int flag=1;
    for(int i=0;i<strlen(a);i++)
    {
        if(a[i]<'0'||a[i]>'9')
        {
            flag=0;
        }
    }
    if(!flag)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
int NegativeCharge(char a[])           //判断输入的负数是否非法
{
    int flag=1;
    for(int i=1;i<strlen(a)-1;i++)
    {
        if(a[i]<'0'||a[i]>'9')
        {
            flag=0;
        }
    }
    if(!flag)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

int StrToInt(char * str)            //将字符串转换为整数

    int value=0;
    int sign=1;
    if(*str=='-')
    {
        sign=-1;
        str++;
    }
    while(*str)
    {
        value=value*10+*str-'0';
        str++;
    }
    return sign*value;
}
void Input(int ptr[20],int num)
{
    int sign=1;
    cout<<"请依次输入数组元素:"<<endl;
    for(int i=0;i<num;i++)
    {
        char c[100];
        cin.getline(c,100);
        if(c[0]=='-')                           //判断正负
        {
            while(NegativeCharge(c)||!strlen(c+1))
            {
                cout<<"法输入非!请重新输入数组元数!"<<endl;
                cin.getline(c,100);
            }
            cout<<sign*StrToInt(c)<<endl;
        }
        else
        {
            while(PositiveCharge(c))
            {
                cout<<"法输入非!请重新输入数组元数!"<<endl;
                cin.getline(c,100);
            }
            cout<<sign*StrToInt(c)<<endl;
        }
    }
}
void Search(int a[],int num)
{
    int data,flag=1;
    char s;
    cout<<"您是否要查找数据?(y/n)"<<endl;
    while(flag)
    {
        cin>>s;
        if(s>='A'&&s<='Z'||s>='a'&&s<='z')
        {
            if(s=='y'||s=='Y')
            {
                cout<<"请输入要查找的数据元素:"<<endl;
                cin>>data;
                for(int i=0;i<num;i++)
                {
                    cout<<a[i]<<endl;
                    if(a[i]==data)
                    {
                        cout<<"您要查找的数据元素的下标是"<<i<<endl;
                    }
                }
                if(i==num)
                {
                    cout<<"未找到!"<<endl;
                    for(int i=0;i<num;i++)
                    {
                        cout<<a[i]<<endl;
                    }
                }
            }
            flag=0;
        }
        else
        {
            cout<<"非法输入!请重新输入!"<<endl;
        }
    }
}

int main()
{
    int number;                          //元素个数
    int b[10];                           //存储元素的数组 
    cout<<"请输入数据总个数:";
    char a[100];
    cin.getline(a,100);
    while(PositiveCharge(a))
    {
        cout<<"法输入非!请重新输入数据总数!"<<endl;
        cin.getline(a,100);
    }
    number=StrToInt(a);
    cout<<"您已设定输入数据的总个数为"<<number<<endl;
    Input(b,number);
    for(int i=0;i<number;i++)
    {
        cout<<b[i]<<endl;
    }
    //Search(b,number);
    return 0;
}
我想问一下,为什么我在调用插入函数input输入数据后,但是事实上并没有存入一维数组b[],请问是什么问题?