用c语言写一个模拟小型通讯录的程序
时间: 2023-10-03 08:08:15 浏览: 78
用C语言做的一个通讯录程序
好的,以下是一个简单的用C语言模拟小型通讯录的程序示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 100
struct Contact {
char name[20]; // 联系人姓名
char phone[12]; // 联系人电话
};
struct Contact contacts[MAX]; // 最多存储100个联系人
int count = 0; // 当前联系人数量
void add_contact() {
if (count >= MAX) {
printf("通讯录已满,无法添加新联系人!\n");
return;
}
struct Contact new_contact;
printf("请输入联系人姓名:");
scanf("%s", new_contact.name);
printf("请输入联系人电话:");
scanf("%s", new_contact.phone);
contacts[count++] = new_contact;
printf("联系人已添加!\n");
}
void list_contacts() {
if (count == 0) {
printf("通讯录为空!\n");
return;
}
printf("联系人列表:\n");
for (int i = 0; i < count; i++) {
printf("%d. %s\t%s\n", i+1, contacts[i].name, contacts[i].phone);
}
}
void search_contact() {
if (count == 0) {
printf("通讯录为空!\n");
return;
}
char name[20];
printf("请输入要查找的联系人姓名:");
scanf("%s", name);
for (int i = 0; i < count; i++) {
if (strcmp(name, contacts[i].name) == 0) {
printf("%s\t%s\n", contacts[i].name, contacts[i].phone);
return;
}
}
printf("未找到联系人 %s!\n", name);
}
void delete_contact() {
if (count == 0) {
printf("通讯录为空!\n");
return;
}
char name[20];
printf("请输入要删除的联系人姓名:");
scanf("%s", name);
for (int i = 0; i < count; i++) {
if (strcmp(name, contacts[i].name) == 0) {
for (int j = i; j < count-1; j++) {
contacts[j] = contacts[j+1];
}
count--;
printf("联系人 %s 已删除!\n", name);
return;
}
}
printf("未找到联系人 %s!\n", name);
}
int main() {
int choice = 0;
while (1) {
printf("\n");
printf("请选择操作:\n");
printf("1. 添加联系人\n");
printf("2. 显示联系人列表\n");
printf("3. 查找联系人\n");
printf("4. 删除联系人\n");
printf("5. 退出\n");
scanf("%d", &choice);
switch(choice) {
case 1:
add_contact();
break;
case 2:
list_contacts();
break;
case 3:
search_contact();
break;
case 4:
delete_contact();
break;
case 5:
printf("谢谢使用!\n");
exit(0);
default:
printf("无效的选择!\n");
}
}
return 0;
}
```
这个程序使用了结构体来存储联系人的信息,可以添加、显示、查找和删除联系人。您可以根据自己的需求进行修改和扩展。
阅读全文