📄 borrow.c
字号:
//#include "Struct.c"
//----------------------------------借书处理算法//
void delborrow(int k,int j)
{
__asm
{
mov ecx,1ch
lea esi,File5
mov eax,j
mul ecx
mov ebx,q
sub ebx,j
jz Exit
Next0: push esi
push ecx
add eax,1ch
add esi,eax
mov edi,esi
sub edi,1ch
rep movsb
pop ecx
pop esi
sub ebx,1
jnz Next0
Exit: dec q
}
IdxFile.BnoIdx[j].lhead->canborrownum++;
File4.ReadRec[k].bn2++;
puts("\n归还图书成功\n");
}
void BorrowBook()
{
int u= 0,v,w,m,n,x,k;
char y[10];
do
{
system("cls");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>借书管理菜单<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n");
printf(" 1 - 借书操作\n");
printf(" 2 - 退出\n");
printf("\n请输入选择:");
scanf("%d",&x);
if(x==1)
{
printf("请输入学号:");
scanf("%d",&w);
for (n=0;n<p;n++)
{
if(w == File4.ReadRec[n].rno)
break;
}
if (n==p)
{
printf("该学号未注册!\n");
goto Exit;
}
if ( File4.ReadRec[n].bn2 == 0 )
{
printf("该学号图书已借满,请尽快归还,谢谢!\n");
goto Exit;
}
printf("请输入要借图书书号:");
scanf("%s",y);
for (m=0;m<i;m++)
{
if ((v=strcmp(y,IdxFile.BnoIdx[m].bno)) ==0)
break;
}
if (m==i)
{
printf("该书不存在!\n");
goto Exit;
}
if (IdxFile.BnoIdx[m].lhead->canborrownum == 0)
{
printf("此书已经借满,请借阅其他书籍!\n");
goto Exit;
}
IdxFile.BnoIdx[m].lhead->canborrownum--;
File4.ReadRec[n].bn2--;
File5.Bbook[q].rno = w;
strcpy(File5.Bbook[q].bno,y);
q++;
puts("\n出借图书成功\n");
}
else
break;
Exit:
puts("是否继续借书操作? (1.是2.否)");
scanf("%d",&k);
} while(k==1);
}
//----------------------------------还书处理算法//
void BackBook()
{
int u= 0,v,w,m,n,x,k;
char y[10];
do
{
system("cls");
printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>还书管理菜单<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n");
printf(" 1 - 还书操作\n");
printf(" 2 - 退出\n");
printf("\n请输入选择:");
scanf("%d",&x);
if(x==1)
{
printf("请输入学号:");
scanf("%d",&w);
for (n=0;n<p;n++)
{
if(w == File4.ReadRec[n].rno)
break;
}
if (n==p)
{
printf("该学号未注册!\n");
goto Exit;
}
for (m=0;m<q;m++)
{
if(w == File5.Bbook[m].rno)
break;
}
if (m==q)
{
printf("该人未借书!\n");
goto Exit;
}
printf("请输入要还图书书号:");
scanf("%s",y);
for (m=0;m<i;m++)
{
if ((v=strcmp(y,IdxFile.BnoIdx[m].bno)) ==0)
break;
}
if (m==i)
{
printf("该书不存在!\n");
goto Exit;
}
for (m=0;m<q;m++)
{
if((v=strcmp(y,File5.Bbook[m].bno)) == 0)
break;
}
if (m==q)
{
printf("该书未借!\n");
goto Exit;
}
delborrow(n,m);
}
else
break;
Exit:
puts("是否继续还书操作? (1.是2.否)");
scanf("%d",&k);
} while(k==1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -