cpp求助

为啥我这个程序只能循环一次

//封装函数显示界面 如void showMenu()

//在main函数中调用封装好的函数

#include<iostream>

#include<string>

#define MAX 1000

using namespace std;

//设计联系人结构体

struct person{

    string m_name;//姓名

    int m_sex;//1男2女

    int m_age;//年龄

    string m_phone;//电话号码

    string m_addr;//住址

};

//设计通讯录结构体

struct Addressbooks{

    struct person personArray[MAX];//通讯录中保存的联系人数组

    int m_size;//通讯录中当前记录的联系人个数

};

//菜单界面

void showMenu(){

    cout<<"1、添加联系人"<<endl;

    cout<<"2、显示联系人"<<endl;

    cout<<"3、删除联系人"<<endl;

    cout<<"4、查找联系人"<<endl;

    cout<<"5、修改联系人"<<endl;

    cout<<"6、清空联系人"<<endl;

    cout<<"0、退出通讯录"<<endl;

}

void addPerson(Addressbooks * abs){

    if(abs->m_size>=MAX){

        cout<<"通讯录已满,无法添加!"<<endl;

    }

    else{

        //姓名

        string name;

        cout<<"请输入姓名: "<<endl;

        cin>>name;

        abs->personArray[abs->m_size].m_name=name;

        cout<<"请输入性别: "<<endl;

        cout<<"1---------男"<<endl;

        cout<<"2---------女"<<endl;

        //性别

        int sex=0;

        while(1){

            cin>>sex;

            if(sex==1||sex==2){

                abs->personArray[abs->m_size].m_sex=sex;

                break;

            }

            cout<<"输入有误,请重新输入"<<endl;

        }

        //年龄

        cout<<"请输入年龄: "<<endl;

        int age=0;

        while(1){

            cin>>age;

            if(age>0){

                abs->personArray[abs->m_size].m_age=age;

                break;

            }

            cout<<"输入有误,请重新输入"<<endl;

        }

        //电话号码

        cout<<"请输入电话号码: "<<endl;

        string phone;

        cin>>phone;

        abs->personArray[abs->m_size].m_phone=phone;

        //住址

        cout<<"请输入家庭住址: "<<endl;

        string address;

        cin>>address;

        abs->personArray[abs->m_size].m_addr=address;

        abs->m_size++;

        cout<<"添加成功"<<endl;

        system("pause");//请按任意键继续

        system("cls");//清屏

    }

}

int main(){

    Addressbooks abs;//创建通讯录结构体变量

    abs.m_size=0;//初始化通讯录中当前人员个数

    int select=0;//创建用户输入的变量

    while(1){

        showMenu();

        cin>>select;

        switch(select){

            case 1:

            addPerson(&abs);//地址传递

            break;

            case 2:

            break;

            case 3:

            break;

            case 4:

            break;

            case 5:

            break;

            case 6:

            break;

            case 0:

            cout<<"欢迎下次使用"<<endl;

            system("pause");//请按任意键继续

            return 0;

            break;

            default:

            break;

            }

    }

    return 0;

}

运行结果是这样的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值