结构体案例功能无法实现


#include <iostream>
using namespace std;
#include <string.h>
#include <stdlib.h>
#include <string>
struct lxr
{
    string name;
    string sex;
    int age;
    char phonenum[15];
    string address;
};
void program1(struct lxr *p)
{
    while ((*p).phonenum[0] != 0)
    {
        p++;
    } 
    cout << "请输入新建联系人名字" << endl;
    cin >> (*p).name;
    cout << "请输入新建联系人性别" << endl;
    cin >> (*p).sex;
    cout << "请输入新建联系人年龄" << endl;
    cin >> (*p).age;
    cout << "请输入新建联系人电话" << endl;
    cin >> (*p).phonenum;
    cout << "请输入新建联系人地址" << endl;
    cin >> (*p).address;
    cout << "添加成功" << endl;
}
void program2(struct lxr *p)
{
    for(int a = 0;a < 100;a++) 
    {
    if ((*p).phonenum[0] != 0)
    {
    cout << p->name << "\t" << p->sex << "\t" 
    <<p->age << "\t" << p->phonenum << "\t" 
    << p->address << "\t" << endl;
}
p++;
}
}






int main()
{
    while (1)
    {
    system("cls");
    cout << "添加联系人请输入1" << endl; 
    cout << "显示联系人请输入2" << endl;
    cout << "删除联系人请输入3" << endl;
    cout << "查找联系人请输入4" << endl;
    cout << "修改联系人请输入5" << endl;
    cout << "清空联系人请输入6" << endl; 
    cout << "退出通讯录请输入0" << endl; 
    int a = 0;
    struct lxr txl[100];
    cin >> a;
    switch(a)
    {
    case 1:
    program1(&txl[0]);
    break;
    case 2:
    program2(&txl[0]); 
    break;
    case 3:
    //program3(txl);
    break;
    case 4:
    //program4(txl);    
    break;
    case 5:
    //program5(txl);
    break;
    case 6:
    //program6(txl);    
    break;
    case 0:
    goto end;
    break;
    default :
    cout << "运行失败" << endl;
    break;    
    }
    system("pause");
}
end :
system("pause");
return 0;
}

求问第二个功能为什么实现不了

我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《手把手教你用C++编写通讯录管理系统,详解篇(内附源码)》, 一起来围观吧 https://blog.csdn.net/m0_58618795/article/details/124594589?utm_source=app&app_version=5.3.1&code=app_1562916241&uLinkId=usr1mkqgl919blen
试试这个博文