图书管理系统c语言实训报告-
- 格式:doc
- 大小:70.50 KB
- 文档页数:14
北京师大学分校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完成的是用户登录,用户退出等功能。
目录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[])来实现,形参为:初始化的包括书号、书名、作者、总库存量、现库存量的结构体和一个书号。
实训课程设计报告题目:图书信息管理系统学院:信息学院系别:电子系年级: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 -本次实训课程设计中,我的工作是编程。
实训课程设计报告题目:图书信息管理系统学院:信息学院系别:电子系年级:2012级专业:电子信息科学与技术组长:**组员:******指导老师:***2014年1月1日目录摘要.................................................. 题目简介.............................................. 小组分工情况:........................................ 需求分析..............................................1. 编写目的...........................................2. 项目实施背景....................................... 3.业务流程图......................................... 4.数据流程图.........................................5. 系统运行环境....................................... 系统详细设计说明...................................... 1总体简述............................................ 2总体设计构想........................................ 3程序流程图..........................................4编码实现过程........................................ 测试报告.............................................. 个人实训总结报告...................................... 个人实训总结报告——** ................................ 个人实训总结报告——*** ............................... 个人实训总结报告——*** ............................... 编程总结.............................................. 附:源代码........................................... 摘要图书馆作为一种信息资源的集散地,在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息,图书和用户借阅资料繁多,包含很多的信息数据的管理。
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语言图书管理系统实验报告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项目报告设计题目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总结首先说说系统运用的原理,主要是是图书数据和学生数据的动态存储与调用,通过函数之间的相互调用实现系统各级菜单的层次递进。
实训课程设计报告题目:图书信息管理系统学院:信息学院系别:电子系年级:2012级专业:电子信息科学与技术组长:**组员:******指导老师:***2014年1月1日目录摘要 ................................................................................................- 3 -题目简介 ........................................................................................- 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 -个人实训总结报告——*** ................................................. - 23 -个人实训总结报告——*** ................................................. - 23 -编程总结 ..................................................................................... - 24 -附:源代码 ............................................................................... - 25 -摘要图书馆作为一种信息资源的集散地,在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息,图书和用户借阅资料繁多,包含很多的信息数据的管理。
基础编程能力实训报告题目: 图书管理系统专业年级:计算机科学与技术2013级姓名:学号:2014年06月20日1 实训题目与要求1.1 问题描述此系统可以完成对书籍信息的输入、删除、修改、排序等功能,提高图书管理效率,对图书进行合理规划与安排。
1.2 功能要求程序输出主菜单(如下),提示用户选择操作表1 主菜单在主菜单中选择1,要求输入图书信息,包括书本序号,书本名字,作者名字,书的价格;在主菜单中选择2,可查询已输入的图书信息;在主菜单中选择3,可通过查找书本的序号,来选择所要删除的图书信息;在主菜单中选择4,对已输入的图书信息,按照图书序号进行排序;在主菜单中选择5,显示图书信息;在主菜单中选择6,可通过查找书本的序号,来选择所要修改的图书,并对图书进行修改;在主菜单中选择7,建立一个名为asd.txt的文件,并将图书信息录入;在主菜单中选择8,退出图书管理系统。
2 图书管理系统的设计与功能实现2.1图1 系统模块图输入模块完成用户从界面输入图书的信息的功能;查询书籍信息模块完成用户从界面输入查询条件,在系统查询符合条件的图书信息,并在界面上显示的功能;删除书本信息模块完成用户从界面输入需要的图书序号,并将其从系统中删除的功能;书本信息排序模块完成对书本信息的排序的功能;显示书籍信息模块完成显示书本信息的功能;修改书籍信息模块完成用户从界面输入,在系统中查询定位,并将修改过的信息数据保存入系统的功能;录入图书信息模块完成用户从界面输入需要导入的文件路径名称,将信息输入系统的功能;2.2 数据结构在程序中,定义了如下结构体:typedef struct{int num;char Bname[50];char Wname[50];float score;}Book;其中Book.num是存储书本序号信息,Book.Bname存储书本名字信息,Book.Wname是存储书本作者名信息,Book.score存储书本价格信息。
C语言课程设计院系:工程学院姓名:王保成学号:20111000341 班号:051113指导教师:日期:一、需求分析:1、图书管理信息包括:登录号,书名,作者号,分类号,出版单位,出版时间,价格等。
设计图书管理系统。
2、程序的系统功能:(1)、系统以菜单方式工作;(2)、图书信息录入功能;(3)、图书信息浏览功能;(4)、图书信息查询功能;(5)、图书信息删除与修改。
3、测试数据(后附)。
二、概要设计:1:本系统包括两个抽象数据:图书库链表和借书者链表。
(1)定义图书链表类型为:ADT Abook数据对象 D={bi|bi=Booktype,i=1……n n>=o}数据关系 R={<bi-1,bi>|(bi-1,bi)=D,i=2……n}基本操作:Insert(n)操作结果:建立一个长度为n的链表或插入n个新结点。
Del(n)操作结果:从已建立链表中删除n个结点。
Print( )操作结果:输出已建立链表。
Search( )操作结果:按要求查找并输出已建立链表中的结点。
Borrow( )操作结果:按要求改变已建立链表中某一结点的相关信息。
return( )操作结果:按要求改变已建立链表中某一结点的相关信息。
(2)定义图书链表类型为:ADT Aborrow数据对象 D={ri|ri|borrowtype,i=1……n n>=1}数据关系 R={<ri-1,ri>|ri-1,ri=D,i=2……n}基本操作:creat(n)操作结果:建立一个长度为n的链表。
Insert(n)操作结果:插入n个新结点到已建立链表中。
Remove(n)操作结果:从已建立链表中删除n个结点。
2:主程序的流程:1选择系统(1)、录入图书信息(2)、浏览图书信息(3)、图书信息查询功能:1按登录号查询2按书名查询3按作者名查询4按分类号查询5按出版单位查询6按价格查询(4)、图书信息删除与修改1删除2修改(0)、返回三、详细设计:图书信息管理系统 图书信息录入 图书信息浏览 图书信息查询 返回图书信息删除与修改按书名查找struct book{char dlnum[10]; /*登录号/*char name[50]; /*书名/*char writer[20]; /*作者名/*char flnum[10]; /*分类号/*char pressname[50]; /*出版单位/*char presstime[20]; /*出版时间/*char price[10]; /*价格/*}books[N];四、调试分析1在最初进行模块划分是未将借书人信息管理作为一个单独摸块,致使调试时无法明确管理结借书者信息,造成书目链表混乱,重新分配后解决了这个问题2 原先想进行中文书名及人命输入输出,但由于未能找到相关信息资料,无法完成该操作,最终放弃该设计3 最初我们曾规定了一些变量以及结构体,但随着设计的进行深化,最初的结构体及变量无法满足需要,致使调试时出现不少混乱,后来我们重新规定了一下,解决了这些问题;4 程序的串联我们采取了循环控制与选择结构相结合的结构很好地解决了系统长时间运行及循环执行命令的问题,使演示系统现实化。
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)增加图书信息(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)。
信息的管理,包括新增⽤户、⽤户查询、保存⽤户等功能。
management.c完成的是⽤户登录,⽤户退出等功能。
Main函数也在这⼀源程序中。
book.h中的容是图书信息的管理中涉及的常量、结构体的定义和相关函数的声明。
防灾科技学院实训报告书专业网络工程系别灾害信息工程系课程 C语言程序设计报告题目基于文件的小型图书管理系统的设计与实现报告人刘亚茹班级及学号 105043113 指导教师刘颖带队教师刘颖实训时间 8.22-8.26 实训单位 4#301教务处监制说明报告要有实训目的、要求、原理简述、方法、步骤、实训体会等,具体内容按各系及实训教师要求。
以下模板内容,如果你的程序里没有体现,就不用写。
目录1 前言 (4)2 系统需求分析 (4)2.1 问题定义 (4)2.2 需求分析 (5)2.3 项目开发计划 (6)3 系统设计 (8)3.1 系统功能框架 (8)3.2 数据结构设计 (9)3.3功能模块设计 (11)4 系统实现 (12)4.1 系统硬件环境 (12)4.2 系统软件环境 (12)4.3 开发工具 (12)4.4 系统功能模块设计与实现 (12)4.4.1 图书管理界面 (12)5 系统测试 (28)5.1 测试用例设计 (28)5.2 测试结果分析 (28)实训体会 (28)1 前言图书管理系统对于现代图书馆而言,是能否发挥其教学科研的作用的至关重要技术平台。
随着当今社会发展,信息化水平逐步提高,对图书管理有了新的要求,因此,编写一个信息管理系统是十分有必要的。
2 系统需求分析2.1 问题定义该软件主要是实现对图书信息进行系统化的管理,本系统要求实现以下的几个基本功能:(1)要求把所有录入的数据以文件的形式,保存在硬盘上。
(2)实现简易的提示菜单界面,用所学的知识尽量实现良好的、美观的“人机界面”,便于软件的操作使用。
(3)管理员登录时,需要验证密码,密码输入超过三次,自动退出系统。
(4)图书管理功能:包括图书添加功能、图书修改功能、图书删除功能和图书查询功能;(5)读者管理功能:包括读者添加功能、读者修改功能、读者删除功能和读者查询功能;(6)借阅管理功能:借书功能,还书功能,续借功能。
2.2 需求分析(1) 要求把所有录入的数据以文件的形式,保存在硬盘上。
实用文档之"实训课程设计报告"题目:图书信息管理系统学院:信息学院系别:电子系年级:2012级专业:电子信息科学与技术组长:**组员:******指导老师:***2014年1月1日目录摘要................................................................................................ - 3 -题目简介........................................................................................ - 2 -小组分工情况:............................................................................ - 2 -需求分析........................................................................................ - 3 -1. 编写目的............................................................................. - 3 -2. 项目实施背景..................................................................... - 3 -3.业务流程图........................................................................ - 5 -4.数据流程图........................................................................ - 7 -5. 系统运行环境..................................................................... - 7 -系统详细设计说明 ....................................................................... - 8 -1总体简述............................................................................... - 8 -2总体设计构想....................................................................... - 8 -3程序流程图........................................................................... - 9 -4编码实现过程..................................................................... - 10 -测试报告...................................................................................... - 18 -个人实训总结报告 ..................................................................... - 27 -个人实训总结报告——** .................................................... - 27 -个人实训总结报告——*** .................................................. - 28 -个人实训总结报告——*** .................................................. - 29 -编程总结...................................................................................... - 30 -附:源代码................................................................................ - 31 -摘要图书馆作为一种信息资源的集散地,在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息,图书和用户借阅资料繁多,包含很多的信息数据的管理。
C语言程序设计实习报告——图书馆治理系统设计前言历时一周的运算机实习让我学到了很多知识。
换句话说,让我从头熟悉了C语言这门课程。
以前在我的脑海中,运算机编程,只是无数枯燥的代码,很是让人头疼的东西。
但此刻我改变了自己的观点,运算机也是一种很有乐趣的文化,值得我好好体味。
有句老话是这么说的“21世纪是信息爆炸的时期”,信息爆炸的要紧承担者确实是运算机、互联网。
从这一方面看,就寓意着今世大学生学好运算机有何等的重要。
运算机硬件的更新相当的神速,此刻都已经奔四核了,显卡也愈来愈高端,内存、硬盘都已经海量了。
这说明了什么?说明了此刻运算机的软件业的高速进展,软件的进展的基础是编程。
过去我只是知道如何去运用软件,关于它的功能是怎么实现的却是一无所知。
通过这次实习,我再也不是一个无知者,我此刻能够对一些简单的软件是如何运行的,它其中的隐秘是什么,有了自己的明白得。
这次实习,我按时完成了自己的课程设计——图书治理系统设计。
一开始,我对它超级陌生,全然无从下手。
无奈之下,决定静下心来,好好地把《C语言课程设计与学习指导》的讲义通读了一遍,茅塞顿开,其实写程序并非是一件难事,只要细心,思路清楚,并一步一步来,每次完成其中的一个模块,最后把每一个模块流畅地衔接起来,最后整个程序修饰一下,一个能够运行的C 语言程序就算是写成了。
众所周知C语言功能丰硕,表达能力强,利用灵活方便,应用广,目标程序效率高,可移植性好,既具有高级语言的优势,又具有低级语言的语言特点,因此C语言对咱们来讲很重要。
设计是一门重要的运算机基础课程,通过学习,学生不仅要把握高级程序设计语言的知识,更重要的是在实践中慢慢把握程序设计的思想和方式,培育问题求解和语言的应用能力。
这次上机实习,不但要使同窗们的程序设计能力上一台阶,同时要提高与程序设计和软件开发有关的各类综合能力。
这次实习只有短短的一周,加上接踵而至的期末考试,我没能把全数精力放在这次实习上,在很多地址还存在欠缺,因此在接下来的日子里,我还需要好好地学习C语言,提升自己在运算机方面的能力。
实训课程设计报告题目:图书信息管理系统学院:信息学院系别:电子系年级:2012级专业:电子信息科学与技术组长:**组员:******指导老师:***2014年1月1日目录摘要.......................................................................................... - 2 -题目简介 ................................................................................. - 2 -小组分工情况:..................................................................... - 2 -需求分析 ................................................................................. - 2 -1. 编写目的 ...................................................................... - 2 -2. 项目实施背景.............................................................. - 2 -3.业务流程图 ................................................................ - 3 -4.数据流程图 ................................................................ - 4 -5. 系统运行环境.............................................................. - 4 -系统详细设计说明................................................................. - 4 -1总体简述........................................................................ - 4 -2总体设计构想 ............................................................... - 5 -3程序流程图.................................................................... - 5 -4编码实现过程 ............................................................... - 5 -测试报告 ............................................................................... - 11 -个人实训总结报告............................................................... - 19 -个人实训总结报告——** ............................................ - 19 -个人实训总结报告——*** .......................................... - 19 -个人实训总结报告——*** .......................................... - 20 -编程总结 ............................................................................... - 20 -附:源代码.......................................................................... - 21 -摘要图书馆作为一种信息资源的集散地,在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息,图书和用户借阅资料繁多,包含很多的信息数据的管理。
基础编程能力实训报告题目: 图书管理系统专业年级:计算机科学与技术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);}}}。