用c语言或c++做一个通讯录管理系统

2025-02-25 17:28:22
推荐回答(2个)
回答1:

#include"stdio.h"
#include"stdio.h"
struct tongxun //结构体
{
char name[20];
int no;
char dz[20];//地址
char gz[20];//工作单位
};
strcuct tongxun input()//录入
{
struct tongxun tx;

printf("请输入人名: ");
scanf("%s",tx.name);

printf("请输入电话号码: ");
scanf("%d",tx.no);

printf("请输入地址: ");
scanf("%s",tx.dz);

printf("请输入工作单位: ");
scanf("%s",tx.gz);

return tx;
}
void display(strcut tongxun [],int n)//显示
{
printf("\t%s\t%d\t%s\t%s ","人名"," 电话号码","E-mail地址","工作单位");
for(int i=0;iprintf("\t%s\t%d\t%s\t%s ",tx[i].name,tx[i].no ,tx[i].dz,tx[i].gz);

}
int find(strcut tongxun [],int n,int no)//查找
{
for(int i=0;i{
if (tx[i].no=no)
return 1;
}
return -1;
}
void update(strcut tongxun [],int n)//修改
{
int dno,i;
printf("请输入电话号码:");
scanf("%d",&dno);
i=find(tx,n,dno);
if(i==-1)
printf("你所要修改的人名不存在。。。");
tx[i]=input();
printf("修改成功!。。。");

}
void del(strcut tongxun [],int *n)//删除
{
int dno,i;
printf("请输入要删除电话号码:");
scanf("%d",&dno);
i=find(tx,*n,dno);
if(i==-1)
printf("你所要删除的人名不存在。。。");
tx[i]=input();
for(int j=i;j<*n;j++)
tx[j]=tx[j+1];
(*n--);
printf("删除成功!。。。");

}
void main()
{
strcuct tongxun tx[40];
int m=0;
char k,flag;
while(k!=5)
{
printf("\t\\t\t\t\t电话薄管理系统\t\t\t\t");
printf("1.录入\n2.显示\n3.查询\n4.修改\n5.删除\n6.退出系统!\n");
printf("请选择:");
k=getchar();
switch(k)
{
case '1': do{
tx[n]=input();
n++;
printf("请输入是否继续(y/n):");
fflush(stdin);
flag=getchar();

}while(flag==y||flag==Y);
break;
case '2': display(tx,n);break;
case '3': find(tx,n);break;
case '4': update(tx,n);break;
case '5': del(tx,&n);break;

}
}

}

希望可以帮上楼主的忙!可能还有点小错误,还请楼主多谅解!

回答2:

发消息给你了