#include
#include
#define N 100
typedef struct AA
{
char name[20];
char phone[12];
char e_mail[30];
char relation[20];
}AA;
/*1。输入新联系人2。删除指定的联系人(输入姓名,若找掉则删除该联系人的信息)
3。根据输入的与本人关系,显示联系信息4。显示所有联系人的信息设计菜单*/
int input__(AA * s)
{
int len = 0,i = 0,n;
printf("请输入要添加的联系人个数,上限为%d个\n",N);
scanf("%d",&n);
for(i=0;i { printf("请依次输入第%d联系人的姓名、电话、邮箱以及与本人的关系(中间使用空格隔开即可):\n",i); scanf("%s%s%s%s",s[i].name,s[i].phone,s[i].e_mail,s[i].relation); } return n; } void delete__(AA *s,int *n) { int i = 0,j = 0,status = 0; char ca[20] = ""; printf("请输入要删除的联系人的姓名\n"); scanf("%s",ca); for(i=0;i<*n;i++) { if(!strcmp(ca,s[i].name)) { *n = *n-1; status = 1; for(j=i;j<*n;j++) { s[j] = s[j+1]; } break; } } if(status == 0) printf("没有找到要删除的人的信息\n"); else printf("删除成功\n"); } void show__relation(AA *s,int n) { int i = 0,status = 0; printf("请输入与联系人的关系\n"); char ca[20] = ""; scanf("%s",ca); for(i=0;i { if(!strcmp(ca,s[i].relation)) { printf("name:%15s\tphone:%15s\ne-mail:%15s\trelation:%15s\n",s[i].name,s[i].phone,s[i].e_mail,s[i].relation); status = 1; } } if(!status) printf("没有找到相应的信息\n"); } void show__all(AA *s,int n) { int i = 0; for(i = 0 ; i { printf("name:%15s\tphone:%15s\ne-mail:%15s\trelation:%15s\n",s[i].name,s[i].phone,s[i].e_mail,s[i].relation); } } int main(void) { AA a[N]; int n = 0; int i; while(1) { printf("0------退出系统\n1------输入联系人信息\n2------删除指定联系人信息\n"); printf("3------显示与本人关系相通的联系人信息\n4------显示所有联系人的信息\n"); scanf("%d",&i); if(i == 0) break; switch(i) { case 1:n = input__(a); break; case 2: if(n == 0) { printf("你还没有添加信息,请先添加信息:\n"); break; } else { delete__(a,&n); break; } case 3: { if(n == 0) { printf("你还没有添加信息,请先添加信息:\n"); break; } else { show__relation(a,n); break; } } case 4: { if(n == 0) { printf("你还没有添加信息,请先添加信息:\n"); break; } else { show__all(a,n); break; } } default: printf("您的选择有误,请重新选择\n"); break; } } return 0; } //看看~~~刚刚写完~