您的位置:首页 > 其它

输入名字显示其电话号码

2015-09-07 16:35 260 查看
运行结果:

Enter a name to find the corresponding phone number.
Ash Williams
The number is: 333-2323
Look up another name? (y/n)
y
Enter a name to find the corresponding phone number.
lenove
Name not found.
Look up another name? (y/n)
n


findPhoneNumber.cpp

#include <iostream>
#include <string>

using namespace std;

const string lookupName(const string&, const string*, const string*, int);

int main() {

string names[] = {"Michael Myers", "Ash Williams", "Jack Torrance", "Freddy Krueger"};
string phoneNumbers[] = {"333-8000", "333-2323", "333-6150", "339-7970"};
string targetName, targetPhone;
char c;

do {
cout << "Enter a name to find the corresponding phone number.\n";
getline(cin, targetName);
targetPhone = lookupName(targetName, names, phoneNumbers, 4);
if (targetPhone.length() > 0)
cout << "The number is: " << targetPhone << endl;
else
cout << "Name not found.\n";
cout << "Look up another name? (y/n)\n";
cin >> c;
/* 有参示例:cin.ignore(5,'\n') 当从输入流(cin)中读取5个字符或该字符为'\n'时停止读取。
* 无参示例:cin.ignore(),仅从输入流(cin)中读取1个字符。
* /
cin.ignore(); // 将字符y或n之后的'\n'读取并丢弃
} while (c == 'y');

return 0;
}

const string lookupName(const string& tN, const string n[], const string pN[], int len) {
string pFind;
for (int i = 0; i < len; i++) {
if (tN == n[i])
pFind = pN[i];
}

return pFind;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  查找电话簿