用户手机号管理系统,能运行但是有BUG,帮我改改可以吗?

img

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
在添加用户信息那一步有问题
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
int n,k;
class yonghu
{
public:
    void input();
    void add();
    void dele();
    void change();
    void sorts();
    void maxn();
    void show();
    int time1;
    friend bool cmp(yonghu a,yonghu b);
private:
   long haoma;
    char name[60];
    char sex;
    int time;
    int flag;
}s[1000];
void yonghu::show()
{
    cout<<"用户信息"<<endl;
    for(int i=1;i<=n;i++)
    {
        if(s[i].flag)
        cout<<s[i].haoma<<" "<<s[i].name<<" "<<s[i].sex<<" "<<s[i].time<<endl;
    }
}
void yonghu::input()         //查询用户信息
{
    cout<<"请输入用户手机号"<<endl;
    for(int i=1;i<=n;i++)
    {
        cin>>s[i].haoma;
        s[i].flag=1;
        cout<<s[i].haoma<<" "<<s[i].name<<" "<<s[i].sex<<" "<<s[i].time<<endl;
    }
     
}
void yonghu::add()         //添加用户信息
{
    int a;
    cout<<"请输入要添加的用户人数"<<endl;
    cin>>a;
    n=n+a;
    cout<<"请分别输入用户的手机号,姓名,性别,注册时间"<<endl;
    for(int i=k+1;i<=n;i++)
    {
        cin>>s[i].haoma>>s[i].name>>s[i].sex>>s[i].time;
        s[i].flag=1;
        s[i].time1=s[i].time;
    }
    cout<<"添加成功"<<endl;
}
void yonghu::dele()       //删除用户信息
{
    int b;
    cout<<"请输入您要删除的用户手机号"<<endl;
    cin>>b;
    for(int i=1;i<=n;i++)
    {
        if(s[i].haoma==b)
        {
            s[i].flag=0;
        }
    }
    cout<<"删除成功"<<endl;
}
void  yonghu::change()      //改变用户信息
{
    int c,k,choice;
    int newscore;
    char newname[60];
    char newsex;
    cout<<"请输入您要修改信息的用户手机号"<<endl;
    cin>>c;
    for(int i=1;i<=n;i++)
    {
        if(s[i].haoma==c)
        {
            k=i;
            break;
        }
    }
    cout<<"请选择要修改的选项"<<endl;
    cout<<"1:姓名修改"<<endl;
    cout<<"2 性别修改"<<endl;
    cout<<"3 注册时间修改"<<endl;
    cin>>choice;
    if(choice==1)
    {
        cout<<"请输入新的姓名"<<endl;
        cin>>newname;
        strcpy(s[k].name,newname);
    }
    else if(choice==2)
    {
        cout<<"请输入新的性别"<<endl;
        cin>>newsex;
        s[k].sex=newsex;
    }
    else if(choice==3)
    {
        cout<<"请输入新的注册时间"<<endl;
        cin>>newscore;
        s[k].time=newscore;
    }
    cout<<"修改成功"<<endl;
}
bool cmp(yonghu a,yonghu b)
{
    return a.time>b.time;
}
void yonghu::sorts()   //排序
{
    sort(s+1,s+n+1,cmp);
    for(int i=1;i<=n;i++)
    {
        if(s[i].flag)
        cout<<s[i].haoma<<" "<<s[i].name<<" "<<s[i].sex<<" "<<s[i].time<<endl;
    }
}
void yonghu::maxn()      //注册时间最早
{
    cout<<"the best yonghu:"<<endl;
    sort(s+1,s+n+1,cmp);
    cout<<s[1].name<<endl;
}
int main()
{
    int key;
    yonghu t1;
    cout<<" ---------------用户手机号管理系统-----------"<<endl;
    cout<<" |       1:查询用户信息"<<"|"<<" 2:增加用户信息    "<<" |"<<endl;
    cout<<" --------------------------------------------"<<endl;
    cout<<" |       3:删除用户信息"<<"|"<<" 4:修改用户信息"<<"     |"<<endl;
    cout<<" --------------------------------------------"<<endl;
    cout<<" |       5:注册时间排序"<<"|"<<" 6:近期注册用户"<<"     |"<<endl;
    cout<<" --------------------------------------------"<<endl;
    cout<<" |       7:全部用户信息"<<"|"<<" 8:任意键退出"<<"       |"<<endl;
    cout<<" --------------------------------------------"<<endl;
    while(cin>>key)
    {
 
    if(key==1)
    {
        t1.input();
    }
    else if(key==2)
    {
        t1.add();
    }
    else if(key==3)
    {
        t1.dele();
    }
    else if(key==4)
    {
        t1.change();
    }
    else if(key==5)
    {
      t1.sorts();
    }
    else if(key==6)
    {
        t1.maxn();
    }
    else if(key==7)
    {
        t1.show();
    }
    else return 0;
    }
    return 0;
}