c语言图书管理系统实践报告
c语言图书管理系统实践报告

北京师大学分校C程序设计实践报告题目:图书管理系统学院信息技术学院专业计算机科学与技术学生姓名龙海恩,少彬,鑫,麦淑玲指导教师姓名肖红玉指导教师单位信息技术学院2013 年 4 月11 日1、题目与要求编写一个图书管理系统,除了书上的功能之外,还要能做到读者借书还书,查看书籍排行榜,看到书籍的借阅记录和分类状况。
2、系统总体设计(要给出必要的文字说明及图示)本报告中蓝色字体为我们小组新增的图书信息。
2.1功能需求分析(明确系统的功能需求)(1)用户登录(2)系统主控平台(3)新增图书信息处理(4)浏览图书信息处理(5)查询图书信息处理(6)删除图书信息(7)保存图书信息处理(8)普通用户借书信息处理(9)普通用户还书信息处理(10)普通用户可查看已借书籍(11)查看排行榜(12)新增用户信息(13)查找用户(14)查看所有用户(15)保存用户信息(16)退出2.2系统功能模块划分(要给出系统功能模块图)(1)登录系统(2)增加图书信息(3)浏览图书信息(4)查找图书信息((1))按书名查找((2))按作者查找((3))按出版社查找((4))按出版日期查找((5))按ISBN查找((6))按图书类型查找(5)删除图书信息保存图书信息(6)图书排行榜(7)新增用户信息(8)查找用户信息(9)更新用户信息(10)删除用户信息(11)保存用户信息(12)退出系统((1))管理员退出系统((2))普通用户退出系统3、详细设计本系统包括图书信息管理和用户管理两大面,程序有三大模块,有三个源程序文件(management.c、book.c、user.c)和三个头文件(management.h、book.h、user.h)。
其中book.c完成的是图书信息的管理,包括新增图书、浏览图书、查询图书、删除图书、保存图书功能。
user.c完成的是用户信息的管理,包括新增用户、用户查询、保存用户等功能。
management.c完成的是用户登录,用户退出等功能。
C语言程序设计--图书管理系统--实训报告

目录1 前言 (2)2 系统需求分析 (3)2.1 问题定义 (3)2.2 需求分析 (3)3 系统设计 (3)3.1 系统总体设计 (3)3.2 功能模块设计 (4)4 系统实现 (10)4.1 系统硬件环境 (10)4.2 系统软件环境 (10)4.3 开发工具 (10)4.4 系统详细设计与实现 (10)4.4.1 系统菜单设计 (10)4.4.2 数据结构设计 (13)4.4.3 系统功能模块 (14)5 主要技术 (27)6 系统测试 (27)6.1 测试用例设计 (27)6.2 测试结果分析 (27)实训体会 (28)1 前言近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对庞大的信息量,传统的人工管理方式会导致图书管理上的混乱,人力与物力过多浪费,图书管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效、规范和实用的图书管理系统,对图书资料进行集中统一管理。
另一方面IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理革命,实现信息的自动化处理,提高了处理的及时性和正确性。
图书馆里工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。
图书管理系统采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,做到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。
2 系统需求分析2.1 问题定义此图书管理系统用于增加、删除图书,管理借阅者信息,方便检索书籍,及查找借阅者信息,适用于图书管理员使用。
2.2 需求分析本图书管理系统的主要功能包括如下:一图书管理:新书入库、删除图书;二借阅管理:借阅图书、归还图书;三查找管理:按书号查找、按书名查找、按作者查找;四信息管理:查看借阅者借阅的全部图书、查看全部超期未还的图书。
3 系统设计3.1 系统总体设计3.2 功能模块设计一 新书入库模块新书入库模块由函数Buy(ook &boo, char BuyNum[])来实现,形参为:初始化的包括书号、书名、作者、总库存量、现库存量的结构体和一个书号。
C语言图书管理系统实验报告

课程报告课程名称:程序设计实践专业班级:信息类1110学生姓名:学号:任课教师:学期:20101-2012学年第二学期课程报告任务书开发一个图书信息管理系统,图书信息包括:图书编号、书名、作者、出版社、类别、出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量等)。
使之能提供以下基本功能:(1)图书信息录入功能(图书信息用文件保存)--输入(2)图书信息浏览功能--输出(3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式):①按书名查询②按作者名查询③按照价钱排序④按出版时间排序等等(4)图书信息的删除与修改扩展功能:可以按照自己的程度进行扩展。
比如(1)简单的权限处理(2)报表打印功能(3)甚至根据自己情况,可以加上学生信息,并扩充为图书借阅系统。
(4)模糊查询(5)综合查询(6)统计功能比如统计处某一类别的图书信息或筛选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。
成绩评定教师:1 需求分析这是一个能简单管理图书的小型图书管理系统,其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。
通过这些信息使之提供以下功能:(1)图书信息创建功能。
其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。
(图书信息用文件保存)。
(2)图书信息查看功能。
用来查看各项图书信息。
(3)图书信息查找功能。
通过已知信息来查找想要的图书。
(4)图书信息的删除。
可以删除特定图书。
(5)图书信息的修改。
可以修改图书的各项信息。
(6)图书信息的排序功能。
按图书信息对录入的图书进行排序。
(7)菜单选择功能,此功能也是图书信息信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能2 概要设计⑴数据结构图书管理系统中主要的数据结构包含书名、图书书号、作者名、分类、出版社、出版时间、价格等;在处理过程中各项可以作为一本图书的不同属性来进行处理。
c语言实现图书管理系统实训报告

实训课程设计报告题目:图书信息管理系统学院:信息学院系别:电子系年级:2012级专业:电子信息科学与技术组长:**组员:******指导老师:***2014年1月1日目录摘要 ...................................................................................................................................- 2 -题目简介...............................................................................................................................- 2 -小组分工情况: ...................................................................................................................- 2 -需求分析...............................................................................................................................- 3 -1. 编写目的..................................................................................................................- 3 -2. 项目实施背景 ..........................................................................................................- 3 -3.业务流程图 .............................................................................................................- 4 -4.数据流程图 .............................................................................................................- 5 -5. 系统运行环境 ..........................................................................................................- 5 -系统详细设计说明 ...............................................................................................................- 6 -1总体简述....................................................................................................................- 6 -2总体设计构想 ............................................................................................................- 6 -3程序流程图................................................................................................................- 7 -4编码实现过程 ............................................................................................................- 8 -测试报告............................................................................................................................ - 15 -个人实训总结报告 ............................................................................................................ - 22 -个人实训总结报告——** - 22 -本次实训课程设计中,我的工作是编程。
c语言实现图书管理系统实训报告

实训课程设计报告题目:图书信息管理系统学院:信息学院系别:电子系年级:2012级专业:电子信息科学与技术组长:**组员:******指导老师:***2014年1月1日目录摘要.................................................. 题目简介.............................................. 小组分工情况:........................................ 需求分析..............................................1. 编写目的...........................................2. 项目实施背景....................................... 3.业务流程图......................................... 4.数据流程图.........................................5. 系统运行环境....................................... 系统详细设计说明...................................... 1总体简述............................................ 2总体设计构想........................................ 3程序流程图..........................................4编码实现过程........................................ 测试报告.............................................. 个人实训总结报告...................................... 个人实训总结报告——** ................................ 个人实训总结报告——*** ............................... 个人实训总结报告——*** ............................... 编程总结.............................................. 附:源代码........................................... 摘要图书馆作为一种信息资源的集散地,在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息,图书和用户借阅资料繁多,包含很多的信息数据的管理。
C语言设计的图书管理系统设计实践报告

C语言设计的图书管理系统设计实践报告1问题描述图书管理系统作为一个应用软件将为学校的老师和学生提供一个与学校图书馆图书以及个人信息进行交互的平台。
根据系统界面的提示信息,操作者就可以对图书信息进行查询,借阅,还书,登陆个人账户则可以个人账户信息,管理员通过登陆管理员账户可以整理和修改书籍和学生信息。
2开发环境visual C++ 6.03功能分析角色2: 学生4项目设计4.1 程序结构设计4.2数据结构设计程序中用到的特殊数据结构(非标准C的基本数据类型)。
存储学生数据的结构体:typedef struct information{char bookNum[10];char bookNam[50];char bookAut[20];float bookPri;int status;struct information *next;}info;存储图书数据的结构体:typedef struct student{char stuNam[20];char number[10];char passKey[20];int borrowSta;char key;struct student *next;}studentDat;4.3主要算法(1)查询书籍函数:findBo(2)登录函数: checkAcc(3)更改书籍函数: changeBo(4)删除书籍函数: delBook(5)添加书籍信息函数: addBook5程序运行及调试(1)进入系统(2)创建数据(3)主菜单(4)实现的主要功能6总结首先说说系统运用的原理,主要是是图书数据和学生数据的动态存储与调用,通过函数之间的相互调用实现系统各级菜单的层次递进。
操作者运行系统时需要先检查是否存在相应的数据文件,如果没有则说明系统首次运行,待初始化数据后,需要建立针对图书数据和学生数据的两个不同的独立链表,并且将链表数据存储到文件中,随后向各个函数传入链表首地址(首地址固定),根据各个函数功能的不同,如果需要更改学生或者图书数据,则直接通过对链表的删除、增加和查询实现对学生信息以及图书信息的访问、修改和调用操作。
C#程序语言图书管理系统实践报告

实验报告题目:图书信息管理系统院系:计算机系年级、专业: 08软件1班姓名:学号: 0808054128 指导教师:一、基本要求1、熟悉利用平台编写C#程序2、掌握C#语言的基本概念及语法3、掌握C#中面向对象的封装、继承、多态机制的使用方法4、掌握在C#中访问数据库的方法5、掌握基于C#的Windows的程序设计二、实践内容1、内容:图书信息管理系统2、要求:界面友好,布局合理。
数据库可采用Access,在系统中至少应该涉及到的操作有:数据库的连接、打开、关闭;数据库中的Command命令,检索数据、插入数据、修改数据、删除数据等三、实习内容前言要编一个好的程序出来不是那么容易的事情,首先要有一定的编程知识做基础。
这学期也只可以说是对C#有了初步的了解。
在编一个程序之前,首先要做的就是计划,有了一个完整的计划才能事半功倍。
我做的是图书管理系统,那么对图书的分类是个关键,这个分类要严格的按照《中国图书馆图书分类方法》来进行分类。
然后是对图书馆进行管理系统的需求分析。
一般的图书馆信息系统都包括系统管理,编目,图书流通,统计,查询等功能。
比较先进的还能够在一个界面下实现图书,音像,期刊的,设置暑假,暂离等等功能。
作为自己的系统,肯定要有自己的特色,可以根据自己的能力增加一些自己喜欢的功能在里面。
但是每个功能都由若干相关联的子功能模块组成,除此之外系统还包括信息系统必须具备的通用功能,比如权限的设置,以及数据的备份与恢复等,根据自己所设计的功能画出一个大概的树表。
接着要做的就是图书系统的数据库分析,数据库中大概需要几张表,需要存放那些响应的子功能的数据信息,其中图书信息是该系统最关键的表,用于存放图书的信息以及文献的信息,其他涉及文献信息的数据表,都只记录响应的编号,根据作为外键的编号字段想对应。
接着是对数据库的设计,首先是创建数据库,数据库各个字段的设置以及约束,都是在做的过程中该注意的问题,以免在做的过程中出现这样那样的错误,做一个完整的系统就要有明确的目的。
C语言图书管理系统实验报告完整版

C语言图书管理系统实验报告HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】课程报告课程名称:程序设计实践专业班级:信息类1110 学生姓名:学号:任课教师:学期:20101-2012学年第二学期课程报告任务书成绩评定教师:1 需求分析这是一个能简单管理图书的小型图书管理系统,其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。
通过这些信息使之提供以下功能:(1)图书信息创建功能。
其中图书信息包括:书名,作者名,书编号,分类,出版单位,出版时间,价格等。
(图书信息用文件保存)。
(2)图书信息查看功能。
用来查看各项图书信息。
(3)图书信息查找功能。
通过已知信息来查找想要的图书。
(4)图书信息的删除。
可以删除特定图书。
(5)图书信息的修改。
可以修改图书的各项信息。
(6)图书信息的排序功能。
按图书信息对录入的图书进行排序。
(7)菜单选择功能,此功能也是图书信息信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能2 概要设计⑴数据结构图书管理系统中主要的数据结构包含书名、图书书号、作者名、分类、出版社、出版时间、价格等;在处理过程中各项可以作为一本图书的不同属性来进行处理。
菜单函数的原型:void menu()函数的功能:调用菜单,使用各项功能 程序: void menu(){printf("\n\n*******************************<图书信息管理系统>*******************************\n");printf("-------------------------------------主菜单------------------------------------- \n");printf("\t\t\t <1;创建图书信息 > \n");printf("\t\t\t <2;查找图书信息 > \n");printf("\t\t\t <3;删除图书信息 > \n");printf("\t\t\t <4;修改图书信息 > \n");printf("\t\t\t <5;显示图书信息 > \n");printf("\t\t\t <6;按出版时间排序> \n");printf("\t\t\t <0;退出 > \n");printf("-------------------------------------------------------------------------------- \n");}2.新建文件函数的原型:int ReadinfoFromFile()函数的功能:建立文件储存数据程序int ReadinfoFromFile() f",&p->price);fscanf(fp,"%d",&p->type);if(p->type==1){if(head==NULL){head=p;p->next=NULL;}else{p->next=head;head=p;}}else{if(head_==NULL){head_=p;p->next=NULL;}else{p->next=head_;head_=p;}}}fclose(fp);return 0;}3.创建图书信息函数的原型:int chuangjian()函数的功能:记录图书的各项信息程序:int chuangjian() 找图书信息函数的原型:void chazhao()函数的功能:通过书名查找、作者查找、组合查找三种方式查找图书信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京师大学分校C程序设计实践报告题目:图书管理系统学院信息技术学院专业计算机科学与技术学生姓名龙海恩,少彬,鑫,麦淑玲指导教师姓名肖红玉指导教师单位信息技术学院2013 年 4 月11 日1、题目与要求编写一个图书管理系统,除了书上的功能之外,还要能做到读者借书还书,查看书籍排行榜,看到书籍的借阅记录和分类状况。
2、系统总体设计(要给出必要的文字说明及图示)本报告中蓝色字体为我们小组新增的图书信息。
2.1功能需求分析(明确系统的功能需求)(1)用户登录(2)系统主控平台(3)新增图书信息处理(4)浏览图书信息处理(5)查询图书信息处理(6)删除图书信息(7)保存图书信息处理(8)普通用户借书信息处理(9)普通用户还书信息处理(10)普通用户可查看已借书籍(11)查看排行榜(12)新增用户信息(13)查找用户(14)查看所有用户(15)保存用户信息(16)退出2.2系统功能模块划分(要给出系统功能模块图)(1)登录系统(2)增加图书信息(3)浏览图书信息(4)查找图书信息((1))按书名查找((2))按作者查找((3))按出版社查找((4))按出版日期查找((5))按ISBN查找((6))按图书类型查找(5)删除图书信息保存图书信息(6)图书排行榜(7)新增用户信息(8)查找用户信息(9)更新用户信息(10)删除用户信息(11)保存用户信息(12)退出系统((1))管理员退出系统((2))普通用户退出系统3、详细设计本系统包括图书信息管理和用户管理两大面,程序有三大模块,有三个源程序文件(management.c、book.c、user.c)和三个头文件(management.h、book.h、user.h)。
其中book.c完成的是图书信息的管理,包括新增图书、浏览图书、查询图书、删除图书、保存图书功能。
user.c完成的是用户信息的管理,包括新增用户、用户查询、保存用户等功能。
management.c完成的是用户登录,用户退出等功能。
Main函数也在这一源程序中。
book.h中的容是图书信息的管理中涉及的常量、结构体的定义和相关函数的声明。
user.h中的容是用户信息的管理中涉及的常量、结构体的定义和相关函数的声明。
management.h中的容是菜单及退出函数的声明。
3.1重要数据的数据结构设计(即结构体的声明、变量的定义、文件)一.头文件management.h1.显示菜单函数声明void show_admin_menu();void show_search_book_menu();void show_user_menu();2.退出系统函数声明void admin_exit();void user_exit();二.头文件book.h1.常量定义分别定义书名、出版社、出版日期、作者、ISBN、图书类型、借书读者、借阅图书的借阅量的最大长度。
(蓝色字体为我们小组新增的图书信息。
)#define MAX_BOOK_NAME 20#define MAX_PUBLISHER 20#define MAX_DATE 10#define MAX_AUTHOR 20#define MAX_ISBN 20#define MAX_SORT 10#define MAX_BORROW_USER 20#define MAX_BOOK_COUNT 100002.结构体类型定义定义一个结构体类型_book_info,使用typedef 语句自定义一个新类型book_info,新类型中共11个成员,分别是书名、作者、出版社、出版日期、ISBN、页数、用于标记借书还书、图书类型、借阅次数、借书读者、用于标记排行榜,用来描述图书的基本信息。
typedef struct _book_info{char book_name[MAX_BOOK_NAME];char author[MAX_AUTHOR];char publisher[MAX_PUBLISHER];char pub_date[MAX_DATE];char ISBN[MAX_ISBN];int pages;char borrow_size;char sort[MAX_SORT];int borrow_time;char borrow_user[MAX_BORROW_USER];int book_load_time;}book_info;定义一个结构体类型_book,使用typedef 语句自定义一个新类型book,其中成员有一个结构体变量bi和指向下一本图书的指针变量。
(此结构是存储图书信息的链表。
)typedef struct _book{book_info bi;struct _book* next;}book;3.函数声明(1)主要处理函数声明void init_book(); //图书模块初始化void load_books(); //从图书文件中加载图书信息void add_book(); //新增图书void view_book(); //浏览所有的图书void delete_book(); //删除图书void save_books(); //调用将图书信息保存到文件函数,给出提示信息void clear_books(); //从存中清除图书链表信息void books_charts(); //排行榜void update_book(); //更新图书(2)图书查询函数声明void search_book_by_name(); //按书名查询图书void search_book_by_author(); //按作者查询图书void search_book_by_publisher(); //按出版社查询图书void search_book_by_pubdate(); //按出版日期查询图书void search_book_by_isbn(); //桉书ISBN查询图书void search_book_by_sort(); //桉图书类型查询图书(3)辅助函数声明void save_books_to_file(); //将图书信息保存到文件book* get_last_book(); //得到图书链表的最后一个节点book* get_previous_book(book* p); //取得图书链表的最后一个节点void input_book(book_info* info); //输入一本图书信息void show_book(book_info* info); //显示图书信息void update_book_data(book_info* info); //更新图书信息int findstr(char* , char*); //查找字符串void borrow(book*); //普通用户借阅书籍void _return(book*); //普通用户还书void show_books_record(); //书的借阅记录标记三.头文件user.h1.常量定义#define MAX_USERNAME 10#define MAX_PASSWORD 10定义一个枚举类型_USER_TYPE,使用typedef 语句自定义一个新枚举类型USER_TYPE,枚举类型可能取两种值,0是管理员,1是普通用户。
typedef enum _USER_TYPE{ADMIN = 0,USER}USER_TYPE;2.结构体类型定义定义一个结构体类型_user_info,使用typedef 语句自定义一个新类型user_info,新类型中共3个成员,分别是用户名,密码,用户权限,用来描述用户的基本信息。
typedef struct _user_info{char username[MAX_USERNAME];char password[MAX_PASSWORD];USER_TYPE user_type;}user_info;定义一个结构体类型_user,使用typedef 语句自定义一个新类型user,其中成员有一个结构体变量ui和指向下一个用户的指针变量。
(此结构是存储用户信息的链表。
)typedef struct _user{user_info ui;struct _user* next;}user;3.函数声明(1)主要处理函数声明void init_user(); //用户模块初始化void load_users(); //从用户文件中加载用户信息USER_TYPE login(); //用户登录,返回用户类型void add_user(); //新增一个用户void search_user(); //查找一个void save_users(); //调用将用户信息保护到文件函数,给出提示信息void clear_users(); //从存中清除用户链表信息void view_users(); //查看所有用户(2)辅助函数声明void save_users_to_file(); //将用户信息保存到文件user* get_last_user(); //得到用户链表的最后一个节点user* get_previous_user(user* p); //得到用户节点p的前一个节点user* find_user(char* name); //从用户链表中按用户名查找一个用户信息void show_user(user_info* info); //显示一个用户信息void input_user(user_info* info); //输入一个用户信息void delete_user(user* p); //从链表中删除一个用户信息void update_user(user* p); //更新一个用户信息四.模块化设计management.c2.函数指针数组admin_func存储的是管理员权限操作主菜单所对应的函数。
void (* admin_func[])() ={add_book,view_book,show_search_book_menu,delete_book,update_book,save_books,books_charts,add_user,search_user,save_users,view_users,admin_exit};其他函数基本没多大改变,跟书中一样。
五.模块化设计book.c1.预处理增加了两个语句:int charts[MAX_BOOK_COUNT] = {0}; //声明全局变量,排行榜extern char borrow_user[20]; //调用其他源文件已声明过的变量2.主要处理函数(1).查找图书的几个函数中:void search_book_by_name();void search_book_by_author();void search_book_by_publisher();void search_book_by_pubdate();void search_book_by_isbn();void search_book_by_sort();均加了借书还书代码。