用C语言设计一个通讯录,未完成的源代码如下,求大神帮我修改一下错误,然后完善一下让它能运行 100
#include<stdio.h>#include<stdlib.h>#include<string.h>#defineN50structfriend_list{char...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 50
struct friend_list {
char name[10];
char tel[13];
char email[25];
}fri[N];
void add_friend(struct friend_list *p);
void search_friend(struct friend_list *p,char*name);
void del_friend(struct friend_list *p,char*name);
void renew_friend(struct friend_list *p,char*name);
int n=0;
int main(){
int friendnumber=0;
int chose=0;
while(1){
printf("1:新增联系人\n");
printf("2:按姓名查找联系人\n");
printf("3:按姓名删除联系人\n");
printf("4:按姓名修改联系人\n");
printf("0:退出\n");
printf("\n请选择输入(0-4):");
scanf("%d",&chose);
switch(chose){
case 1:add_friend(fri);break;
case 2:
case 3:
case 4:
case 0:
default:0;
} }
}
void add_friend(struct friend_list *p){
if(n>=N){
printf("已经满员,不能添加了。\n");
return;
}printf("请输入新增联系人的姓名,联系电话,电子邮箱:\n");
scanf("%s%s%s",p[n].name,p[n].tel,p[n].email);
++n;
}
void search_friend(struct friend_list *p){
int i,flag=1;
char name[10];
printf("请输入要查找的联系人的名字:\n");
scanf("%s",name);
for(i=0;i<n&&flag;i++){
if(strcmp(p[i].name,name)==0){
printf("%s %s %s\n",name,p[i].tel,p[i].name);
flag=0;
}
}
if(flag)printf("没有找到名字叫:%s的人!\n",name);}
void del_friend(struct friend_list *p){
int i=0,j=0;
char name[10];
printf("请输入您要删除的联系人的姓名:\n");
scanf("%s",name);
for(i=0;i<n;i++){
if(strcmp(p[i].name,name)==0){
for(j=i;j<n-1;j++)p[j]=p[j+1];
n--;
printf("删除成功!\n");
}
}
}
还少了个修改联系人的函数,但我不知道怎么设计才行
case2到case4也帮我完善一下
以上这段程序编译错误: [Error] ld returned 1 exit status
不好意思,那个编译没错,是我运行后没关掉运行窗口就又编译了 展开
#include <stdlib.h>
#include <string.h>
#define N 50
struct friend_list {
char name[10];
char tel[13];
char email[25];
}fri[N];
void add_friend(struct friend_list *p);
void search_friend(struct friend_list *p,char*name);
void del_friend(struct friend_list *p,char*name);
void renew_friend(struct friend_list *p,char*name);
int n=0;
int main(){
int friendnumber=0;
int chose=0;
while(1){
printf("1:新增联系人\n");
printf("2:按姓名查找联系人\n");
printf("3:按姓名删除联系人\n");
printf("4:按姓名修改联系人\n");
printf("0:退出\n");
printf("\n请选择输入(0-4):");
scanf("%d",&chose);
switch(chose){
case 1:add_friend(fri);break;
case 2:
case 3:
case 4:
case 0:
default:0;
} }
}
void add_friend(struct friend_list *p){
if(n>=N){
printf("已经满员,不能添加了。\n");
return;
}printf("请输入新增联系人的姓名,联系电话,电子邮箱:\n");
scanf("%s%s%s",p[n].name,p[n].tel,p[n].email);
++n;
}
void search_friend(struct friend_list *p){
int i,flag=1;
char name[10];
printf("请输入要查找的联系人的名字:\n");
scanf("%s",name);
for(i=0;i<n&&flag;i++){
if(strcmp(p[i].name,name)==0){
printf("%s %s %s\n",name,p[i].tel,p[i].name);
flag=0;
}
}
if(flag)printf("没有找到名字叫:%s的人!\n",name);}
void del_friend(struct friend_list *p){
int i=0,j=0;
char name[10];
printf("请输入您要删除的联系人的姓名:\n");
scanf("%s",name);
for(i=0;i<n;i++){
if(strcmp(p[i].name,name)==0){
for(j=i;j<n-1;j++)p[j]=p[j+1];
n--;
printf("删除成功!\n");
}
}
}
还少了个修改联系人的函数,但我不知道怎么设计才行
case2到case4也帮我完善一下
以上这段程序编译错误: [Error] ld returned 1 exit status
不好意思,那个编译没错,是我运行后没关掉运行窗口就又编译了 展开
3个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询