C语言-图书借阅管理系统

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

成绩评定表

课程设计任务书

一、实训题目和实训任务

1. 实训题目

图书借阅系统

2. 实训任务

设计一个图书借阅系统,功能包括:图书管理子系统,由管理员负责录入书籍(包括ISBN 号、书名、作者、数量等信息),废旧图书销毁等功能;图书借阅子系统(保存用户名、借阅的书的ISBN号、借阅日期等信息),负责图书的借阅、归还、续借、超期罚款等功能;查询子系统,包括可以查询书库中的书、客户借阅情况等。(可以自己发挥);信息保存到文件中。

3. 题目分析

一个学校的图书馆,其图书借阅管理系统应有如下几个功能:

1,图书管理员将图书的ISBN号,书名,书名,作者,价格等输入到系统中存储区来,以便以后使用。而且还能修改图书的内容。

2,读者可以按照图书的ISBN号或书名,作者到系统中查找并借阅所需要的图书,每人借阅图书的数量不超过20本。

3,建立文件,将信息保存在文件中。

方法:

1,建立一个关于图书的结构体,内含ISBN号,书名,作者,出版社和价格。

2,InsertDoc函数,负责新书信息的插入。

3,void sort_maopao函数,用冒泡法将图书的ISBN号以由小到大的顺序进行排列。4,void DeleteDoc函数,将废旧图书信息进行删除。

5,void Print_Book_Doc函数,输出图书的信息,方便读者选书。

6,void search_book函数,进行图书的查询。

7,void info_change函数,将图书信息进行修改。

8,主函数,用switch-case结构进行函数的调用。

4. 开发工具和环境

开发工具:Visual C++ 6.0, CodeBlock10.05,等

环境:Windows 7

二、软件设计

1. 关键技术分析

设计一个图书借阅系统,功能包括:图书管理子系统,由管理员负责录入书籍(包括ISBN 号、书名、作者、数量等信息),废旧图书销毁等功能;图书借阅子系统(保存用户名、借阅的书的ISBN 号、借阅日期等信息),负责图书的借阅、归还、等功能;查询子系统,包括可以查询书库中的书,信息保存到文件中。

2. 软件模块设计 图2-2-1

3. 软件界面设计

图2-3-1

图书管理系统 信息录入 图书排序 信息删除 信息浏览 信息查询 信息修改 图书借阅

三、软件测试及运行结果

1.测试方案

选择1,输入01 大学英语李梦华上海外语38

02 大学物理许嵩宁科学出版社51 选择2,输出图3-2-1

选择7,输出图3-2-2

2. 测试结结果

图3-2-1

图3-2-2

四、收获和体会

1.实习收获

在编程实践中,我才知道自己基础知识的不足,通过一段时间的努力学习,我的基础知识更加牢固,尤其是后面指针,结构体,链表,文件的知识了解的更加深入。其次是知识的运用,以前学到的知识都是片面的了解,一到编程序时就无从下手,现在能熟练的应用各种知识,使知识得到应用。最后是编程的技巧,从整体构型到各个函数的应用都有了很大的进步。

2. 实习体会

通过一段时间的编程实践,使我c语言的知识了解的更加深刻,知识面更加宽广。同时,在编程实践中遇到了很多困难,明显的了解到自己知识运用能力的不足,通过查书和与同学交流,使我取得了很大的进步。

在编程过程中,与同学的交流使我获得了很大的进步,老师的指导更是使我获益匪浅,一些难懂的知识经老师点拨瞬间变得豁然开朗。

以前看到能力强的同学编数百行的程序就吓住了自己,总觉得自己不行,但经过努力,当程序运行出来时才觉得,原来编程并不是很难,这极大地增加了自己的自信心,为以后的学习和工作打下了良好地基础,我认为这才是我最重要的收获。

五、源代码清单

#include

#include

#include

#include

struct books_list

{

char writer[20]; /*作者名*/

char title[20];

char ISBN[20]; /*书名*/

char publishinghouse[20]; /*出版单位*/

int price,borrowed; /*价格*/

struct books_list * next;

/*链表的指针域*/

};

struct books_list * Create_Books_Doc(); /*新建链表*/

void InsertDoc(struct books_list * head); /*插入*/

void sort_maopao(struct books_list * head ); // 排序

void DeleteDoc(struct books_list * head , int num); /*删除*/

void Print_Book_Doc(struct books_list * head); /*浏览*/

void search_book(struct books_list * head); /*查询*/

void info_change(struct books_list * head); /*修改*/

void save(struct books_list * head); /*保存数据至文件*/

/*新建链表头节点*/ struct books_list * Create_Books_Doc()

{

struct books_list * head;

head=(struct books_list *)malloc(sizeof(struct books_list)); /*分配头节点空间*/ head->next=NULL; /*头节点指针域初始化,定为空*/

return head;

}

/*保存数据至文件*/ void save(struct books_list * head)

{

struct books_list *p;

FILE *fp;

p=head;

相关文档
最新文档