c语言中通讯录代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言中通讯录代码
以下是一个简单的C语言实现通讯录的代码。这个程序可以添加,删除和查找联系人,以及列出所有联系人的信息。
```C
#include
#include
#include
#define MAX_CONTACTS 100
/* 定义联系人结构体 */
struct contact {
char name[50];
char phone[20];
char email[50];
};
/* 全局变量 */
struct contact contacts[MAX_CONTACTS]; // 用于保存所有联系人
int num_contacts = 0; // 当前联系人数量
/* 函数声明 */
void add_contact();
void delete_contact();
void search_contact();
void list_contacts();
int main() {
int choice; // 用户选择的操作
while (1) {
printf("\n通讯录\n");
printf("---------\n");
printf("1. 添加联系人\n");
printf("2. 删除联系人\n");
printf("3. 查找联系人\n");
printf("4. 列出所有联系人\n");
printf("0. 退出\n");
printf("请选择操作(0-4):");
scanf("%d", &choice);
switch (choice) {
case 0:
printf("谢谢使用通讯录!\n"); exit(0);
case 1:
add_contact();
break;
case 2:
delete_contact();
break;
case 3:
search_contact();
break;
case 4:
list_contacts();
break;
default:
printf("无效的选择,请重试!\n"); }
}
return 0;
}
/* 添加联系人 */
void add_contact() {
struct contact new_contact;
printf("请输入姓名:");
scanf("%s", new_);
printf("请输入电话号码:");
scanf("%s", new_contact.phone);
printf("请输入电子邮件:");
scanf("%s", new_contact.email);
contacts[num_contacts] = new_contact;
num_contacts++;
printf("联系人已添加!\n");
}
/* 删除联系人 */
void delete_contact() {
char name[50];
int i, index = -1;
printf("请输入要删除的联系人姓名:"); scanf("%s", name);
for (i = 0; i < num_contacts; i++) {
if (strcmp(name, contacts[i].name) == 0) { index = i;
break;
}
}
if (index == -1) {
printf("没有找到该联系人!\n");
} else {
for (i = index; i < num_contacts - 1; i++) { contacts[i] = contacts[i + 1];
}
num_contacts--;
printf("联系人已删除!\n");
}
}
/* 查找联系人 */
void search_contact() {
char name[50];
int i, found = 0;
printf("请输入要查找的联系人姓名:");
scanf("%s", name);
for (i = 0; i < num_contacts; i++) {
if (strcmp(name, contacts[i].name) == 0) { printf("姓名:%s\n", contacts[i].name); printf("电话:%s\n", contacts[i].phone);
printf("电子邮件:%s\n", contacts[i].email);
found = 1;
break;
}
}
if (!found) {
printf("没有找到该联系人!\n");
}
}
/* 列出所有联系人 */
void list_contacts() {
int i;
if (num_contacts == 0) {
printf("通讯录为空!\n");
} else {
printf("所有联系人:\n");
for (i = 0; i < num_contacts; i++) {
printf("%d. 姓名:%s\t电话:%s\t电子邮件:%s\n", i + 1, contacts[i].name, contacts[i].phone, contacts[i].email);
}
}
}
```
这个程序使用了结构体来表示联系人的信息,并通过全局数组来保存所有联系人。程序提供了以下几个功能: