《C语言课程设计-书店管理系统》由会员分享,可在线阅读,更多相关《C语言课程设计-书店管理系统(25页珍藏版)》请在人人文库网上搜索。
1、计算机程序设计计算机程序设计(C(C 语言语言) ) 课程设计报告课程设计报告 题目:图书管理系统题目:图书管理系统 学院:学院: 专业:专业: 班级:班级: 学号:学号: 姓名:姓名: 指导教师:指导教师: 设计日期:设计日期: 年年 0606 月月 2424 日日 一、选题背景:一、选题背景: 设计一个图书管理系统,管理员通过登陆账号来进行下一步,使用错误账号和设计一个图书管理系统,管理员通过登陆账号来进行下一步,使用错误账号和 密码会被视为非法登陆。图书信息包括:每种图书都有书名、密码会被视为非法登陆。图书信息包括:每种图书都有书名、ISBNISBN、一名或多、一名或多 。
2、名作者名作者(译者译者) 、出版社出版社、定价和内容简介等定价和内容简介等;读者信息包括读者信息包括:借书证记录有借借书证记录有借 阅者的姓名、密码、所在单位和类别等;读者凭借书证借书阅者的姓名、密码、所在单位和类别等;读者凭借书证借书 二、设计思想:二、设计思想: (1)整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句 while()和选择语句 swithch()实现各个子函数的调用,系统根据输入的数字选 项来调用相应的函数, 以实现相应的功能。 主要实现了图书的录入、 存储、 查询、 添加、删除、修改、借书、还书等功能。 (2)、Cbook();这是一个指针函数,它主要实现。
3、了链表的创建,并且在创建过 程中从文件读取信息到链表中,以用于后面其他函数的操作。它返回的时一个单 向链表的头。其他函数调用时只需调用它返回的头即可。 (3)、mainmenu();、menu1();、glm enu();、cxmenu();、jhmenu();这五个函 数时整个图书管理系统的全部菜单函数,mainmenu();为系统主界面,进入时可 选择进入程序和退出程序。menu1();为进程序时显示的功能菜单,在此菜单可以 选择录入、保存图书信息,也可选择进入其他子系统。glmenu();此菜单为 进入 图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu(); 为查。
4、询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。 jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提 示信息进行文件的保存操作。 三、程序流程图三、程序流程图 会员登陆系统 系统管理界面 收银系统管理系统报表系统退出系统 四、主要解决问题的方法及技术关键四、主要解决问题的方法及技术关键 通过自己定义的函数和声明一个结构,主要方法是先使用 int 函数定义,不同的 选择进入不同的定义函数,通过 for 语句进行判断,然后使用 heart 数组的各种 方式打开此文件,然后通过 while 函数和 for 函数关闭文件,在不同的取用数值 里,分别使用 fo。
5、r,while 语句进行判断是否进行下条语句。 五、设计结果说明五、设计结果说明 程序都是比较简单的函数,使用方便,易懂,占用空间小。 六、程序清单:六、程序清单: #include #include #include #include using namespace std; class BookData private: char isbn14; char bookTitle51; char author31; char publisher31; char dataAdded11; int qytOnHand; double wholesale; double retail; double。
6、 price; public: void set(); void write(); void read(); BookData() void change(); void search(); void cwrite(); void deleteBook(); void rwrite(); void shouyin(); void pifa(); void jiazhi(); void lingshou(); void shuliang(); void riqi(); ; BookData b500,B; int count=0; void BookData:rwrite() fstream i。
7、nf(book.txt,ios_base:trunc|ios_base:out); if(!inf) couts; for(int i=0;ie; if(e=y|e=Y) B.rwrite(); void BookData:cwrite() fstream inf(book.txt,ios_base:trunc|ios_base:out); if(!inf) coutno; couttitle; coutzhuozhe; coutban; coutdata; coutkucun; coutpifa; coutling; strcpy(bcount.isbn,no); strcpy(bcount。
8、.author,zhuozhe); strcpy(bcount.bookTitle,title); strcpy(bcount.publisher,ban); strcpy(bcount.dataAdded,data); bcount.qytOnHand=kucun; bcount.retail=ling; bcount.wholesale=pifa; bcount.price=bcount.wholesale*bcount.qytOnHand; count+; else coutno; for(int i=0;ititle; coutzhuozhe; coutban; coutdata; c。
9、outkucun; coutpifa; coutling; strcpy(bcount.isbn,no); strcpy(bcount.author,zhuozhe); strcpy(bcount.bookTitle,title); strcpy(bcount.publisher,ban); strcpy(bcount.dataAdded,data); bcount.qytOnHand=kucun; bcount.retail=ling; bcount.wholesale=pifa; bcount.price=bcount.wholesale*bcount.qytOnHand; count+;。
10、 couts; while(s=Y|s=y); B.write(); void BookData:write() fstream inf(book.txt,ios_base:ate|ios_base:out); if(!inf) coutba.isbnba.bookTitleba.authorba.publisherb a.dataAddedba.qytOnHandba.wholesaleba.retail; inf.close(); for(int i=0;ic; for(int i=0;ia; for(i=0;ibi.bookTitle; coutbi.author; coutbi.pub。
11、lisher; coutbi.dataAdded; coutbi.qytOnHand; coutbi.wholesale; coutbi.retail; couts; if(s=y|s=Y) B.cwrite(); void guanli() int z; do coutz; switch(z) case 1:B.search();break; case 2:B.set();break; case 3:B.change();break; case 4:B.deleteBook();break; case 5:couts; S:coutw; for(int i=0;id; if(d=y|d=Y)。
12、 goto S; bi.qytOnHand=bi.qytOnHand-w; x+; coutd; while(d=y|d=Y); coutq; switch(q) case 1:B.read();break; case 2:B.pifa();break; case 3:B.lingshou();break; case 4:B.shuliang();break; case 5:B.jiazhi();break; case 6:B.riqi();break; case 7:coutw; switch(w) case 1: coutb; coutd; if(strcmp(a,b)=0 coute; switch(e) case 1:B.shouyin();break; case 2:guanli();break; case 3:baobiao();break; case 4:coutBREAKendl;break; default:cout输入有误!重新输入endl;break; while(e!=4); break; else cout非法登陆! ! ! ! !aendl; break; case 0:break;。