图书管理系统 c++ 数据结构实验报告

2026/1/16 21:58:45

};

/*图书索引结构*/ struct Index {

char BookID[10];/*图书编号*/ Index *pNext;/*下一个索引指针*/ };

/*借阅信息结构*/ struct Borrow {

char BookID[10]; /*借阅图书编号*/ char BookName[512]; /*书名*/ unsigned long StuID; /*图书证号*/ char ReturnTime[512];/*归还日期*/ Borrow *pNext; /*下一个借阅信息*/ };

/*获取输入字符串*/

void GetInput(char *pInOutStr,int StrLen,bool OnlyGetNumber = false); /*显示主菜单 并返回选择*/ int ShowMainMenu();

/*图书入库操作,传入参数为图书列表头指针的指针和索引信息的头指针的指针,因为在此函数内部可能会改变头指针的值*/

void PutBookInLib(Book **pHead,Index **pIndex); /*查询图书馆库存,查询不改变数据,故传入指针即可*/ void QueryBookLib(Book *pHead); /*借阅图书*/

void BorrowBook(Borrow **pBorrow,Book *pHead); /*查询借阅*/

void QueryBorrow(Borrow *pBorrow); /*归还图书*/

4

void ReturnBook(Borrow **pBorrow,Book *pHead); /*释放图书链表及索引链表及借阅信息链表*/ void DeleteBookList(Book **pHead); void DeleteIndexList(Index **pIndex); void DeleteBorrowList(Borrow **pBorrow); int main() {

/*图书列表头指针*/ Book *pBookHead = NULL; /*图书索引头指针*/ Index *pIndexHead = NULL; /*借阅信息头指针*/

Borrow *pBorrowHead = NULL; /*用来保存当前用户的输入*/ int ChoosedNum = -1; while ( true ) {

ChoosedNum = ShowMainMenu(); switch(ChoosedNum) {

case 0 :/*退出*/ {

return 0; break; }

case 1:/*图书入库*/ {

PutBookInLib(&pBookHead,&pIndexHead); break; }

5

case 2:/*查询库存*/ {

QueryBookLib(pBookHead); printf(\按回车键继续...\ fflush(stdin); getchar(); system(\ break; }

case 3:/*借阅图书*/ {

QueryBookLib(pBookHead);

BorrowBook(&pBorrowHead,pBookHead); break; }

case 4:/*查询借阅*/ {

QueryBorrow(pBorrowHead); printf(\按回车键继续...\ fflush(stdin); getchar(); system(\ break; }

case 5:/*归还图书*/ {

QueryBorrow(pBorrowHead);

ReturnBook(&pBorrowHead,pBookHead); break; }

6

} }

DeleteBookList(&pBookHead); DeleteIndexList(&pIndexHead); DeleteBorrowList(&pBorrowHead); fflush(stdin); getchar(); return 0; }

/*获取输入字符串*/

void GetInput(char *pInOutStr,int StrLen,bool OnlyGetNumber) {

memset(pInOutStr,0x0,StrLen); fflush(stdin); int Count = 0; while ( true ) {

char TmpC = 0;

fread(&TmpC,1,1,stdin); if ( 10 == TmpC ) { break; }

if ( OnlyGetNumber && TmpC >= '0' && TmpC <= '9' ) {

pInOutStr[Count] = TmpC; Count++; } else {

7


图书管理系统 c++ 数据结构实验报告.doc 将本文的Word文档下载到电脑
搜索更多关于: 图书管理系统 c++ 数据结构实验报告 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219