大一C语言课程设计题目, 求急! 加100分。

设计结构体数组,结构中包含联系人数据为:姓名,电话,e-mail,与本人关系(可以使:同学、同事、家庭成员等)。设计各个函数,分别实现以下功能:1。输入新联系人2。删除指定的联系人(输入姓名,若找掉则删除该联系人的信息)3。根据输入的与本人关系,显示联系信息4。显示所有联系人的信息设计菜单,通过选择菜单调用以上各函数


#include<stdio.h>

#include<string.h>

#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<n;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<n;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 <n ; 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;


}

//看看~~~刚刚写完~

追问

先谢谢了啊, 但是我用Microsoft Visual C++ 6.0。显示还是有2个错误诶。。无法运行,能不能检查看看能否运行

追答

不是吧,我都是运行过的。就用vc。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答