1、c语言课程设计图书管理系统设计北京工业大学耿丹学院实训报告图书管理系统设计一 设计目的1.通过本系统实现对图书管理操作;2.进一步掌握和利用C语言进行设计的能力;3.进一步理解和运用结构化程序设计的思想和方法;4.初步掌握开发一个小型使用系统的基本方法;5.掌握书写设计开发文档的能力;6.能应用C语言中的各个知识要点二 设计内容1新书入库:图书信息包括书名,书号,库存量,现存量(库存量减去借走的图书)共4项首先输入3本书的信息,并将其存数组book中当有新书入库时,先判断数组中是否有此书(即比较书名或书号),若有则修改库存量,现存量的信息;若无此书,则将该书的信息添加到数组中,并将其库存量设为
2、-1,将其标专为下次要购入的图书。2图书查询:(1)输入一个书号,在文件中查找此书,若找到则输出此书的全部信息;若找不到则输出查找失败的信息。(2)查询所有要购入的图书的书名和书号。 3借阅管理 (1)每个读者的信息包括姓名,编号,借阅图书1,借阅图书2,借阅图书3,输入3个读者的信息并存入数组reader中 (2)借书登记:输入读者的姓名及所借图书的书号,先判断姓名是否在读者数组中,若有则将书号存入reader数组中,同时修改book数组中此书的现存量若reader数组中无此姓名,则应提示错误。 (3)还书管理:输入读者的姓名,所还图书的书号,修改reader数组和book数组中相应的项。
3、4输出全部图书信息和全部读者信息。5退出系统。三 设计原理及算法本程序是由一个主函数、7个子函数组成,其中4个子函数完成的功能依次是:借阅图书、归还图书、注册图书、注销图书、刚开始会有一个选择界面,让使用者可以选择想实现的功能。注册图书:利用结构体数组实现学生成绩的数据结构设计,用输入函数可以完成若干条记录的输入;注销图书:输入需要住校图书的书名,函数就会将与其相对应的图书信息给删除;归还图书:输入需要归还图书的书名,函数就会将与其相对应的图书信息返回;借阅图书:利用子函数实现借阅 输出:用函数printf语句来实现将所有的数据都输出在界面上; 流程图: 主函数:四程序运行图1. 主菜单2借阅
4、图书3. 归还图书4. 归还图书五编程源代码 #include #include #include int b; struct BOOK int id,usr10,total,store,days10; char name31,author21; books100; /*上面是结构体的定义,用于存放书籍及借书的信息。*/ void page_title(char *menu_item) printf(nnttt 图 书 管 理 系 统 nn %s nn,menu_item); /*上面是打印页眉的函数,同时通过参数menu_item,可以显示当前的状态。*/ void return_confi
5、rm(void) printf(n按任意键返回n); getch(); /*上面是返回前请求确认的函数,以便在返回前观察结果*/ int search_book(void) int n,i; printf(请输入图书序号:);/这里是输入图书序号的地方 scanf(%d,&i);/这里是输入的序号数保存在变量I里面 for(n=0;n0) printf(请输入借书证序号:); scanf(%d,&s); printf(请输入可借天数:); scanf(%d,&d); for(l=0;l10;l+) if(booksn.usrl=0) booksn.usrl=s; booksn.daysl=d;
6、 break; booksn.store-; if(n!=-1&booksn.store=0) printf(此书已经全部借出.n); return_confirm(); /*上面是借书的函数,首先调用找书函数*/ void book_in(void) int n,s,l; page_title(归还图书); if(n=search_book()!=-1&booksn.storebooksn.total) printf(借阅者图书证列表:n); for(l=0;l10;l+) if (booksn.usrl!=0) printf(%d - %d天n,booksn.usrl,booksn.day
7、sl); printf(请输入借书证序号:); scanf(%d,&s); for(l=0;l10;l+) if(booksn.usrl=s) booksn.usrl=0; booksn.daysl=0; break; booksn.store+; if(n!=-1&booksn.store=booksn.total) printf(全部入藏.n); return_confirm(); void book_add(void) int n; page_title(注册新书); for(n=0;n100;n+) if(booksn.id=0) break; printf(序号:); scanf(%
8、d,&booksn.id); printf(书名:); scanf(%s,&booksn.name); printf(作者:); scanf(%s,&booksn.author); printf(数量:); scanf(%d,&booksn.total); booksn.store=booksn.total; return_confirm(); void book_del(void) int n; page_title(注销旧书); if(n=search_book()!=-1) booksn.id=0; printf(该书已注销.n); return_confirm(); int main(
9、void) menu: system(cls); printf(制作人:张焱n); page_title(操作选单n); printf(=); printf(n请用数字键选择操作n); printf(=n); printf(1 借阅图书ttt2 归还图书nn); printf(3 注册新书(new)ttt4 注销旧书nn); printf(0 退出n); printf(请输入:); scanf(%d,&b); switch(b) case 1 : book_out();break; case 2 : book_in();break; case 3 : book_add();break; case 4 : book_del();break; case 0 : exit(0); goto menu; 六 设计人员输入输出模块:王亚雄菜单、计算模块:王亚雄 添加、修改、删除、查询、统计:王亚雄七 参考文献:C语言程序设计(第三版)文档来源网络,版权归原作者。如有侵权,请告知,我看到会立刻处理。.忽略此处.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1