题目是基于宿舍号或某个人的姓名查询整个宿舍成员的姓名和电话。现在的情况是我已经敲出了一段代码,但是它不能找到同宿舍人的电话,只能通过名字或者查询电话,所以我想知道要加什么代码?以下是我的代码:
#include
#include
#include
#include
struct person
char clas[10];//班级
char num[20];//手机号
charname[20];//姓名
long int id[20];//学号
char sex[10];//性别
charaddress[50];//宿舍地址
1;
int menuO)
(
int choice;
system("cls");
printf("\t\t\t\t -\n");
printf("t)t)t)t)欢迎使用班级宿舍与电话管理系统I\n");
printf(\t\t\t\t- -\n");
printf("\t)t\t\tl1-新增用户I\n");
printf("t\t\t\t- -\n");
printf("\t)t)t)tl2-删除用户IΛn");
printf("\t\t\t\t- --In");
printf("\t)t\t)tl3-修改用户I\n");
printf("/t\t\t\t --n");
printf("\t\t\t\t4-按名字查询用户\n");
cSDn
printf("/t\t\t\t- --n");
printf(\t\t\t)tl5-按号码查询用户I\n);
printf("/t\t\t\t --\n");
printf("\t)t)t)tl6-按姓名显示IΛn");
printf("/t\t\t\t- -In");
printf("t)t\t)tl7-按号码显示I\n");
printf("\t\t\t\t -In");
printf("\t)t\t/tl8-显示全部用户\n");
printf("\t\t\t\t --In");
printf("\t\t\t\t9-保存文件\n");
printf("/t\t\t\t- --In");
printf("t)t\t)tl 0-退出程序\n");
printf("/t\t\t\t- -\n");
printf("\t\t\t\t请选择功能:");
scanf("%d",&choice);
while(choice>9lchoice<0)//判断是否输入正确
#include
#include
#include
#include
struct person
char clas[10];//班级
char num[20];//手机号
charname[20];//姓名
long int id[20];//学号
char sex[10];//性别
charaddress[50];//宿舍地址
1;
int menuO)
(
int choice;
system("cls");
printf("\t\t\t\t -\n");
printf("t)t)t)t)欢迎使用班级宿舍与电话管理系统I\n");
printf(\t\t\t\t- -\n");
printf("\t)t\t\tl1-新增用户I\n");
printf("t\t\t\t- -\n");
printf("\t)t)t)tl2-删除用户IΛn");
printf("\t\t\t\t- --In");
printf("\t)t\t)tl3-修改用户I\n");
printf("/t\t\t\t --n");
printf("\t\t\t\t4-按名字查询用户\n");
cSDn
printf("/t\t\t\t- --n");
printf(\t\t\t)tl5-按号码查询用户I\n);
printf("/t\t\t\t --\n");
printf("\t)t)t)tl6-按姓名显示IΛn");
printf("/t\t\t\t- -In");
printf("t)t\t)tl7-按号码显示I\n");
printf("\t\t\t\t -In");
printf("\t)t\t/tl8-显示全部用户\n");
printf("\t\t\t\t --In");
printf("\t\t\t\t9-保存文件\n");
printf("/t\t\t\t- --In");
printf("t)t\t)tl 0-退出程序\n");
printf("/t\t\t\t- -\n");
printf("\t\t\t\t请选择功能:");
scanf("%d",&choice);
while(choice>9lchoice<0)//判断是否输入正确
printf("请重新选择:");
scanf("%d",&choice);
return choice;
intadd_person(structpersonarrl.intn)//添加用户函数
(
system("cls"); //清屏
printf("请输入用户姓名:");
scanf("%s",arr[n].name);
printf("请输入用户班级:");
scanf("%s",arr[n].clas);
printf("请输入用户手机号:");
scanf("%s",arr[n].num);
printf("请输入用户学号:");
scanf("%s",arr[n].id);
printf("请输入用户性别:");
scanf("%s",arr[n].sex);
printf("请输入用户宿舍地址:");
scanf("%s",arr[n].address);
printf("添加成功!\n");
system("pause"); ://暂停界面
return n+1;
void print_person(struct person arrl,int n) cSDn
(
int i;
printf("%-15s%-15s%-15s%-15s%-15s%-15s\n""姓名""班级""手机号""学号"性别"宿舍
址");
for(i=0;i
(
printf("%-15s",arr[i].name);
printf("%-15s",arr[i].clas);
printf("%-15s",arr[i].num)
printf("%-15s",arr[i].id);
printf("%-15s",arr[i]l.sex);
printf("%-15s",arr[il.address)
int delete_person(struct person arrl,int n)
printf("请重新选择:");
scanf("%d",&choice);
return choice;
intadd_person(structpersonarrl.intn)//添加用户函数
(
system("cls"); //清屏
printf("请输入用户姓名:");
scanf("%s",arr[n].name);
printf("请输入用户班级:");
scanf("%s",arr[n].clas);
printf("请输入用户手机号:");
scanf("%s",arr[n].num);
printf("请输入用户学号:");
scanf("%s",arr[n].id);
printf("请输入用户性别:");
scanf("%s",arr[n].sex);
printf("请输入用户宿舍地址:");
scanf("%s",arr[n].address);
printf("添加成功!\n");
system("pause"); ://暂停界面
return n+1;
void print_person(struct person arrl,int n) cSDn
(
int i;
printf("%-15s%-15s%-15s%-15s%-15s%-15s\n""姓名""班级""手机号""学号"性别"宿舍
址");
for(i=0;i
(
printf("%-15s",arr[i].name);
printf("%-15s",arr[i].clas);
printf("%-15s",arr[i].num)
printf("%-15s",arr[i].id);
printf("%-15s",arr[i]l.sex);
printf("%-15s",arr[il.address)
int delete_person(struct person arrl,int n)
(
int ij;
char temp[20];
system("cls");
printf("请输入要删除的用户:");
scanf("%s",temp);
for(i=0;iif(!strcmp(temp,arr[i].name))
break;
if(i==n)
(
printf("没有该用户!");
system("pause");
return n;
print_person(&arr[i]l,1);
printf("是否删除Y"or"N":");
scanf("%s",&temp);
if(strcmp(temp,"y")==0llstrcmp(temp,"Y")
(
for(i=ij删除成功!\n");
system("pause");
return n-1;
printf("取消删除\n")
system(pause");
return n;
void modify-person(struct person arr,int n)
int i;
char temp[20];
struct person arro; //临时储存
system("cls");
printf("请输入要修改的用户:");
scanf("%s",temp);
for(i=0;i
(
int ij;
char temp[20];
system("cls");
printf("请输入要删除的用户:");
scanf("%s",temp);
for(i=0;iif(!strcmp(temp,arr[i].name))
break;
if(i==n)
(
printf("没有该用户!");
system("pause");
return n;
print_person(&arr[i]l,1);
printf("是否删除Y"or"N":");
scanf("%s",&temp);
if(strcmp(temp,"y")==0llstrcmp(temp,"Y")
(
for(i=ij删除成功!\n");
system("pause");
return n-1;
printf("取消删除\n")
system(pause");
return n;
void modify-person(struct person arr,int n)
int i;
char temp[20];
struct person arro; //临时储存
system("cls");
printf("请输入要修改的用户:");
scanf("%s",temp);
for(i=0;i

if(strcmp(temp,arr[i].name)==0)
break;
if(i==n)
printf("无该用户!");
system(pause");
return ;
print_person(&arr[i],1);
printf("请输入用户班级:");
scanf("%s",arr0.clas);
printf("请输入用户手机号:");
scanf("%s"arr0.num)
printf("请输入用户学号:");
scanf("%s",arr0.id);
printf("请输入用户性别:");
scanf("%s",arr0.sex);
printf("请输入用户宿舍地址:");
scanf("%s",arrO.address);
printf("是否确认修改Y/N?:");
scanf("%s",temp);
if(strcmp(temp,"y")==0llstrcmp(temp,"Y")==0)
strcpy(arr0.name,arr[i].name);
arr[i]=arr0;
printf("修改成功!\n");
cSDn
system("pause");
return ;
else
(
printf("已取消修改!");
system("pause");
return ;
void search_person_name(struct person arr,int n)
(
int i;
char temp[20];
system ("cls");
printf("请输入要查询的用户:");
scanf("%s",temp);

for(i=0;iif(strcmp(arr[i].name,temp)==0)
(
break;
if(i==n)
(
printf("未查找到该用户!\n");
system("pause");
return ;
print_person(&arr[i],1);
system("pause");
return;
}
void search_person_num(struct person arrint n)
(
int i;
char temp[20];
system("cls");
printf("请输入要查询的电话号码:");
scanf("%s",temp);
for(i=0;iif(strcmp(arr[i].num,temp)==0)
cSDn
break;
if(i==n)
(
printf("未查找到该用户!\n");
system("pause");
return;
print_person(&arr[il,1);
system("pause");
void sort_person_name(struct person arr,int n)
(
int ij;
struct person temp;
system("cls");

for (i=0;i6/8 .
for(j=i+1;jif(strcmp(arr[i].name,arrli]l.name)<0)//小在前
(
temp=arr[i];
arr[]=arr[i];
arr[i]=temp;
return;
void sort_person_num(struct person arr,int n)
(
int ij;
struct person temp;
system("cls");
for(i=0;ifor(j=i+1;jif(strcmp(arr[i].num,arrli].num)<0);
(
temp=arr[i];
arr[]=arr[i];
arr[i]=temp;
csDn
return;
void save_file(struct person arrl,int n)
(
int i;
FILE *fp;
fp=fopen("gjwq.dat","w+");
if(fp==NULL)
(
return;
for (i=0;i6/8 .
for(j=i+1;jif(strcmp(arr[i].name,arrli]l.name)<0)//小在前
(
temp=arr[i];
arr[]=arr[i];
arr[i]=temp;
return;
void sort_person_num(struct person arr,int n)
(
int ij;
struct person temp;
system("cls");
for(i=0;ifor(j=i+1;jif(strcmp(arr[i].num,arrli].num)<0);
(
temp=arr[i];
arr[]=arr[i];
arr[i]=temp;
csDn
return;
void save_file(struct person arrl,int n)
(
int i;
FILE *fp;
fp=fopen("gjwq.dat","w+");
if(fp==NULL)
(
return;

for(i=0;i
(
fwrite(&arr[il,sizeof(struct person),1,fp);
fclose(fp);
int read_file(struct person arr)
int i=0;
FILE* fp;
fp=fopen("gjwq.dat","r+");
if(fp==NULL)
(
return 0;
while(fread(&arr[i++),sizeof(struct person),1,fp))
fclose(fp);
if(i>=1)
(
return i-1;
return 0;
cSDn
int mainO
(
system(color 1E");
SetConsoleTitle("班级宿舍与电话管理系统");
int choice;
int num=0; //记录结构体数组长度
structperson per[100];//定义结构体数组
num=read_file(per);
do
(
choice=menuO;
switch(choice)
(
case 1:
num=add_person(per,num);//添加num=n
break;
case 2:
delete_person(per,num);//删除

break;
case 3:
modify-person(per,num);//修改
break;
case 4:
search_person_name(per,num);//按名字查找
break;
case 5:
search_person_num(pernum);//按号码查找
break;
case 6:
sort_person_name(per,num);//对名字排序
print_person(per,num);
system("pause");
break;
case 7:
sort_person_num(per,num);//对号码排序
print_person(per,num);
system("pause");
break;
case 8:
system("cls");
print_person(per,num);
system("pause");
break;
case 9:
system("cls");
save_file(per,num);
printf("保存成功!");
system("pause");
cSDn
break;
case 0:
printf("\t谢谢使用!\n");
exit(0);
while(choice!=0);
return O;
谢谢各位了。