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 12:18:45 浏览: 54
test-func-name-inference.rar_Code Name
这段代码是图书借阅系统中按照书名借阅的功能实现部分。大致流程是用户输入书名,系统在图书库中查找是否有该书,如果有且未被借出,则显示该书的信息,询问用户是否借阅;如果用户确认借阅,则将该书的借阅状态标记为已借阅。
具体解释如下:
- 第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行是用户输入其他字符的情况,会重新进入循环,提示用户重新输入。
注意,这段代码没有包含完整的程序,它只是其中的一部分,因此可能存在一些变量或函数没有定义或声明,需要在完整程序中查找。
阅读全文