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

合集下载

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语言程序设计--图书管理系统--实训报告

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语言实现图书管理系统实训报告

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语言实现图书管理系统实训报告

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

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

C语言设计的图书管理系统设计实践报告

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语言图书管理系统实验报告完整版

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()函数的功能:通过书名查找、作者查找、组合查找三种方式查找图书信息。

图书管理系统C语言程序设计实验报告

图书管理系统C语言程序设计实验报告
scanf("%f",&f);
books[i].price=f;
i++;
flushall();
printf("is Continue(y/n)?:");
scanf("%c",&isCon);
}
printf("\n --%d种图书信息输入完毕!--\n",i);
printf("\n按任意键返回主菜单!");
{
FILE*fp;
int i;
char filename[40];
//clrscr();
printf("\n input SAVE filename=");
scanf("%s",filename);
if ( (fp=fopen(filename, "w")) == NULL)
{
printf("\n %s file NOT open! press any key exit system.");
printf("\n input READ filename=");
scanf("%s",filename);
if ( (fp=fopen(filename, "r")) == NULL)
{
printf("\n %s file NOT open! press any key exit system.");
〔2〕执行编译操作,并根据提示调试此程序,排除所有的错误和警告。直到编译成功为止。
〔3〕执行运行操作,逐一对每个模块进行调试,直到全部程序运行成功为止。

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

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

工程实践1项目报告设计题目C语言图书管理系统学生姓名杨伟学号**********所在学院计算机学院年级班级13级6班指导教师李莉丽2014年 6 月成都信息工程学院计算机学院目录1 问题描述 02 开发环境 03 功能分析 04 项目设计 04.1 程序结构设计 04.2 数据结构设计 (1)4.3 主要算法 (2)5 程序运行及调试 (5)6 总结 (11)7 主要源代码 (12)参考文献 (57)1问题描述图书管理系统作为一个应用软件将为学校的老师和学生提供一个与学校图书馆图书以及个人信息进行交互的平台。

根据系统界面的提示信息,操作者就可以对图书信息进行查询,借阅,还书,登陆个人账户则可以个人账户信息,管理员通过登陆管理员账户可以整理和修改书籍和学生信息。

2开发环境visual C++ 6.03功能分析角色1: 管理员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)添加书籍信息函数: addBookYN5 程序运行及调试(1)进入系统开始结束 继续?输入书信息排序插入链表 存入文件(2)创建数据(3)主菜单(4)实现的主要功能6总结首先说说系统运用的原理,主要是是图书数据和学生数据的动态存储与调用,通过函数之间的相互调用实现系统各级菜单的层次递进。

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

基础编程能力实训报告题目: 图书管理系统专业年级:计算机科学与技术2013级姓名:学号:2014年06月20日1 实训题目与要求问题描述此系统可以完成对书籍信息的输入、删除、修改、排序等功能,提高图书管理效率,对图书进行合理规划与安排。

功能要求程序输出主菜单(如下),提示用户选择操作表1 主菜单在主菜单中选择1,要求输入图书信息,包括书本序号,书本名字,作者名字,书的价格;在主菜单中选择2,可查询已输入的图书信息;在主菜单中选择3,可通过查找书本的序号,来选择所要删除的图书信息;在主菜单中选择4,对已输入的图书信息,按照图书序号进行排序;在主菜单中选择5,显示图书信息;在主菜单中选择6,可通过查找书本的序号,来选择所要修改的图书,并对图书进行修改;在主菜单中选择7,建立一个名为的文件,并将图书信息录入;在主菜单中选择8,退出图书管理系统。

2 图书管理系统的设计与功能实现图1 系统模块图输入模块完成用户从界面输入图书的信息的功能;查询书籍信息模块完成用户从界面输入查询条件,在系统查询符合条件的图书信息,并在界面上显示的功能;删除书本信息模块完成用户从界面输入需要的图书序号,并将其从系统中删除的功能;书本信息排序模块完成对书本信息的排序的功能;显示书籍信息模块完成显示书本信息的功能;修改书籍信息模块完成用户从界面输入,在系统中查询定位,并将修改过的信息数据保存入系统的功能;录入图书信息模块完成用户从界面输入需要导入的文件路径名称,将信息输入系统的功能;数据结构在程序中,定义了如下结构体:typedef struct{int num;char Bname[50];char Wname[50];float score;}Book;其中是存储书本序号信息,存储书本名字信息,是存储书本作者名信息,存储书本价格信息。

算法设计图2 主函数流程图主函数的作用主要是调用main函数显示主界面,使用printf函数将菜单选项输出在屏幕上,供用户读取选择。

通过读取用户的输入,调用switch函数对用户的输入进行处理,使用while 函数实现用户的选择性的重复操作。

图3 输入函数流程图输入函数的主要作用是完成书籍信息的输入功能,用户先输入书本的实际数量,再输入书本序号、书名、作者名和书本价格并保存到数组中。

图4 查询函数流程图查询函数的作用主要是为完成查找某书籍信息的功能,用户在使用时先输入要查找的书本序号,然后在保存有书籍信息的数组中查找该项,若找到,则显示该项;否则,显示无此书。

图5 删除函数流程图删除函数的主要作用是完成删除某本书籍信息的功能,用户先输入一个要删除的书本序号,然后在保存有书籍信息的数组中查找该项,若找到,则删除该项;否则,显示找不到要删除的书本信息。

程序代码设计⑴主函数需要读取用户所输入的选项来调用其他功能的函数,从而实现程序的各个功能;void main(){…}使用while来循环j值,供用户输入选项,程序判断后进入对应模块,并调用相应的功能函数进行运算,并且使用break在调用完函数后退出switch语句。

⑵void input(Book*a,int*n){…}输入函数,定义结构体类型指针p,printf语句提示用户输入信息,添加for循环,将用户输入的信息保存入数组中。

void find(Book*a,int n){…}查找函数定义结构体指针p,printf语句提示用户输入信息,输入num 后,for循环嵌套if语句按照书本序号查找对应的书本信息,break跳出循环。

void del(Book*a,int*n){…}删除函数定义结构体指针p,printf语句提示用户输入信息,输入要删除的书本序号,对应结构体中已存有的num,for循环中嵌套if语句查找并删除对应的书本信息,break跳出循环。

void sort(Book*a,int n){…}排序函数,采用冒泡法按照书本序号对书籍进行排序。

void display(Book*a,int n){…}输出函数定义结构体p,for循环输出书本信息。

void wenjian(Book*a,int n){…}定义指针变量fp,判断所指向的文件是否存在,定义结构体指针p,使用fprintf函数将数据输入文件中。

void xiugai(Book*a,int n){…}修改函数定义结构体指针p,printf语句提示用户输入信息,输入要修改的书本序号,对应结构体中已存有的num,for循环中嵌套if语句查找并修改对应的书本信息。

void menu(){…}几个printf语句在界面显示出供用户选择的操作框。

测试与调试3实训总结学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。

即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。

只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。

实训期间,学习到很多东西,不仅使我在理论上c语言有了全新的认识,在实践能力上也得到了提高,将课本上的死知识应用于实践中,程序编写是以后工作和学习的基础,第一次尝试编写较复杂的程序,发现以前一直忙于理论知识的学习,这次实训是抽象的理论知识很好的应用,编写过程中,在不断地错误改正中,发现了自己很多知识的理解及联系性的不足,因此,在以后的学习中,我会更加的有的放矢,弥补自己知识面的不足,使自己能更好的牢固掌握本专业知识,完善自我。

附录#include""#include""#include""#define SIZE 80typedef struct{i nt num;c har Bname[50];c har Wname[50];f loat score;}Book;void input(Book*a,int*n){Book*p;i nt i=1;s ystem("cls");p rintf("\n请输入书的序号(1-80)");s canf("%d",n);p rintf("\n请输入书本信息(书本序号/书名/作者/单价):");for(p=a;p<a+*n;p++){printf("\n%d:",i++);scanf("%d%s%s%f",&p->num,p->Bname,p->Wname,&p->score);}printf("按回车键返回:");getch();}void find(Book*a,int n){int k=0;int num;Book*p;system("cls");printf("\n请输入要查询的书的序号");scanf("%d",&num);for(p=a;p<a+n;p++)if(num==p->num){k=1;printf("已找到,是:%d\t%s\t%s\t%.lf\n",p->num,p->Bname,p->Wname,p->score);break;}if(!k)printf("无此书!\n");printf("按回车键返回:");getch();}void del(Book*a,int*n){int i,j,k=0;Book*p;int num;system("cls");printf("\n请输入要删除的书的序号:");scanf("%d",&num);for(i=0,p=a;p<a+*n;i++)if(num==(p+i)->num){k=1;for(j=i;j<*n-1;j++)*(p+j)=*(p+j+1);(*n)--;break;}if(!k)printf("找不到要删除的书本信息!\n");printf("按回车键返回:");getch();}void sort(Book*a,int n){int i,j;Book t;for(i=0;i<n-1;i++)for(j=0;j<n-i-1;j++)if((a[j].num)>(a[j+1].num)){t=a[j];a[j]=a[j+1];a[j+1]=t;}printf("\n输出排序结果:\n");for(i=0;i<n;i++)printf("%d\t%s\t%s\t%.lf\n",a[i].num,a[i].Bname,a[i].Wname,a[i].score);printf("\n");printf("按回车键返回:");getch();}void display(Book*a,int n){Book*p;for(p=a;p<a+n;p++)printf("%d\t%s\t%s\t%.lf\n",p->num,p->Bname,p->Wname,p->score);printf("\n");printf("按回车键返回:");getch();}void wenjian(Book*a,int n){F ILE *fp;B ook*p;i nt i;s ystem("cls");fp=fopen("","w+");i f(fp==NULL)printf("打开失败\n");e lse{for(i=0,p=a;i<n;i++,p++)fprintf(fp,"%d%s %s %f\n",p->num,p->Bname,p->Wname,p->score);printf("写入成功\n");}p rintf("\n");p rintf("按回车键返回:");g etch();}void xiugai(Book*a,int n){B ook*p;i nt i,m;s ystem("cls");p rintf("请输入要修改的书号:");s canf("%d",&m);f or(p=a;p<a+n;p++)if(m==p->num){printf("请输入修改后的信息(书号/书名/作者/单价)\n");scanf("%d%s%s%f",&p->num,&p->Bname,&p->Wname,&p->score);}printf("\n");printf("按回车键返回:");getch();}void menu(){system("cls");printf("\n\n\n\t\t\t 欢迎使用图书管理系统\n\n\n");printf("\t\t\t*********************************\n");printf("\t\t\t* 主菜单 *\n");printf("\t\t\t*********************************\n\n\n");printf("\t\t 1 输入 2 查询\n\n");printf("\t\t 3 删除 4 排序\n\n");printf("\t\t 5 显示 6 修改\n\n");printf("\t\t 7 录入 8 退出\n\n");printf("\t\t 请选择[1/2/3/4/5/6/7/8]:");}void main(){int j,num;Book book[SIZE];while(1){ menu();scanf("%d",&j);switch(j){case 1: input(book,&num);break; case 2: find(book,num);break;case 3: del(book,&num);break;case 4: sort(book,num);break;case 5: display(book,num);break; case 6: xiugai(book,num);break; case 7: wenjian(book,num);break; case 8: exit(0);}}}。

相关文档
最新文档