用C语言写个人通讯录管理程序的代码
时间: 2023-03-13 18:12:08 浏览: 93
可以参考下面的代码:
#include<stdio.h>
#define MAX_SIZE 1000
/* 定义结构体 */
struct contact
{
char name[30];
char tel[15];
char address[50];
};
/* 声明函数 */
void menu();
void add();
void list();
void search();
void delete();
/* 全局变量 */
struct contact contacts[MAX_SIZE];
int count = 0;
int main()
{
menu();
return 0;
}
void menu()
{
int choice;
printf("1. 添加联系人\n");
printf("2. 显示联系人\n");
printf("3. 查找联系人\n");
printf("4. 删除联系人\n");
printf("0. 退出\n");
printf("请输入你的选择: ");
scanf("%d", &choice);
switch(choice)
{
case 1:
add();
break;
case 2:
list();
break;
case 3:
search();
break;
case 4:
delete();
break;
case 0:
printf("再见!\n");
break;
default:
printf("无效的选择!\n");
break;
}
}
void add()
{
if(count < MAX_SIZE)
{
printf("请输入姓名: ");
scanf("%s", contacts[count].name);
printf("请输入电话: ");
scanf("%s", contacts[count].tel);
printf("请输入地址: ");
scanf("%s", contacts[count].address);
count++;
}
else
{
printf("通讯录已满!\n");
}
}
void list()
{
int i;
printf("姓名\t电话\t地址\n");
for(i=0; i<count; i++)
{
printf("%s\t%s\t%s\n", contacts[i].name, contacts[i].tel, contacts[i].address);
}
}
void search()
{
int i;
char name[30];
printf("请输入姓名: ");
scanf("%s", name);
for(i=0; i<count; i++)
{
if(strcmp(contacts[i].name, name) == 0)
{
printf("姓名: %s\n", contacts[i].name);
printf("电话: %s\n", contacts[i].tel);
printf("地址: %s\n", contacts[i].address);
break;
}
}
if(i == count)
printf("没有找到此人!\n");
}
void delete()
{
int i, j;
char name[30];
printf("请输入姓名: ");
scanf("%s", name);
for(i=0; i<count; i++)
{
if(strcmp(contacts[i].name, name) == 0)
{
/* 从数组中删除元素 */
for(j=i; j<count-1; j++)
{
contacts[j] = contacts[j+1];
}
count--;
printf("删除成功!\n");
break;
}
}
if(i == count)
printf("没有找到此人!\n");
}
阅读全文