您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > C语言课程设计-书店管理系统
计算机程序设计(C语言)课程设计报告题目:图书管理系统学院:专业:班级:学号:姓名:指导教师:设计日期:2013年06月24日一、选题背景:设计一个图书管理系统,管理员通过登陆账号来进行下一步,使用错误账号和密码会被视为非法登陆。图书信息包括:每种图书都有书名、ISBN、一名或多名作者(译者)、出版社、定价和内容简介等;读者信息包括:借书证记录有借阅者的姓名、密码、所在单位和类别等;读者凭借书证借书二、设计思想:(1)整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、添加、删除、修改、借书、还书等功能。(2)、Cbook();这是一个指针函数,它主要实现了链表的创建,并且在创建过程中从文件读取信息到链表中,以用于后面其他函数的操作。它返回的时一个单向链表的头。其他函数调用时只需调用它返回的头即可。(3)、mainmenu();、menu1();、glmenu();、cxmenu();、jhmenu();这五个函数时整个图书管理系统的全部菜单函数,mainmenu();为系统主界面,进入时可选择进入程序和退出程序。menu1();为进程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。glmenu();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文件的保存操作。三、程序流程图会员登陆系统系统管理界面收银系统管理系统报表系统退出系统四、主要解决问题的方法及技术关键通过自己定义的函数和声明一个结构,主要方法是先使用int函数定义,不同的选择进入不同的定义函数,通过for语句进行判断,然后使用heart数组的各种方式打开此文件,然后通过while函数和for函数关闭文件,在不同的取用数值里,分别使用for,while语句进行判断是否进行下条语句。五、设计结果说明程序都是比较简单的函数,使用方便,易懂,占用空间小。六、程序清单:#includeiostream.h#includefstream#includewindows.h#includestringusingnamespacestd;classBookData{private:charisbn[14];charbookTitle[51];charauthor[31];charpublisher[31];chardataAdded[11];intqytOnHand;doublewholesale;doubleretail;doubleprice;public:voidset();voidwrite();voidread();~BookData(){}voidchange();voidsearch();voidcwrite();voiddeleteBook();voidrwrite();voidshouyin();voidpifa();voidjiazhi();voidlingshou();voidshuliang();voidriqi();};BookDatab[500],B;intcount=0;voidBookData::rwrite(){fstreaminf(book.txt,ios_base::trunc|ios_base::out);if(!inf){coutERROR!endl;}for(inti=0;icount-1;i++){infb[i].isbn\tb[i].bookTitle\tb[i].author\tb[i].publisher\tb[i].dataAdded\tb[i].qytOnHand\tb[i].wholesale\tb[i].retailendl;}inf.close();}voidBookData::deleteBook(){chars[14],e;cout请输入要删除图书的ISBN号:endl;cins;for(inti=0;icount;i++){if(strcmp(b[i].isbn,s)==0){for(intq=i;qcount;q++)b[q]=b[q+1];}}cout是否将修改保存至书库?Y/yendl;cine;if(e=='y'||e=='Y')B.rwrite();}voidBookData::cwrite(){fstreaminf(book.txt,ios_base::trunc|ios_base::out);if(!inf){coutERROR!endl;}for(inti=0;icount;i++){infb[i].isbn\tb[i].bookTitle\tb[i].author\tb[i].publisher\tb[i].dataAdded\tb[i].qytOnHand\tb[i].wholesale\tb[i].retailendl;}inf.close();}voidBookData::set(){charno[14],s;chartitle[51];charzhuozhe[31];charban[31];chardata[11];intkucun;doublepifa;doubleling;do{if(count==0){cout请输入书籍的ISBN号:endl;cinno;cout请输入书籍的名称:endl;cintitle;cout请输入书籍的作者:endl;cinzhuozhe;cout请输入书籍的出版社:endl;cinban;cout请输入进书的日期endl;cindata;cout请输入进书的数量:endl;cinkucun;cout请输入书的批发价:endl;cinpifa;cout请输入书的零售价:endl;cinling;strcpy(b[count].isbn,no);strcpy(b[count].author,zhuozhe);strcpy(b[count].bookTitle,title);strcpy(b[count].publisher,ban);strcpy(b[count].dataAdded,data);b[count].qytOnHand=kucun;b[count].retail=ling;b[count].wholesale=pifa;b[count].price=b[count].wholesale*b[count].qytOnHand;count++;}else{cout请输入书籍的ISBN号:endl;cinno;for(inti=0;icount;i++){if(strcmp(b[i].isbn,no)==0){cout您输入的图书已经存在!endl;return;}}cout请输入书籍的名称:endl;cintitle;cout请输入书籍的作者:endl;cinzhuozhe;cout请输入书籍的出版社:endl;cinban;cout请输入进书的日期endl;cindata;cout请输入进书的数量:endl;cinkucun;cout请输入书的批发价:endl;cinpifa;cout请输入书的零售价:endl;cinling;strcpy(b[count].isbn,no);strcpy(b[count].author,zhuozhe);strcpy(b[count].bookTitle,title);strcpy(b[count].publisher,ban);strcpy(b[count].dataAdded,data);b[count].qytOnHand=kucun;b[count].retail=ling;b[count].wholesale=pifa;b[count].price=b[count].wholesale*b[count].qytOnHand;count++;}cout是否继续输入?(Y/y)endl;cins;}while(s=='Y'||s=='y');B.write();}voidBookData::write(){fstreaminf(book.txt,ios_base::ate|ios_base::out);if(!inf){coutERROR!endl;}for(inti=0;icount;i++){infb[i].isbn\tb[i].bookTitle\tb[i].author\tb[i].publisher\tb[i].dataAdded\tb[i].qytOnHand\tb[i].wholesale\tb[i].retailendl;}inf.close();}voidBookData::read(){BookDatas[500];fstreaminf(book.txt,ios_base::in|ios_base::out);if(!inf){coutERROR!endl;}if(count==0){}inta;for(a=0;acount;a++){infb[a].isbnb[a].bookTitleb[a].authorb[a].publisherb[a].dataAddedb[a].qytOnHandb[a].wholesaleb[a].retail;}inf.close();for(inti=0;ia;i++){coutb[i].isbn\tb[i].bookTitle\tb[i].author\tb[i].publisher\tb[i].dataAdded\tb[i].qytOnHand\tb[i].wholesale\tb[i].retailendl;}}voidBookData::search(){charc[14];cout请输入要查询的ISBN号:endl;cinc;for(inti=0;icount;i++){if(strcmp(b[i].isbn,c)==0){cout你所查询的图书信息如下endl;coutISBN号:b[i].isbnendl;cout书名:b[i].bookTitleendl;cout作者名:b[i].authorendl;cout出版社:b[i].publisherendl;cout进书日期:b[i].dataAddedendl;cout库存量:b[i].qytOnHandendl;cout批发价:b[i].wholesaleendl;cout零售价:b[i].retailendl;cin.get();return;}}}voidBookData::change(){chara[15],s;inti;cout请输入要修改图书的ISBN号:endl;cina;for(i=0;icount;i++){if(strcmp(b[i].isbn,a)==0){cout请输入书籍的名称:endl;cinb[i].bookTitle;cout
本文标题:C语言课程设计-书店管理系统
链接地址:https://www.777doc.com/doc-4598991 .html