2022年C语言课程设计-图书管理系统-原创 .pdf
-
资源ID:32187962
资源大小:297.51KB
全文页数:13页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年C语言课程设计-图书管理系统-原创 .pdf
北京工业大学耿丹学院实训报告图书管理系统设计学生姓名 : 张焱专业名称 :计算机科学与技术指导老师 :方红琴报告时间 :2011 年 7 月 6 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 13 页 - - - - - - - - - 一 设计目的1.通过本系统实现对图书管理操作; 2.进一步掌握和利用C 语言进行设计的能力 ; 3.进一步理解和运用结构化程序设计的思想和方法; 4.初步掌握开发一个小型使用系统的基本方法; 5.掌握书写设计开发文档的能力; 6.能应用 C 语言中的各个知识要点二 设计内容1新书入库:图书信息包括书名,书号,库存量,现存量(库存量减去借走的图书)共 4 项首先输入 3 本书的信息,并将其存数组book 中当有新书入库时,先判断数组中是否有此书(即比较书名或书号 ),若有则修改库存量,现存量的信息;若无此书,则将该书的信息添加到数组中,并将其库存量设为-1,将其标专为下次要购入的图书。2图书查询:(1)输入一个书号,在文件中查找此书,若找到则输出此书的全部信息;若找不到则输出查找失败的信息。(2)查询所有要购入的图书的书名和书号。3借阅管理(1)每个读者的信息包括姓名,编号,借阅图书1,借阅图书 2,借阅图书 3,输入 3 个读者的信息并存入数组reader中(2)借书登记:输入读者的姓名及所借图书的书号,先判断姓名是否在读者数组中, 若有则将书号存入 reader数组中, 同时修改 book数组中此书的现存量 若reader数组中无此姓名,则应提示错误。(3)还书管理:输入读者的姓名,所还图书的书号,修改reader数组和 book数组中相应的项。4输出全部图书信息和全部读者信息。5退出系统。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 13 页 - - - - - - - - - 三 设计原理及算法本程序是由一个主函数、 7 个子函数组成,其中4 个子函数完成的功能依次是:借阅图书、归还图书、注册图书、注销图书、刚开始会有一个选择界面,让使用者可以选择想实现的功能。注册图书:利用结构体数组实现学生成绩的数据结构设计,用输入函数可以完成若干条记录的输入;注销图书:输入需要住校图书的书名, 函数就会将与其相对应的图书信息给删除;归还图书:输入需要归还图书的书名, 函数就会将与其相对应的图书信息返回;借阅图书:利用子函数实现借阅输出:用函数 printf 语句来实现将所有的数据都输出在界面上;流程图:主函数:开始输出说明Menu a=1 a=2 a=3 a=4 y n n n n y y y y 操作选单借阅图书归还图书注册图书注销图书结束a=5 退出程序名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 13 页 - - - - - - - - - 四程序运行图1.主菜单2借阅图书3. 归还图书名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 13 页 - - - - - - - - - 4. 归还图书名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 13 页 - - - - - - - - - 五编程源代码#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_confirm(void) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 13 页 - - - - - - - - - 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; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 13 页 - - - - - - - - - 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.daysl); printf( 请输入借书证序号:); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 13 页 - - - - - - - - - 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; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 13 页 - - - - - - - - - printf( 序号 :); scanf(%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(void) menu: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 13 页 - - - - - - - - - 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); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 13 页 - - - - - - - - - goto menu; 六 设计人员输入输出模块:王亚雄菜单、计算模块:王亚雄添加、修改、删除、查询、统计:王亚雄七 参考文献:C 语言程序设计(第三版) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 13 页 - - - - - - - - -