问题遇到的现象和发生背景
编译一切正常,运行时错误
用代码块功能插入代码,请勿粘贴截图
#include <iostream>
#include <string>
#define Max 10000
using namespace std;
void showMenu()
{
cout << "1,添加联系人" << endl;
cout << "2,显示联系人" << endl;
cout << "3,删除联系人" << endl;
cout << "4,查找联系人" << endl;
cout << "5,修稿联系人" << endl;
cout << "6,清空联系人" << endl;
cout << "0,退出通讯录" << endl;
}
struct Person
{
string m_Name;
int m_Sex;
int m_Age;
string m_string;
string m_Addr;
};
struct Addressbooks
{
struct Person personArray[Max];
int m_Size;
};
void addPerson(Addressbooks* abs)
{
if (abs->m_Size == Max)
{
cout << "通讯录已满" << endl;
return;
}
else
{
string name;
cout << "请输入姓名" << endl;
cin >> name;
abs->personArray[abs->m_Size].m_Name = name;
}
}
int main()
{
Addressbooks abs;
abs.m_Size = 0;
int select = 0;//创建用户选择输入的变量;
while(true)
{
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;
}
}
system("pause");
return 0;
}
运行结果及报错内容
0x00007FF7F69692A7 处有未经处理的异常(在 通讯录管理系统.exe 中): 0xC00000FD: Stack overflow (参数: 0x0000000000000001, 0x000000584A803000)。
我的解答思路和尝试过的方法
尝试重启未有效果
我想要达到的结果
黑马程序员的c++通讯录管理视频