我想问一下,如果是这样的代码,怎么改能使重名的人一起输出?
提问:我想问一下,如果是这样的代码,怎么改能使重名的人一起输出?
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 %-15sn","工号","姓名","性别","年龄","电话号码","工资","部门","学历","地址"); 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 网友回答: 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 %-15sn","工号","姓名","性别","年龄","电话号码","工 资","部门","学历","地址"); printf("%-7s%-7s%-7s%-7d%-15s%-15ld%-15s%-15s%-15sn",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 { if(strstr(info[i].name,xm)!=NULL){ name[peolpe]=i+1; ++people; } return people; }