C语言简易通讯录
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#define SIZE 100
int tmp = -1;
int person = 0;
typedef struct Infomation
{
char name[32];
char tel[15];
int age;
}info;
void welcome()
{
system("clear");
printf("\n\n\n");
printf("\t\t\t************************************\n");
printf("\t\t\t************************************\n");
printf("\t\t\t 1.增加联系人 2.修改联系人\n");
printf("\t\t\t 3.查询联系人 4.删除联系人\n");
printf("\t\t\t 5.显示联系人 6.退出\n");
printf("\t\t\t************************************\n");
printf("\t\t\t************************************\n");
}
void addinfo(info *card)
{
char name[32] = {0};
char tel[15] = {0};
int age = 0;
printf("请添加联系人姓名,电话,年龄:\n");
scanf("%s%s%d", name, tel, &age);
strcpy(card[person].name, name);
strcpy(card[person].tel, tel);
card[person].age = age;
person++;
}
void searchinfo(info *card)
{
char name[32] = {0};
int i;
printf("请输入联系人姓名:\n");
scanf("%s", name);
for(i = 0; i < person; i++)
{
if(strcmp(name, card[i].name) == 0)
{
tmp = i;
break;
}
}
if(i == person)
{
printf("查无此人.\n");
tmp = -1;
}
else
{
printf("姓名:%s 电话:%s 年龄:%d\n", card[tmp].name, card[tmp].tel, card[tmp].age);
}
sleep(2);
}
void modifyinfo(info *card)
{
char name[32] = {0};
char tel[32] = {0};
int age = 0;
searchinfo(card);
if(tmp != -1)
{
printf("请输入新的姓名,电话,年龄:\n");
scanf("%s%s%d", name, tel, &age);
strcpy(card[tmp].name, name);
strcpy(card[tmp].tel, tel);
card[tmp].age = age;
}
}
void deleteinfo(info *card)
{
int i;
char ch;
searchinfo(card);
getchar();
printf("是否删除(y/n)\n");
if((ch = getchar()) == 'y')
{
for(i = tmp; i < person; i++)
{
strcpy(card[i].name, card[i + 1].name);
strcpy(card[i].tel, card[i + 1].tel);
card[i].age = card[i + 1].age;
}
person--;
}
}
void showinfo(info *card)
{
int i;
for(i = 0; i < person; i++)
printf("姓名:%s 电话:%s 年龄:%d\n", card[i].name, card[i].tel, card[i].age);
sleep(2);
}
int main()
{
info card[SIZE];
int choice;
welcome();
while(1)
{
printf("请选择功能:\n");
scanf("%d", &choice);
switch(choice)
{
case 1:
addinfo(card);
break;
case 2:
modifyinfo(card);
break;
case 3:
searchinfo(card);
break;
case 4:
deleteinfo(card);
break;
case 5:
showinfo(card);
break;
case 6:
exit(1);
default:
printf("ERROR\n");
}
welcome();
}
return 0;
}