您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 88C++课程设计图书管理系统.doc
注意:在运行前首先要建立文件“book.dat”#includeiostreamusingnamespacestd;#includefstream#includeiomanip#includecctype#includecstring#includecstdlib#defineLENsizeof(BOOK);intbookNum_infile=0;//该全局变量用来存储某本书在书库中的位置charch='';//使程序停顿fstreamfile;//程序运行的整个过程中一直对文件操作typedefclassBookData//创建类存储书的信息{private:charisbn[14];charbookTitle[51];charauthor[31];charpublisher[31];chardateAdded[11];intqtyOnHand;doublewholesale;//批发价doubleretail;//零售价doubleSum_Wsale;//批发总价doubleSum_Retail;//零售总价voidsetSum_Wsale(){Sum_Wsale=wholesale*qtyOnHand;}voidsetSum_retail(){Sum_Retail=retail*qtyOnHand;}public:voidsetTitle(char*ctitle){strcpy(bookTitle,ctitle);}voidsetISBN(char*cisbn){strcpy(isbn,cisbn);}voidsetAuthor(char*cauthor){strcpy(author,cauthor);}voidsetPub(char*cpub){strcpy(publisher,cpub);}voidsetDateAdded(char*cdate){strcpy(dateAdded,cdate);}voidsetQty(intnqty){qtyOnHand=nqty;}voidsetWholesale(doubledwholesale){wholesale=dwholesale;setSum_Wsale();}voidsetRetail(doubledretail){retail=dretail;setSum_retail();}char*getTitle(){returnbookTitle;}char*getISBN(){returnisbn;}char*getAuthor(){returnauthor;}char*getPub(){returnpublisher;}char*getDateAdded(){returndateAdded;}intgetQty(){returnqtyOnHand;}doublegetWholesale(){returnwholesale;}doublegetRetail(){returnretail;}doublegetSum_Wsale(){returnSum_Wsale;}doublegetSum_Retail(){returnSum_Retail;}}BOOK;structNODE_BookData//创立链表{BookDatabookdata;NODE_BookData*next;};classBuyBook//创建该类存储所买书的信息{private:charB_isbn[14];charB_bookTitle[51];intbook_Num;doubleB_retail;doubleB_Sum_Retail;voidset_B_Sum_Retail(){B_Sum_Retail=B_retail*book_Num;}public:voidB_setISBN(char*cisbn){strcpy(B_isbn,cisbn);}voidB_setTitle(char*ctitle){strcpy(B_bookTitle,ctitle);}voidB_set_book_Num(intnum){book_Num=num;}voidB_set_Retail(doubleretail){B_retail=retail;set_B_Sum_Retail();}doubleB_getB_Sum_Retail(){returnB_Sum_Retail;}intB_getBook_Num(){returnbook_Num;}doubleB_getB_Retail(){returnB_retail;}char*B_getB_ISBN(){returnB_isbn;}char*B_getB_Title(){returnB_bookTitle;}};structNODE_Buy//建立链表{BuyBookbuybook;NODE_Buy*next;};//主菜单voidmainDesk();//主菜单voidmainDesk(int&);//主菜单选择voidmainChoice_Test(int&);//主菜单选择测试//收银模块voidgetMoney();//收银voidshow_Account(NODE_Buy*,double*account,char*);//显示购书信息voidlookUpBook_ISBN(fstream&,int&,NODE_Buy*,NODE_Buy*,BookData&,char*);//输入书号,自动查找,若找不到显示出错信息boolsearchBook_ISBN(fstream&,char*,int&,BookData&);//查找书号boolprime(NODE_Buy*,BookData&);//判断所购数量是否大于库存量voidcopyBook(NODE_Buy*,BookData&);//将书的信息拷入BuyBookvoidset_Date(char*);//设定日期voiddecreaseBook(NODE_Buy*,BookData&,char*);//将要购买的书从记录中删除,char*形参数修改日期NODE_Buy*initlist_B();//创建购书链表NODE_Buy*insert(NODE_Buy*,NODE_Buy*);//将购买的书插入链表voidaccount_Calc(NODE_Buy*,double*);//计算总额,数组中包含“销售合计、零售税、应付金额”voidfree_Buy_Sort(NODE_Buy*);//释放链表//书库管理voidstorMang_Desk();//书库管理模块桌面菜单voidstoreManagement(int&);//书库管理模块voidstorChoice_Test(int&);//书库管理选择测试voidlookUpBook(fstream&,int&bookNum_infile);//在存储文件中查找书,若找不到显示出错信息boolsearchBook(fstream&,int&bookNum_infile,char*,BookData&);//在存储文件中查找书voidBookInfo(BookData&);//显示书的信息voidinputBook();//增加书voideditBook();//修改书的信息voidinputBook_message(BookData&book);//输入书的信息voiddeleteBook();//删除书//报表模块voidchat();//报表voidshowChat(int&);//报表模块选择voidchatChoice_Test(int&);//报表选择测试NODE_BookData*initlist();//创建空链表NODE_BookData*book_Out_Sort(NODE_BookData*);//书库列表NODE_BookData*book_Wholesale_Sort(NODE_BookData*);//批发价有序链表NODE_BookData*book_Retail_Sort(NODE_BookData*);//零售价有序链表NODE_BookData*book_Qty_Sort(NODE_BookData*);//数量有序链表NODE_BookData*book_Sum_Retail_Sort(NODE_BookData*);//价值额有序链表NODE_BookData*book_DateAdded_Sort(NODE_BookData*);//进书日期有序链表voidshow_Book_Sort(NODE_BookData*head);//输出链表voidfree_Sort(NODE_BookData*);//释放链表//主函数intmain(){intchoice;file.open(book.dat,ios::in|ios::out|ios::binary);if(!file){cout打开文件出错!;exit(0);}while(true){mainDesk(choice);}file.close();return0;}//主菜单voidmainDesk(){cout|----------------------------------------------------------|\n;cout|XXX图书管理系统|\n;cout|主菜单|\n;cout|1.收银模块|\n;cout|2.书库管理模块|\n;cout|3.报表模块|\n;cout|4.退出系统|\n;cout|请输入选择:|\n;cout|请输入1-4之间的数|\n;cout|----------------------------------------------------------|\n;coutendl;}voidmainDesk(int&choice)//主菜单选择{mainDesk();cinchoice;cin.ignore();mainChoice_Test(choice);switch(choice){case1:getMoney();break;case2:storeManagement(choice);break;case3:showChat(choice);break;case4:exit(0);}}voidmainChoice_Test(int&choice)//主菜单选择测试{while(choice!=1&&choice!=2&&choice!=3&&choice!=4){cout输入有误!请重新输入1-4之间的数:;cinchoice;cin.ignore();}}//收银模块voidgetMoney(){BookDatabook;NODE_Buy*head_B=NULL,*s=NULL;head_B=initlist_B();double*account;//存储销售信息account=newdouble[3];chardate[14];set_Date(date);//设定日期lookUpBook_ISBN(file,bookNum_infile,s,head_B,book,date);account_Calc(head_B,account);show_Account(head_B,account,date);free_Buy_Sort(head_B);delete[]account;cout按Enter键继续...;cin.get(ch);coutendl;}voidshow_Account(NODE_Buy*head,double*account,char*date)//显示购书信息{NODE_Buy*p=head-next;cout---------------------------------------------------------------------------
本文标题:88C++课程设计图书管理系统.doc
链接地址:https://www.777doc.com/doc-4850107 .html