电脑网络

我想问一下,如果是这样的代码,怎么改能使重名的人一起输出?

346 浏览

我想问一下,如果是这样的代码,怎么改能使重名的人一起输出?

1 个回答

上海体适能用户头像
上海体适能 回答于 2024-07-20
已采纳

提问:我想问一下,如果是这样的代码,怎么改能使重名的人一起输出?

case 2:printf("请输入要查询的姓名:");gets(xm);i=chaxun_xingming(xm);if(i==0){printf("没有找到符合条件的记录\n"); system("pause");getchar();}else{ printf("%-7s %-7s %-7s %-7d %-15s %-15ld %-15s %-15s %-15s\n","工号","姓名","性别","年龄","电话号码","工资","部门","学历","地址"); printf("%-7s%-7s%-7s%-7d%-15s%-15ld%-15s%-15s%-15s,info[i].order,info[i].name,info[i].sex,&info[i].age,info[i].tele,info[i].income,info[i].department,info[i].edu,info[i].address); system("pause");getchar();}/******************************************功能:按姓名查询(3.2)参数:char xm[]返回值:i+1 或 0*******************************************/int chaxun_xingming(char xm[]){int i;for(i=0;i<N;i++){if(strstr(info[i].name,xm)!=NULL)return i+1;}return 0;}

网友回答:

case 2:

printf("请输入要查询的姓名:");

gets(xm);

i=chaxun_xingming(xm,name);//加一个数组进去存储是哪个人,返回值是符合总人数

if(i==0)

{

printf("没有找到符合条件的记录\n");

system("pause");

getchar();

}

else

{

while(i--){

printf("%-7s %-7s %-7s %-7d %-15s %-15ld %-15s %-15s %-15s\n","工号","姓名","性别","年龄","电话号码","工

 

资","部门","学历","地址");

printf("%-7s%-7s%-7s%-7d%-15s%-15ld%-15s%-15s%-15s\n",info[name[i]].order,info[name[i]].name,info[name

 

[i]].sex,&info[name[i]].age,info[name[i]].tele,info[name[i]].income,info[name[i]].department,info[name

 

[i]].edu,info[name[i]].address);

}

system("pause");

getchar();

}

/******************************************

功能:按姓名查询(3.2)

参数:char xm[] int name[100]

返回值:符合条件的人数

*******************************************/

int chaxun_xingming(char xm[],int name[100])//最多返回100个同名人

{

int people=0;

for(i=0;i<N;i++)

{

if(strstr(info[i].name,xm)!=NULL){

name[peolpe]=i+1;

++people;

}

return people;

}


我来回答

相关问题