用c语言写一个模拟小型通讯录的程序,可以实现编号,姓名,电话,手机,邮编,地址和关系(朋友,亲友,同事,同学)
时间: 2024-03-18 22:42:17 浏览: 42
好的,以下是一个可以实现编号、姓名、电话、手机、邮编、地址和关系等信息的小型通讯录程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 100
struct Contact {
int id; // 编号
char name[20]; // 姓名
char phone[12]; // 电话
char mobile[12]; // 手机
char zipcode[7]; // 邮编
char address[50]; // 地址
char relation[10]; // 关系(朋友,亲友,同事,同学等)
};
struct Contact contacts[MAX]; // 最多存储100个联系人
int count = 0; // 当前联系人数量
void add_contact() {
if (count >= MAX) {
printf("通讯录已满,无法添加新联系人!\n");
return;
}
struct Contact new_contact;
printf("请输入联系人编号:");
scanf("%d", &new_contact.id);
printf("请输入联系人姓名:");
scanf("%s", new_contact.name);
printf("请输入联系人电话:");
scanf("%s", new_contact.phone);
printf("请输入联系人手机:");
scanf("%s", new_contact.mobile);
printf("请输入联系人邮编:");
scanf("%s", new_contact.zipcode);
printf("请输入联系人地址:");
scanf("%s", new_contact.address);
printf("请输入联系人关系(朋友,亲友,同事,同学等):");
scanf("%s", new_contact.relation);
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\t%s\t%s\t%s\t%s\t%s\n",
contacts[i].id, contacts[i].name, contacts[i].phone,
contacts[i].mobile, contacts[i].zipcode, contacts[i].address,
contacts[i].relation);
}
}
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("%d. %s\t%s\t%s\t%s\t%s\t%s\t%s\n",
contacts[i].id, contacts[i].name, contacts[i].phone,
contacts[i].mobile, contacts[i].zipcode, contacts[i].address,
contacts[i].relation);
return;
}
}
printf("未找到联系人 %s!\n", name);
}
void delete_contact() {
if (count == 0) {
printf("通讯录为空!\n");
return;
}
int id;
printf("请输入要删除的联系人编号:");
scanf("%d", &id);
for (int i = 0; i < count; i++) {
if (id == contacts[i].id) {
for (int j = i; j < count-1; j++) {
contacts[j] = contacts[j+1];
}
count--;
printf("联系人 %s 已删除!\n", contacts[i].name);
return;
}
}
printf("未找到联系人编号 %d!\n", id);
}
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;
}
```
您可以根据自己的需求进行修改和扩展。
阅读全文