记录若干人的手机号(用string数组来做,简化版本存个名字就好)。打电话的时候,查询通讯录。如果能找到人名就拨号,找不到人名回复查无此人。支持直接拨号。
时间: 2023-08-31 19:21:05 浏览: 89
### 回答1:
这是一个简单的实现方案,使用一个字符串数组来存储联系人的名字和对应的手机号码:
```cpp
#include <iostream>
#include <string>
using namespace std;
const int MAX_CONTACTS = 100;
struct Contact {
string name;
string phone;
};
Contact contacts[MAX_CONTACTS];
int numContacts = 0;
void addContact(string name, string phone) {
contacts[numContacts].name = name;
contacts[numContacts].phone = phone;
numContacts++;
}
string findPhone(string name) {
for (int i = 0; i < numContacts; i++) {
if (contacts[i].name == name) {
return contacts[i].phone;
}
}
return "";
}
int main() {
// 添加联系人
addContact("张三", "13811112222");
addContact("李四", "13911113333");
addContact("王五", "13611114444");
// 打电话
string input;
cout << "请输入要拨打的号码或联系人姓名:" << endl;
cin >> input;
string phone = findPhone(input);
if (phone != "") {
cout << "正在拨打 " << phone << " ..." << endl;
} else {
cout << "查无此人" << endl;
}
return 0;
}
```
这个程序首先定义了一个 Contact 结构体,其中包含了联系人的名字和手机号码。然后定义了一个 `contacts` 数组,用来存放所有联系人的信息,以及一个 `numContacts` 变量,记录当前有多少个联系人。
`addContact` 函数用来添加联系人信息,接受两个参数,分别是联系人的名字和手机号码。它会将新的联系人信息存储在 `contacts` 数组中,并将 `numContacts` 加 1。
`findPhone` 函数用来查找指定联系人的手机号码,接受一个参数,即要查找的联系人的名字。它会遍历 `contacts` 数组,找到第一个名字匹配的联系人,并返回该联系人的手机号码。如果找不到匹配的联系人,则返回空字符串。
主函数中先添加了三个联系人的信息,然后通过输入来获取要拨打的号码或联系人姓名。接着调用 `findPhone` 函数来查找对应的手机号码,如果找到了就输出正在拨打的信息,否则输出查无此人。
### 回答2:
要实现这个功能,我将使用一个string数组来存储人名和对应的手机号码。每个人名和手机号码将以一对元素的形式存储在数组中。为了简化问题,我只考虑存储人名的情况。
首先,我定义一个能够存储一定数量人名的string数组,例如可以存储10个人名。我们可以将这个数组命名为phoneBook。
接下来,我将写一个函数addContact,用于向通讯录中添加人名和手机号码。此函数将接收两个参数:人名和手机号码。首先,它需要遍历phoneBook数组,查找是否存在相同的人名。如果存在相同的人名,则需要更新对应的手机号码。如果没有找到相同的人名,则需要将新的人名和手机号码添加到数组中。
然后,我将写一个函数searchContact,用于通过人名查询对应的手机号码。此函数将接收一个参数:待查询的人名。它将遍历phoneBook数组,查找是否存在相同的人名。如果找到相同的人名,则返回对应的手机号码。如果没有找到相同的人名,则返回"查无此人"。
最后,我将写一个函数makeCall,用于拨打电话。此函数将接收一个参数:要拨打的人名。它将调用searchContact函数,通过人名查询对应的手机号码。如果找到了人名,则开始拨打电话。如果找不到人名,则返回"查无此人"。
使用这些函数,我们可以实现一个简单的通讯录功能,能够添加人名和手机号码,查询通讯录,以及直接拨打电话。需要注意的是,这里的实现比较简化,仅考虑了人名和手机号码的存储和查询,没有考虑其他功能和异常处理。
### 回答3:
实现这个功能可以使用一个字符串数组来存储人名,每个人名对应数组中的一个位置。当需要打电话时,首先输入要查找的人名,可以通过遍历数组来查找是否存在该人名。存在则打印出来,说明已找到该人名,可以进行拨号,不存在则打印"查无此人"。
具体实现如下:
```python
def create_phonebook():
phonebook = [] # 定义通讯录数组
return phonebook
def add_contact(phonebook, name):
phonebook.append(name) # 添加联系人到通讯录
def make_call(phonebook):
name = input("请输入要查找的人名:") # 输入要查找的人名
found = False # 标志位,判断是否找到联系人
for contact in phonebook: # 遍历通讯录数组
if name == contact:
print("找到联系人:%s" % name)
found = True
break
if not found:
print("查无此人")
def main():
phonebook = create_phonebook() # 创建通讯录
add_contact(phonebook, "张三") # 添加联系人
add_contact(phonebook, "李四")
make_call(phonebook) # 进行拨号操作
main()
```
需要注意的是,该程序只是一个简化版本,存储的仅是名字,并没有存储对应的手机号码。如需完善该功能,可以构建一个更复杂的数据结构,如字典,将名字和手机号码进行对应存储。
阅读全文