c语言课程设计报告及源代码-图书馆管理系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《C语言课程设计》课程设计报告-1-目录1设计内容、任务及基本要求………………………………………………………21.1设计内容………………………………………………………………………21.2设计任务………………………………………………………………………21.3设计基本要求…………………………………………………………………22总体设计思路………………………………………………………………………42.1系统功能………………………………………………………………………42.2各个模块之间的主要关系……………………………………………………42.3总体程序框图…………………………………………………………………52.4系统的总体流程图……………………………………………………………53功能模块的具体设计………………………………………………………………73.1main()函数模块………………………………………………………………73.2查询所有图书信息函数模块……………………………………………………83.3查询一本图书信息函数模块……………………………………………………83.4添加图书信息函数模块…………………………………………………………93.5删除图书信息函数模块…………………………………………………………103.6借阅图书模块……………………………………………………………………124功能模块的调试与测试……………………………………………………………134.1主菜单运行界面…………………………………………………………………134.2查询所有图书信息模块运行界面………………………………………………134.3查找某一本图书信息模块运行界面……………………………………………144.4添加图书信息模块运行界面……………………………………………………164.5删除图书信息模块运行界面……………………………………………………174.6借阅图书模块信息运行界面……………………………………………………795总结……………………………………………………………………………………226致谢……………………………………………………………………………………237参考文献………………………………………………………………………………249程序清单………………………………………………………………………………25《C语言课程设计》课程设计报告-2-1.设计内容、任务以及基本要求1.1设计内容主要利用c语言的文件操作能力设计开发一个小型的图书管信息管理系统,至少具有如下功能:查寻所有图书信息、通过输入图书编号来完成查找某一本图书信息、添加图书信息、删除图书信息以及通过学生学号实现图书借阅功能。操作界面要符合用户的一般习惯,界面易于读者明白理解,图形或文本界面都可以。1.2设计任务要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C语言进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。掌握模块化编程的基本方法与步骤;巩固和加深学生对C语言课程基本知识的理解与掌握,培养学生利用C语言进行软件操作的能力和技巧。1.3基本要求(1)通过提示菜单选择可以进行的操作。(2)将图书的信息存入文件中,并命名为BookInfo.txt。(3)将图书借阅情况信息存入文件中,并命名为SendInfo.txt。(4)在本系统中可以进行管理系统包含的基本操作,其中包括a)查看所有图书的信息。b)输入一本图书的图书编号,从当前图书中进行查找,如果找到则显示该图书的相关信息,如果没有找到则给出提示信息。c)添加一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则提示重新输入,否则将该图书按照顺序插入到相应位置。d)删除一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的《C语言课程设计》课程设计报告-3-图书,如果存在则将该图书删除,否则给出提示信息,提示该图书不存在。e)借阅一本图书,需要给出学号和图书编号,如果图书编号不存在则重新输入,直到输入正确为止,并将学号和相应的图书编号存入SendInfo.txt文件中。(5)图书基本信息包括图书编号、书名、作者、出版社和价钱这些简单信息。(6)图书信息文件中每一行存放一本图书的信息。(7)借阅信息文件中每一行存放一本书的借阅情况。《C语言课程设计》课程设计报告-4-2总体设计思路2.1系统功能图书管理在生活中运用非常广泛,因此需要用许多的程序来对它们进行管理。此程序包含了图书信息的录入、图书信息的浏览、图书的查询和排序、图书信息的删除与修改,借书,还书,统计等。通过编译一个C语言函数,其中包含一个主函数,多个子函数,主函数调用其余的子函数实现人们能够简易、快捷的了解并找到自己所学要的信息的功能。1、查询所有图书信息:将所有图书信息包括编号、书名、出版社、作者、价格等显示在屏幕上。2、查找一本图书的信息:通过输入图书编号完成图书信息的查找,并在屏幕上显示。3、修改图书信息:通过输入编号,判断此图书是否存在,若不存在则提示用户重新输入图书编号。4、删除图书信息:通过输入编号,判断此图书是否存在,若存在,则提示用户是否显示删除后的信息,若不存在则提示用户重新输入图书编号。5、借书:通过输入图书编号,判断此图书是否存在,若不存在则提示用户重新输入图书编号,若图书已借出则提示用户是否继续借书,若没借出则将此图书的编号和学生的学号存入图书借阅文件中。6、退出系统:返回主页面。2.2各个模块之间的主要关系图书信息管理系统可划分为5个模块:查询所有图书模块、查找一本图书信息模块、修改图书信息模块、删除图书信息模块、借阅图书模块。各模块之间均有着或多或少的联系,比如:查找一本图书信息模块、修改信息模块、删除信息模块、借阅图书模块都需要先判断该图书是否存在,然后再进行其它操作。理解了各模块之间的主要关系有利于程序的设计与完成,使程序的层次结构清晰,便于程序的编写、阅读和调试。《C语言课程设计》课程设计报告-5-2.3总体程序框图图2.1系统总框架图2.4系统的总体流程图图书馆信息管理系统查询所有图书信息查找一本图书的信息借阅图书删除图书信息添加图书信息退出系统开始编译运行main打开文件选择调用不同函数数据读入结构体中执行《C语言课程设计》课程设计报告-6-图2.2系统总流程图《C语言课程设计》课程设计报告-7-3功能模块的具体设计3.1main()函数模块根据图书馆信息管理系统的要求,可设计一个主函数,及定义多个用户自定义函数。在主函数中定义全局变量,即是在函数外部定义的变量,其不属于某一个函数,而属于一个源程序文件,在整个程序内可以多次被引用。通过将switch语句与break语句联合使用来实现多分支选择结构程序的设计。运用fscanf语句在主函数中将文件中的内容赋给结构体变量,便于在自定义函数中对结构体的调用。具体如下:在主函数中定义一个存放图书信息的结构体structlist{charnum[20];/*图书编号*/charname[40];/*书名*/charauthor[40];/*作者*/charpublish[40];/*出版社*/doubleprice;/*价格*/};以及各函数的申明voidsearch_allinformation(structlistb[]);/*查看全部图书信息*/voidcheck_bookinformation(structlistb[]);/*查找图书信息*/voidadd_bookinformation(structlistb[]);/*添加图书信息*/voiddelete_bookinformation(structlistb[]);/*删除图书信息*/voidborrow_book(structlistb[]);/*借阅图书*/通过将switch语句与break语句联合使用来实现多分支选择结构程序的设计。switch(choice1){case1:search_allinformation(b);《C语言课程设计》课程设计报告-8-break;case2:check_bookinformation(b);break;case3:add_bookinformation(b);break;case4:delete_bookinformation(b);break;case5:borrow_book(b);break;case0:break;}3.2查询所有图书信息函数模块voidsearch_allinformation(structlistb[])通过printf()语句将所有的图书信息包括包括编号、书名、出版社、作者、价格等信息显示在屏幕上。运用for语句加printf()实现图书信息的循环输出显示。3.3查询一本图书信息函数模块voidcheck_bookinformation(structlistb[])用户先输入图书编号后,先用strcmp(s1,s2)函数进行比较两个字符串数组的大小,从而查找出该图书是否存在,若不存在则提示用户是否要继续查找,运用switch语句,若继续则再次调用函数本身进行第二次查找,直到找到为止,若否则结束循环,不再进行查找。通过将switch语句与break语句联合使用来实现多分支选择结构程序的设计。运用fscanf语句在主函数中将文件中的内容赋给结构体。其主要流程图如下:《C语言课程设计》课程设计报告-9-关键代码:strcmp(比较字符串)case….break(判断)printf(输出信息)switch(实现选择功能分支)3.4添加图书信息函数模块voidadd_bookinformation(structlistb[])输入图书的基本信息包括编号、书名、出版社、作者、价格,由于原有的图书信息是按照编号的大小顺序排列的,所以只需运用for循环和strcmp函数找出输入的图书应该插入的位置,再将所添加的图书信息插入即可。其主要流程图如下:输入图书编号查找编号是否存在存在显示该图书信息不存在在提示是否继续查找是开始《C语言课程设计》课程设计报告-10-关键代码:printf(输出信息)scanf(输入信息)switch(实现多分支结构程序设计)case-break(实现功能的选择)3.5删除图书信息函数模块voiddelete_bookinformation(structlistb[])用户输入所要删除的图书编号,先查找该图书编号是否存在,若存在,这提示用户是否要显示删除后的信息,若不存在则提示重新输入。输入图书相关信息提示是否显示添加后的信息是打开文件,重新写入图书信息否结束开始《C语言课程设计》课程设计报告-11-关键代码:strcmp(比较两个字符串的大小)switch(实现多分支结构程序设计)if(条件选择)3.6借阅图书模块voidborrow_book(structlistb[])用户先输入所借图书的编号,调用函数查找该图书有没有借出,若已借出,则提示用户该图书已借出,并提示用户是否继续借阅其他书籍。若继续,则继续进行新的查找。输入编号打开文件,查找存在在文件中输入新的信息不存在给出相应的提示结束开始《C语言课程设计》课程设计报告-12-关键代码:if-else(实现分支选择)getchar(从键盘上输入一个字符)goto(使程序的执行流程直接转接到标号对应的那条语句)strcmp(比较两个字符串的大小)输入图书编号在文件中查找是否存在存在提示输入学号将学号、编号存入新的文件中不存在提示是否继续借阅是否结束开始《C语言课程设计》课程设计报告-13-4功能模块的调试及测试4.1主菜单运行界面图4.1主菜单运行界面图4.2查询所有图书信息模块运行界面按1操作查询所有图书信息,(1)打开源程序,编译程序,单击Compile按钮,出现错误,如图:《C语言课程设计》课程设计报告-14-(2)错误均指向55行

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功