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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 设计内容、任务及基本要求 (2)

1.1 设计内容 (2)

1.2 设计任务 (2)

1.3 设计基本要求 (2)

2 总体设计思路 (4)

2.1 系统功能 (4)

2.2 各个模块之间的主要关系 (4)

2.3 总体程序框图 (5)

2.4 系统的总体流程图 (5)

3 功能模块的具体设计 (7)

3.1 main() 函数模块 (7)

3.2查询所有图书信息函数模块 (8)

3.3查询一本图书信息函数模块 (8)

3.4添加图书信息函数模块 (9)

3.5删除图书信息函数模块 (10)

3.6 借阅图书模块 (12)

4 功能模块的调试与测试 (13)

4.1主菜单运行界面 (13)

4.2查询所有图书信息模块运行界面 (13)

4.3查找某一本图书信息模块运行界面 (14)

4.4 添加图书信息模块运行界面 (16)

4.5 删除图书信息模块运行界面 (17)

4.6 借阅图书模块信息运行界面 (79)

5 总结 (22)

6 致谢 (23)

7 参考文献 (24)

9 程序清单 (25)

1.设计内容、任务以及基本要求

1.1设计内容

主要利用c语言的文件操作能力设计开发一个小型的图书管信息管理系统,至少具有如下功能:查寻所有图书信息、通过输入图书编号来完成查找某一本图书信息、添加图书信息、删除图书信息以及通过学生学号实现图书借阅功能。操作界面要符合用户的一般习惯,界面易于读者明白理解,图形或文本界面都可以。

1.2设计任务

要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C语言进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。掌握模块化编程的基本方法与步骤;巩固和加深学生对C语言课程基本知识的理解与掌握,培养学生利用C语言进行软件操作的能力和技巧。

1.3基本要求

(1)通过提示菜单选择可以进行的操作。

(2)将图书的信息存入文件中,并命名为BookInfo.txt。

(3)将图书借阅情况信息存入文件中,并命名为SendInfo.txt。

(4)在本系统中可以进行管理系统包含的基本操作,其中包括

a)查看所有图书的信息。

b)输入一本图书的图书编号,从当前图书中进行查找,如果找到则显示该图书的相关信息,如果没有找到则给出提示信息。

c)添加一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则提示重新输入,否则将该图书按照顺序插入到相应位置。

d)删除一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的

图书,如果存在则将该图书删除,否则给出提示信息,提示该图书不存在。

e)借阅一本图书,需要给出学号和图书编号,如果图书编号不存在则重新输入,直到输入正确为止,并将学号和相应的图书编号存入SendInfo.txt文件中。

(5)图书基本信息包括图书编号、书名、作者、出版社和价钱这些简单信息。

(6)图书信息文件中每一行存放一本图书的信息。

(7)借阅信息文件中每一行存放一本书的借阅情况。

2 总体设计思路

2.1系统功能

图书管理在生活中运用非常广泛,因此需要用许多的程序来对它们进行管理。此程序包含了图书信息的录入、图书信息的浏览、图书的查询和排序、图书信息的删除与修改,借书,还书,统计等。通过编译一个C语言函数,其中包含一个主函数,多个子函数,主函数调用其余的子函数实现人们能够简易、快捷的了解并找到自己所学要的信息的功能。

1、查询所有图书信息:将所有图书信息包括编号、书名、出版社、作者、价格等显示在屏幕上。

2、查找一本图书的信息:通过输入图书编号完成图书信息的查找,并在屏幕上显示。

3、修改图书信息:通过输入编号,判断此图书是否存在,若不存在则提示用户重新输入图书编号。

4、删除图书信息:通过输入编号,判断此图书是否存在,若存在,则提示用户是否显示删除后的信息,若不存在则提示用户重新输入图书编号。

5、借书:通过输入图书编号,判断此图书是否存在,若不存在则提示用户重新输入图书编号,若图书已借出则提示用户是否继续借书,若没借出则将此图书的编号和学生的学号存入图书借阅文件中。

6、退出系统:返回主页面。

2.2各个模块之间的主要关系

图书信息管理系统可划分为5个模块:查询所有图书模块、查找一本图书信息模块、修改图书信息模块、删除图书信息模块、借阅图书模块。各模块之间均有着或多或少的联系,比如:查找一本图书信息模块、修改信息模块、删除信息模块、借阅图书模块都需要先判断该图书是否存在,然后再进行其它操作。理解了各模块之间的主要关系有利于程序的设计与完成,使程序的层次结构清晰,便于程序的编写、阅读和调试。

2.3总体程序框图

图2.1 系统总框架图2.4

图2.2 系统总流程图

3 功能模块的具体设计

3.1 main() 函数模块

根据图书馆信息管理系统的要求,可设计一个主函数,及定义多个用户自定义函数。在主函数中定义全局变量,即是在函数外部定义的变量,其不属于某一个函数,而属于一个源程序文件,在整个程序内可以多次被引用。通过将switch语句与break语句联合使用来实现多分支选择结构程序的设计。运用fscanf语句在主函数中将文件中的内容赋给结构体变量,便于在自定义函数中对结构体的调用。

具体如下:

在主函数中定义一个存放图书信息的结构体

struct list{

char num[20] ; /*图书编号*/

char name[40] ; /*书名*/

char author[40] ; /*作者*/

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)

{ case 1 : search_allinformation (b);

相关文档
最新文档