void jie_name() { char jy[2],name[20];/jy用来表示是否确定借阅/ int i,book_xb,k=0;/k用来标记是否存在该书/ printf("\t\t ====================== \n"); printf("\t\t 按书名借阅 \n"); printf("\t\t ====================== \n"); while(1) { printf("\n\t\t请输入书名:"); scanf("%s",name); for(i=0;i<N;i++) if(strcmp(bk[i].name,name)==0&&bk[i].jie!=1)/找到图书并确认图书没有被借出,记录图书下标/ { book_xb=i; k++; } if(k==0) { printf("\t不存在该书,或该书已经借出!请正确输入图书名称!\n\t\t按任意键返回..."); getch(); break; } if(k==1) printf("\t编号 图书名称 出版社 出版时间 状态\n"); printf("\t%-7d %-8s %12s %4d年%2d月%2d日 ",bk[book_xb].num,bk[book_xb].name,bk[book_xb].publish,bk[book_xb].t.year,bk[book_xb].t.month,bk[book_xb].t.day); if(bk[book_xb].jie==1) printf("已被借阅\n"); else { printf("可以借阅\n\t是否借阅?(是:'y',否:'n'):"); scanf("%s",jy); if(strcmp(jy,"n")==0) { printf("\t借阅取消,按任意键返回...."); getch(); break; } else if(strcmp(jy,"y")==0) { printf("\t借阅成功!按任意键返回..."); bk[book_xb].jie=1; getch(); break; } else { printf
时间: 2024-04-28 10:18:45 浏览: 15
这段代码是图书借阅系统中按照书名借阅的功能实现部分。大致流程是用户输入书名,系统在图书库中查找是否有该书,如果有且未被借出,则显示该书的信息,询问用户是否借阅;如果用户确认借阅,则将该书的借阅状态标记为已借阅。
具体解释如下:
- 第1行定义了两个字符数组变量jy和name,分别用来保存用户是否确定借阅和用户输入的书名。
- 第2行定义了三个整型变量i、book_xb和k,其中i用于循环计数,book_xb用于记录找到的书的下标,k用于标记是否存在该书。
- 第3~5行是输出界面的美化,显示借阅功能的标题。
- 第6~26行是一个死循环,用户可以多次输入书名,直到输入“n”或找到了符合条件的书才会退出循环。
- 第7行提示用户输入书名。
- 第8~14行是一个for循环,用于在图书库中查找是否有用户输入的书名,并且确认该书未被借出,如果找到符合条件的书,则记录该书的下标和存在该书的标记k。
- 第15~21行判断是否找到符合条件的书,如果没找到,则提示用户重新输入;如果找到一本书,则显示该书的信息并询问用户是否借阅;如果找到多本书,则先显示所有找到的书的信息,然后提示用户输入编号选择要借阅的书。
- 第22~23行是用户选择不借阅的情况,显示取消借阅的提示信息。
- 第24~25行是用户选择借阅的情况,将该书的借阅状态标记为已借阅,并显示借阅成功的提示信息。
- 第26行是用户输入其他字符的情况,会重新进入循环,提示用户重新输入。
注意,这段代码没有包含完整的程序,它只是其中的一部分,因此可能存在一些变量或函数没有定义或声明,需要在完整程序中查找。
相关问题
void Jie_mo(char char_S[],int Num_xy); 是什么意思
这是一个函数的声明,函数名为 Jie_mo,它接受两个参数:一个是字符数组 char_S[],另一个是整数类型的变量 Num_xy。这个函数的具体实现在声明之后的代码中。
根据函数名和参数的命名,可以猜测这个函数可能是用来解码或解密某个字符数组的。但具体实现细节需要查看函数的定义或者更多的上下文信息来确定。你可以提供更多关于这个函数的上下文或者具体实现代码,以便我能够提供更准确的解释。
#include <stdio.h> #include <string.h> #define MAX_STUDENT_NUM 30 // #define MAX_COURSE_NUM 6 // #define NAME_LEN 20 // struct Student { char id[10];//学生学号 char name[NAME_LEN];//姓名 int scores[MAX_COURSE_NUM];//各科分数 int total_score;//总分 float avg_score;//平均分 }; void sort_by_name(struct Student students[], int num);//按姓名的字典顺序排出成绩表 void search_by_number(struct Student students[], int num);//按学号查询学生排名极其考试成绩 void search_by_name(struct Student students[], int num);//按姓名查询学生排名极其考试成绩 请用c语言分别补充函数内容
好的,下面是三个函数的补充内容:
1. 按姓名的字典顺序排出成绩表
```
void sort_by_name(struct Student students[], int num)
{
int i, j;
for (i = 0; i < num - 1; i++) {
for (j = 0; j < num - i - 1; j++) {
if (strcmp(students[j].name, students[j+1].name) > 0) {
struct Student temp = students[j];
students[j] = students[j+1];
students[j+1] = temp;
}
}
}
}
```
2. 按学号查询学生排名及其考试成绩
```
void search_by_number(struct Student students[], int num)
{
char id[10];
printf("请输入学生学号:");
scanf("%s", id);
int i, rank = -1;
for (i = 0; i < num; i++) {
if (strcmp(students[i].id, id) == 0) {
rank = i + 1;
printf("学号:%s, 姓名:%s, 总分:%d, 平均分:%.2f, 名次:%d\n",
students[i].id, students[i].name, students[i].total_score, students[i].avg_score, rank);
break;
}
}
if (rank == -1) {
printf("未找到该学号对应的学生。\n");
}
}
```
3. 按姓名查询学生排名及其考试成绩
```
void search_by_name(struct Student students[], int num)
{
char name[NAME_LEN];
printf("请输入学生姓名:");
scanf("%s", name);
int i, rank = -1;
for (i = 0; i < num; i++) {
if (strcmp(students[i].name, name) == 0) {
rank = i + 1;
printf("学号:%s, 姓名:%s, 总分:%d, 平均分:%.2f, 名次:%d\n",
students[i].id, students[i].name, students[i].total_score, students[i].avg_score, rank);
break;
}
}
if (rank == -1) {
printf("未找到该姓名对应的学生。\n");
}
}
```
这些函数的实现也可能需要根据具体的需求进行修改和优化。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)