我使用门牌号(int)和人名(字符串)初始化了我的代码中的对象。 我的代码的这部分有效,它可以正确显示门牌号码和人物。
#include <iostream>
#include <vector>
#include <string>
using namespace std;
//AddressBook class definition
class AddressBook
{
public:
//Declare a constructor that has one parameter for each data member
AddressBook(int, string);
//Declare a set method for house number
void setHouseNum(int);
//Declare a get method for house number
int getHouseNum();
//Declare a set method for name
void setName(string);
//Declare a get method for name
string getName();
void displayAddressBook();
private:
//Declare a int data member for house number
int houseNum;
//Declare a string data member for name
string name;
};
// constructor
AddressBook::AddressBook(int num, string personName)
{
setHouseNum(num);
setName(personName);
}
void AddressBook::setHouseNum(int num)
{
houseNum = num;
}
int AddressBook::getHouseNum()
{
return houseNum;
}
void AddressBook::setName(string personName)
{
name = personName;
}
string AddressBook::getName()
{
return name;
}
void AddressBook::displayAddressBook()
{
cout << getHouseNum() << " " << getName() << endl;
}
int main()
{
AddressBook addressBook(3, "Jim");
addressBook.displayAddressBook();
AddressBook addressBook2(5, "Bob");
addressBook2.displayAddressBook();
AddressBook addressBook3(2, "Jeb");
addressBook3.displayAddressBook();
string command;
cout << "Available Commands Are:" << endl;
cout << "Add, Remove, Sort, Print" << endl;
return 0;
}
输出:
3 Jim
5 Bob
2 Jeb
Available Commands Are:
Add, Remove, Sort, Print
下一部分是我遇到的问题。我应该阅读用户输入以查看他们想要做什么并执行上面列出的操作。因此,如果他们说添加,然后输入&#34; 2 Jeb&#34;,代码必须说2已经存在。如果它不存在,则必须将其添加为对象并将整个列表打印出来。
我知道你可以使用getline(cin,name)从用户那里获取名称,但我不知道如何在我的代码中实现它来做我想要的。获得用户输入字符串后,如何使用它创建对象?另外,如何读取用户输入对象的整数,因为我读到getline适用于字符串而不是整数。
一旦我读取了用户的整数和字符串输入,我如何检查我的对象中是否已存在门牌号码?如果我能从这两件事情中得到一些帮助,我可以把剩下的事情搞清楚。
谢谢。