永发信息网

增加一个通讯录删除功能(在源程序上改 C语言)

答案:1  悬赏:30  手机版
解决时间 2021-07-25 05:37

#include<stdio.h>
#include<string.h>
#include<stdlib.h>


struct friends_list
{
char name[10];
int birthday;
char address[100];
char telephone[13];
};

int Count=0;
void new_friend(friends_list friends[]);
void search_friend(friends_list friends[ ],char*name);
void show_list(friends_list friends[]);
void delete_list(friends_list friends[]);


int main(void)
{
int choice;
char name[10];

friends_list friends[50];

system("color 08");

do{
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf(" **手机通讯录**\n");
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf(" 选项1:新建\n");
printf(" 选项2:查询\n");
printf(" 选项3:显示全部\n");
printf(" 选项4:删除联系人\n");
printf(" 选项0:退出\n");
printf("请选择功能:");
scanf("%d",&choice);
switch(choice){
case 1:
new_friend(friends);
break;
case 2:
printf("请输入要查找的联系人姓名:");
scanf("%s",name);
search_friend(friends,name);
break;
case 3:
show_list(friends);
break;
case 4:
delete_list(friends);
break;
case 0:
break;
default: exit(0);
}
}while(choice != 0);

printf("谢谢使用通讯录功能!\n");
return 0;
}
void new_friend(struct friends_list friends[])
{
struct friends_list f;
if(Count == 50){
printf("通讯录已满!\n");
return;
}
printf("请输入新联系人的姓名:");
scanf("%s",f.name);
printf("请输入新联系人的生日:");
scanf("%d",&f.birthday);
printf("请输入新联系人的地址:");
scanf("%s",f.address);
printf("请输入新联系人的联系电话:");
scanf("%s",f.telephone);
friends[Count]=f;
Count ++;
}
void search_friend(struct friends_list friends[ ],char*name)
{
int i,flag=0;
if(Count==0){
printf(" 通讯录是空的\n");
return;
}
for(i=0;i<Count;i++)
if(strcmp(name,friends[i].name)==0){
flag=1;
break;
}
if(flag){
printf("姓名:%s\t\n",friends[i].name);
printf("生日:%d\t\n",friends[i].birthday);
printf("地址:%s\n",friends[i].address);
printf("电话:%s\n",friends[i].telephone);
}
else
printf(" 无此联系人\n");
}
void show_list(friends_list friends[])
{

int i;
for(i=0;i<Count;i++)
{printf("姓名:%s\t\n",friends[i].name);
printf("生日:%d\t\n",friends[i].birthday);
printf("地址:%s\n",friends[i].address);
printf("电话:%s\n",friends[i].telephone);}

}
void delete_list(friends_list friends[])
{


printf("功能正在完善中\n");
}

最佳答案
void delete_list(friends_list friends[])
{

int i;
char name[10];
printf("请输入要删除的联系人的姓名:\n");
scanf("%s",name);
for(i=0;i<Count;i++)
if(!strcmp(friends[i].name,name))
break;
for(;i<Count-1;i++)
friends[i] = friends[i+1];
Count--;
printf("已删除名为%s 的联系人的信息!\n",name);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
要关于第二次鸦片战争的历史题,多多益善,有
梦幻新区TG到底好练不全力的?
什么时间段运动最好
安全出行的名人名言,关于安全的名人名言。
有时候会无缘无故流眼泪
现在德国两厢车哪个最好?
[测试]你觉得你自己很聪明么?
爱他却没和他在一起…
晚饭别吃太多的东西
帮忙搞个家族名
儿童节---译为英语是---Children’s Day对吗?
辛苦找人!带塔出的死神勋章(血)下个线变塔的
我想用手机充值一个Q币,能达到吗?
6120c可以换外壳吗?
2点40美式英语怎么写
推荐资讯
冰雪奇缘的好的台词,冰雪奇缘三人五分钟配音
N79通过手机上网下载的图片和音乐在手机的什
QQ面板怎么设计好?
一个女生的坚持会不会换来他喜欢男生的爱…
梦幻西游的社区怎么弄
打籃下動作要怎樣?
这样的情况可能性大么?
怎样下歌和歌词?
怎么能把高中英语学好?
qq空间打不开了全是白的
谁给我介绍下轿车?
谁知道我在农历几月过生日了?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?