void Query()//通过用户输入和条件判断,实现了图书的查询功能 { int i,j[100]={-1},d,k,t=0;//声明并初始化多个整形变量 char m[20];//声明一个字符数组用于储存图书名称 label_2:system("cls");//清屏包含头文件stdlib.h中 printf("查询:");//提示信息 printf("1:图书名称 2:图书编号"); printf("\n\n请输入查询选项:"); scanf("%d",&k); if(k==1)//根据用户输入的选项进行不同的处理 { system("cls"); //清屏 printf("请输入图书名称:"); scanf("%s",m); for(i=0;i<N;i++) if(strcmp(m,s[i].BookName)==0)//使用strcmp()函数比较图书名称 { j[t]=i; t=t+1; } }//如果找到匹配的图书,将其索引入数组j,并更新计数器t else if(k==2) { system("cls"); //清屏 printf("请输入图书编号:");//提示信息 scanf("%d",&d);//输入图书编号 for(i=0;i<N;i++) if(d==s[i].BookNumber) { j[t]=i; t++; } }//如果找到匹配的图书,将其索引入数组j中,并更新计数器t if (j[0] == -1 && t == 0)//如果没有找到任何匹配的图书,执行以下代码 { system("cls");//清屏操作 printf("书库暂时没有这本书哦~^_^\n\n继续查询吗?【按1继续/按其他数字键回主菜单】"); scanf("%d", &k); if (k == 1) goto label_2;//跳转到label_2进行循环控制,重新输入查询选项 } if(j[0]!=-1 && t!=0)//列出所有图书的详细信息 { system("cls"); printf("\t图书名称 \t图书编号 \t单价 \t作者 \t存在状态 \t借书人姓名 \t性别 \t学号\n"); for(i=0;i<t;i++) printf("\t%s \t%d \t%.3f\t%s \t%s \t%s \t%s \t%d ",s[j[i]].BookName,s[j[i]].BookNumber,s[j[i]].Price,s[j[i]].Writter,s[j[i]].ExistentialState,s[j[i]].Name,s[j[i]].Sex,s[j[i]].SchoolNember); printf("\n\n继续查询吗?【按1继续/按其他数字键回主菜单】"); scanf("%d", &k); if (k == 1) goto label_2;//跳转到标签label_2 } }
理解问题void Query()//通过用户输入和条件判断,实现了图书的查询功能 { int i,j[100]={-1},d,k,t=0;//声明并初始化多个整形变量 char m[20];//声明一个字符数组用于储存图书名称 label_2:system("cls");//清屏包含头文件stdlib.h中 printf("查询:");//提示信息 printf("1:图书名称 2:图书编号"); printf("\n\n请输入查询选项:"); scanf("%d",&k); if(k==1)//根据用户输入的选项进行不同的处理 { system("cls"); //清屏 printf("请输入图书名称:"); scanf("%s",m); for(i=0;i<N;i++) if(strcmp(m,s[i].BookName)==0)//使用strcmp()函数比较图书名称 { j[t]=i; t=t+1; } }//如果找到匹配的图书,将其索引入数组j,并更新计数器t else if(k==2) { system("cls"); //清屏 printf("请输入图书编号:");//提示信息 scanf("%d",&d);//输入图书编号 for(i=0;i<N;i++) if(d==s[i].BookNumber) { j[t]=i; t++; } }//如果找到匹配的图书,将其索引入数组j中,并更新计数器t if (j[0] == -1 && t == 0)//如果没有找到任何匹配的图书,执行以下代码 { system("cls");//清屏操作 printf("书库暂时没有这本书哦~^_^\n\n继续查询吗?【按1继续/按其他数字键回主菜单】"); scanf("%d", &k); if (k == 1) goto label_2;//跳转到label_2进行循环控制,重新输入查询选项 } if(j[0]!=-1 && t!=0)//列出所有图书的详细信息 { system("cls"); printf("\t图书名称 \t图书编号 \t单价 \t作者 \t存在状态 \t借书人姓名 \t性别 \t学号\n"); for(i=0;i<t;i++) printf("\t%s \t%d \t%.3f\t%s \t%s \t%s \t%s \t%d ",s[j[i]].BookName,s[j[i]].BookNumber,s[j[i]].Price,s[j[i]].Writter,s[j[i]].ExistentialState,s[j[i]].Name,s[j[i]].Sex,s[j[i]].SchoolNember); printf("\n\n继续查询吗?【按1继续/按其他数字键回主菜单】"); scanf("%d", &k); if (k == 1) goto label_2;//跳转到标签label_2 } }
已完成理解「void Query()//通过用户输入和条件判断,实现了图书的查询功能 { int i,j[100]={-1},d,k,t=0;//声明并初始化多个整形变量 char m[20];//声明一个字符数组用于储存图书名称 label_2:system("cls");//清屏包含头文件stdlib.h中 printf("查询:");//提示信息 printf("1:图书名称 2:图书编号"); printf("\n\n请输入查询选项:"); scanf("%d",&k); if(k==1)//根据用户输入的选项进行不同的处理 { system("cls"); //清屏 printf("请输入图书名称:"); scanf("%s",m); for(i=0;i<N;i++) if(strcmp(m,s[i].BookName)==0)//使用strcmp()函数比较图书名称 { j[t]=i; t=t+1; } }//如果找到匹配的图书,将其索引入数组j,并更新计数器t else if(k==2) { system("cls"); //清屏 printf("请输入图书编号:");//提示信息 scanf("%d",&d);//输入图书编号 for(i=0;i<N;i++) if(d==s[i].BookNumber) { j[t]=i; t++; } }//如果找到匹配的图书,将其索引入数组j中,并更新计数器t if (j[0] == -1 && t == 0)//如果没有找到任何匹配的图书,执行以下代码 { system("cls");//清屏操作 printf("书库暂时没有这本书哦~^_^\n\n继续查询吗?【按1继续/按其他数字键回主菜单】"); scanf("%d", &k); if (k == 1) goto label_2;//跳转到label_2进行循环控制,重新输入查询选项 } if(j[0]!=-1 && t!=0)//列出所有图书的详细信息 { system("cls"); printf("\t图书名称 \t图书编号 \t单价 \t作者 \t存在状态 \t借书人姓名 \t性别 \t学号\n"); for(i=0;i<t;i++) printf("\t%s \t%d \t%.3f\t%s \t%s \t%s \t%s \t%d ",s[j[i]].BookName,s[j[i]].BookNumber,s[j[i]].Price,s[j[i]].Writter,s[j[i]].ExistentialState,s[j[i]].Name,s[j[i]].Sex,s[j[i]].SchoolNember); printf("\n\n继续查询吗?【按1继续/按其他数字键回主菜单】"); scanf("%d", &k); if (k == 1) goto label_2;//跳转到标签label_2 } }」
展开阅读网页