string name; cout << "请输入姓名" << endl; cin >> name; abs->personArray[abs->m_Size].m_Name = name;
时间: 2024-05-18 16:12:13 浏览: 12
这是向通讯录中添加联系人的代码片段。首先定义了一个名为 `name` 的字符串变量,并提示用户输入姓名。然通过 `cin` 获取用户输入的姓名并将其赋值给 `name` 变量。接下来将此姓名赋值给通讯录中的一个联系人的姓名(`m_Name` 成员变量)。
其中,`abs->personArray` 表示通过指针 `abs` 访问 `Addressbooks` 结构体中的数组 `personArray`,`abs->m_Size` 表示数组中已经存储的联系人个数,因此新的联系人应该存储在 `personArray` 数组的第 `abs->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; cout << "请输入性别:" << endl; cout << "1 -- 男" << endl; cout << "2 -- 女" << endl; //性别 int sex = 0; while (true) { cin >> sex; if (sex == 1 || sex == 2) { abs->personArray[abs->m_Size].m_Sex = sex; break; } cout << "输入有误,请重新输入"; } //年龄 cout << "请输入年龄:" << endl; int age = 0; cin >> age; abs->Person personArray[abs->m_Size].m_Age = age; //联系电话 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 a,b; vector<_0843杨晓慧>::iterator p=i.v.begin(); cout<<"学号按1,姓名请按2."; cin>>a; if(a==1){cout<<"输入学号:"; } if(a==2){cout<<"输入要姓名:";} cin >> b; if(b==p->num[N]||b==p->name){cout<< setiosflags(ios::left)<<setw(12)<<p->num[N]<<setw(21)<<p->name<<setw(6)<<p->sex<<setw(6)<<p->score1<<setw(6)<<p->score2<<setw(6)<<p->score3<<endl;} else{cout << "未找到" << endl;}
同样地,这段代码也存在一些问题,比如变量a,b未进行初始化,未定义N的值,未定义p结构体的具体成员等等。建议修改后的完整代码如下:
```c++
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
struct _0843杨晓慧 {
string num;
string name;
char sex;
int score1;
int score2;
int score3;
};
int main() {
int a = 0, b = 0;
vector<_0843杨晓慧> i(1);
vector<_0843杨晓慧>::iterator p = i.begin();
cout << "学号按1,姓名请按2: ";
cin >> a;
if (a == 1) {
cout << "输入学号: ";
cin >> p->num;
}
else if (a == 2) {
cout << "输入要姓名: ";
cin >> p->name;
}
cout << "输入要查询的成绩: ";
cin >> b;
if (b == stoi(p->num) || b == p->name) {
cout << setiosflags(ios::left) << setw(12) << p->num << setw(21) << p->name << setw(6) << p->sex << setw(6) << p->score1 << setw(6) << p->score2 << setw(6) << p->score3 << endl;
}
else {
cout << "未找到" << endl;
}
return 0;
}
```
注意,在这份代码中,我将学号(num)的类型设置为了string,为了避免使用stoi函数时出现错误,需要包含头文件<string>。同时,为了代码的可读性,我将结构体的成员名都设置为了有意义的单词。