📄 bookmanage.cpp
字号:
#include "stdafx.h"
#include "BookManage.h"
#include <stdlib.h>
#include <string.h>
#include <iostream.h>
void CreateBook(BookRecType **head)
{
char yn = 'y';
BookRecType * CurrP=0/*指向当前节点的指针*/,*PreP=0/*前一个节点的指针*/;
BookRecType * newnode;
do
{
//此处添加输入图书信息实现代码
//输入书信息
newnode = (BookRecType *) malloc(sizeof(BookRecType));
newnode->next = NULL;
printf("书号 书名 作者名 出版社 入库数量\n");
scanf("%s%s",newnode->bno,newnode->bname);
scanf("%s%s",newnode->author,newnode->press);
scanf("%d",&newnode->storenum);
newnode->borrownum=0;
//添加到链表中
newnode->next= *head;
*head = newnode;
/*for (CurrP = head ; CurrP!=NULL; PreP = CurrP,CurrP = CurrP->next)
{
if (atoi(CurrP->bno)>atoi(newnode->bno))//将新节点插在CurrP指向的节点前
{
if (CurrP == head)
{
newnode->next = CurrP;
head = newnode;
}
else
{
newnode->next = CurrP;
PreP->next = newnode;
}
break;
}
}
if (head ==0) head = newnode;// 当链表为空(head=0)的处理
if (head !=0 && CurrP == NULL) PreP->next=newnode;//表明循环正常退出,输入的书号最大就放在链表末尾
*/
printf("继续输入吗? y/n: \n");
cin>>yn;
}while (yn == 'y'||yn == 'Y');
for (CurrP = *head ; CurrP!=NULL; CurrP = CurrP->next)
{
printf("%5s%21s%9s%11s%8d%8d\n",CurrP->bno,CurrP->bname,CurrP->author,CurrP->press,CurrP->storenum,CurrP->borrownum);
}
}
void SearchBook(BookRecType **head)
{
int id=0;
char content[21];
char yn = 'y';
do{
printf("图书查找子模块\n");
printf("--------------\n");
printf("1.根据书号查找\n");
printf("2.根据书名查找\n");
printf("3.根据作者查找\n");
printf("4.根据书版社查找\n");
printf("--------------\n");
printf("请选择: ");
scanf("%d",&id);
printf("请输入查找的内容:");
scanf("%s",content);
printf("%6s%22s%10s%22s%10s%10s\n","书号","书名","作者","出版社","藏书量","借出数量");
SearchBookMode(head,id,content);
printf("继续查找吗? y/n: \n");
cin>>yn;
}while (yn == 'y'||yn == 'Y');
}
void SearchBookMode(BookRecType **head,int id,char content[])
{
BookRecType * CurrP/*指向当前节点的指针*/;
char Bookstr[21];
for (CurrP = *head ; CurrP!=NULL; CurrP = CurrP->next)
{
switch (id)
{
case 1:
strcpy(Bookstr,CurrP->bno);
break;
case 2:
strcpy(Bookstr,CurrP->bname);
break;
case 3:
strcpy(Bookstr,CurrP->author);
break;
case 4:
strcpy(Bookstr,CurrP->press);
break;
default:
Bookstr[0] = '\0';
}
if (strcmp(content,Bookstr)==0)
{
printf("%6s%22s%10s%22s%10d%10d\n",CurrP->bno,CurrP->bname,CurrP->author,CurrP->press,CurrP->storenum,CurrP->borrownum);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -