用c++写一个通讯录管理系统
时间: 2023-03-31 14:02:48 浏览: 57
好的,我可以回答这个问题。通讯录管理系统可以使用C语言来实现。首先,需要定义一个结构体来存储联系人的信息,包括姓名、电话号码、邮箱等。然后,可以使用链表来存储所有联系人的信息,并提供添加、删除、查找、修改等功能。具体实现可以参考C语言的链表操作。另外,还可以实现一些高级功能,比如导入/导出联系人信息、按照姓名/电话号码排序等。
相关问题
给我用c++写一个通讯录管理系统
好的,以下是一个简单的通讯录管理系统的 C 代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_CONTACTS 100
struct Contact {
char name[50];
char phone[20];
};
struct Contact contacts[MAX_CONTACTS];
int num_contacts = 0;
void add_contact() {
if (num_contacts >= MAX_CONTACTS) {
printf("Error: too many contacts\n");
return;
}
struct Contact new_contact;
printf("Enter name: ");
fgets(new_contact.name, 50, stdin);
new_contact.name[strcspn(new_contact.name, "\n")] = '\0'; // remove newline
printf("Enter phone number: ");
fgets(new_contact.phone, 20, stdin);
new_contact.phone[strcspn(new_contact.phone, "\n")] = '\0'; // remove newline
contacts[num_contacts++] = new_contact;
printf("Contact added successfully\n");
}
void list_contacts() {
if (num_contacts == 0) {
printf("No contacts found\n");
return;
}
printf("Contacts:\n");
for (int i = 0; i < num_contacts; i++) {
printf("%s: %s\n", contacts[i].name, contacts[i].phone);
}
}
int main() {
while (1) {
printf("Enter command (add, list, quit): ");
char command[10];
fgets(command, 10, stdin);
command[strcspn(command, "\n")] = '\0'; // remove newline
if (strcmp(command, "add") == 0) {
add_contact();
} else if (strcmp(command, "list") == 0) {
list_contacts();
} else if (strcmp(command, "quit") == 0) {
break;
} else {
printf("Invalid command\n");
}
}
return 0;
}
C++写一个通讯录管理系统
好的,我来为您提供一个简单的通讯录管理系统的C++代码,该代码包括添加联系人、显示联系人、删除联系人、查找联系人和修改联系人等功能。
```cpp
#include <iostream>
#include <string>
using namespace std;
// 定义联系人结构体
struct Person
{
string name; // 姓名
int age; // 年龄
string phone; // 电话
string address; // 地址
};
// 定义通讯录结构体
struct AddressBook
{
Person person[100]; // 联系人数组
int size; // 通讯录中联系人数量
};
// 添加联系人
void addPerson(AddressBook& addressBook)
{
if (addressBook.size == 100)
{
cout << "通讯录已满,无法添加联系人!" << endl;
return;
}
cout << "请输入联系人姓名:";
string name;
cin >> name;
addressBook.person[addressBook.size].name = name;
cout << "请输入联系人年龄:";
int age;
cin >> age;
addressBook.person[addressBook.size].age = age;
cout << "请输入联系人电话:";
string phone;
cin >> phone;
addressBook.person[addressBook.size].phone = phone;
cout << "请输入联系人地址:";
string address;
cin >> address;
addressBook.person[addressBook.size].address = address;
addressBook.size++;
cout << "添加联系人成功!" << endl;
}
// 显示联系人
void showPerson(AddressBook& addressBook)
{
if (addressBook.size == 0)
{
cout << "通讯录为空,无法显示联系人!" << endl;
return;
}
for (int i = 0; i < addressBook.size; i++)
{
cout << "姓名:" << addressBook.person[i].name << "\t";
cout << "年龄:" << addressBook.person[i].age << "\t";
cout << "电话:" << addressBook.person[i].phone << "\t";
cout << "地址:" << addressBook.person[i].address << endl;
}
}
// 查找联系人
int searchPerson(AddressBook& addressBook, string name)
{
for (int i = 0; i < addressBook.size; i++)
{
if (addressBook.person[i].name == name)
{
return i;
}
}
return -1;
}
// 删除联系人
void deletePerson(AddressBook& addressBook)
{
if (addressBook.size == 0)
{
cout << "通讯录为空,无法删除联系人!" << endl;
return;
}
cout << "请输入要删除的联系人姓名:";
string name;
cin >> name;
int index = searchPerson(addressBook, name);
if (index == -1)
{
cout << "该联系人不存在!" << endl;
return;
}
for (int i = index; i < addressBook.size - 1; i++)
{
addressBook.person[i] = addressBook.person[i + 1];
}
addressBook.size--;
cout << "删除联系人成功!" << endl;
}
// 修改联系人
void modifyPerson(AddressBook& addressBook)
{
if (addressBook.size == 0)
{
cout << "通讯录为空,无法修改联系人!" << endl;
return;
}
cout << "请输入要修改的联系人姓名:";
string name;
cin >> name;
int index = searchPerson(addressBook, name);
if (index == -1)
{
cout << "该联系人不存在!" << endl;
return;
}
cout << "请输入联系人姓名:";
cin >> addressBook.person[index].name;
cout << "请输入联系人年龄:";
cin >> addressBook.person[index].age;
cout << "请输入联系人电话:";
cin >> addressBook.person[index].phone;
cout << "请输入联系人地址:";
cin >> addressBook.person[index].address;
cout << "修改联系人成功!" << endl;
}
int main()
{
AddressBook addressBook = { 0 };
int choice;
while (true)
{
cout << "***************************" << endl;
cout << "***** 1.添加联系人 *****" << endl;
cout << "***** 2.显示联系人 *****" << endl;
cout << "***** 3.删除联系人 *****" << endl;
cout << "***** 4.查找联系人 *****" << endl;
cout << "***** 5.修改联系人 *****" << endl;
cout << "***** 6.退出通讯录 *****" << endl;
cout << "***************************" << endl;
cout << "请输入您的选择:";
cin >> choice;
switch (choice)
{
case 1:
addPerson(addressBook);
break;
case 2:
showPerson(addressBook);
break;
case 3:
deletePerson(addressBook);
break;
case 4:
cout << "请输入要查找的联系人姓名:";
string name;
cin >> name;
int index = searchPerson(addressBook, name);
if (index == -1)
{
cout << "该联系人不存在!" << endl;
}
else
{
cout << "姓名:" << addressBook.person[index].name << "\t";
cout << "年龄:" << addressBook.person[index].age << "\t";
cout << "电话:" << addressBook.person[index].phone << "\t";
cout << "地址:" << addressBook.person[index].address << endl;
}
break;
case 5:
modifyPerson(addressBook);
break;
case 6:
cout << "感谢使用通讯录管理系统!" << endl;
return 0;
default:
cout << "输入有误,请重新输入!" << endl;
break;
}
}
return 0;
}
```
以上就是一个简单的通讯录管理系统的C++代码,希望对您有所帮助!