资源预览内容
第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
第9页 / 共32页
第10页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C 语言课程设计课程设计报告- 1 -目录1 设计内容、任务及基本要求21.1 设计内容21.2 设计任务21.3 设计基本要求22 总体设计思路42.1 系统功能42.2 各个模块之间的主要关系42.3 总体程序框图52.4 系统的总体流程图53 功能模块的具体设计73.1 main() 函数模块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 程序清单25C 语言课程设计课程设计报告- 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.1 main() 函数模块根据图书馆信息管理系统的要求,可设计一个主函数,及定义多个用户自定义函数。在主函数中定义全局变量,即是在函数外部定义的变量,其不属于某一个函数,而属于一个源程序文件,在整个程序内可以多次被引用。通过将 switch 语句与 break 语句联合使用来实现多分支选择结构程序的设计。运用 fscanf 语句在主函数中将文件中的内容赋给结构体变量,便于在自定义函数中对结构体的调用。具体如下: 在主函数中定义一个存放图书信息的结构体struct listchar num20 ; /*图书编号*/ char name40 ; /*书名*/char author40 ; /*作者*/char publish 40; /*出版社*/double price; /*价格*/;以及各函数的申明void search_allinformation(struct list b) ; /*查看全部图书信息*/void check_bookinformation (struct list b ); /*查找图书信息*/void add_bookinformation (struct list b ); /*添加图书信息*/void delete_bookinformation (struct list b ); /*删除图书信息*/void borrow_book (struct list b ) ; /*借阅图书*/ 通过将 switch 语句与 break 语句联合使用来实现多分支选择结构程序的设计。 switch (choice1)C 语言课程设计课程设计报告- 8 - case 1 : search_allinformation (b); break ;case 2 : check_bookinformation( b );break ;case 3 : add_bookinformation (b );break ;case 4 : delete_bookinformation( b);break ;case 5 : borrow_book( b);break ;case 0 : break ;3.2 查询所有图书信息函数模块void search_allinformation (struct list b)通过 printf()语句将所有的图书信息包括包括编号、书名、出版社、作者、价格等信息显示在屏幕上。运用 for 语句加 printf()实现图书信息的循环输出显示。3.3 查询一本图书信息函数模块void check_bookinformation(struct list b )用户先输入图书编号后,先用 strcmp(s1, s2)函数进行比较两个字符串数组的大小,从而查找出该图书是否存在,若不存在则提示用户是否要继续查找,运用 switch 语句 ,若继续则再次调用函数本身进行第二次查找,直到找到为止,若否则结束循环,不再进行查找。 通过将 switch 语句与 break 语句联合使用来实现多分支选择结构程序的设计。运用 fscanf 语句在主函数中将文件中的内容赋给结构体。其主要流程图如下:C 语言课程设计课程设计报告- 9 -输入图书编号查找编号是否存在 存在显示该图书信息 不存在在提示是否继续查找是开始关键代码:strcmp(比较字符串) case.break(判断) printf(输出信息)switch(实现选择功能分支)3.4 添加图书信息函数模块void add_bookinformation(struct list b )输入图书的基本信息包括编号、书名、出版社、作者、价格,由于原有的图书信息是按照编号的大小顺序排列的,所以只需运用 for 循环 和 strcmp 函数找出输入的图书应该插入的位置,再将所添加的图书信息插入即可。其主要流程图如下: C 语言课程设计课程设计报告- 10 -输入图书相关信息提示是否显示添加后的信息是打开文件,重新写入图书信息否 结束开始关键代码: printf(输出信息)scanf (输入信息)switch(实现多分支结构程序设计) case-break (实现功能的选择)3.5 删除图书信息函数模块void delete_bookinformation (struct list b )用户输入所要删除的图书编号,先查找该图书编号是否存在,若存在,这提示用户是否要显示删除后的信息,若不存在则提示重新输入。 C 语言课程设计课程设计报告- 11 -输入编号打开文件,查找存在在文件中输入新的信息不存在给出相应的提示 结束开始关键代码: strcmp(比较两个字符串的大小)switch(实现多分支结构程序设计)if(条件选择)3.
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号