
C语言课程设计图书管理系统Books Management System学生姓名 学院名称 学号 班级 名称计算机科学与技术指导学生2016年5月10日一、需求分析为了满足图书管理的要求,通过计算机技术给书籍管理人员和读者借、还书带给便利。使用c语言编写了书籍管理功能。本功能主要实现书籍资料管理的系统,通过此功能可对图书馆库存图书资料进行管理和维护操作。实现了图书馆内管理的一般系统,包含检索、借书、还书、添加、侵权、修改图书资料等。所设计的功能以菜单方法工作,为用户提供清晰的应用提示,依据用户的选择来进行这些处理,所以在此过程中还能尽可能的兼容用户使用过程中应该出现的异常现象。图书资料包含在库状态等。图书资料的录入和显示要求有一定的规范文档,录入的书籍资料用文档方式保留,并可以对其进行浏览、检索、等完全操作。整个流程实现操作,对书籍资料的操作逐个地进行,一个图书资料的更改不应影响其它的书籍记录。;这五个函数时整个书籍管理功能的全部菜单句柄,Book_Entering();为功能主界面,步入时可选择步入流程和退出流程。menu1();为步入流程时表明的系统菜单,在此菜单可以选择录入、保留图书资料,也可选择步入这些子系统。

Book_Inquire();此菜谱为步入书店管理功能的菜谱,在此可以选择添加、侵权、修改图书等操作。cxmenu();为检索功能的菜谱,在此可以选择按书名、编号、图文等形式进行检索书刊。jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文档的保存操作。(4)、void Book_Inquire(struct SqList &SL);这个变量为次序表的输出数组,把顺序表的头传给变量后,可输出整个次序表的所有资料。、(5)、void Book_Borrow(struct SqList &SL);这个变量为保留资料到文档的变量,使用时将顺序表的头传给变量,变量可将整个次序表的所有资料存入到硬盘文件中。并覆盖掉源文件,以便之后调用。 (9)、void Book_Borrow(struct SqList &SL)、void Book_Return(struct SqList &SL);这两个函数是借书还书的变量,在借还后功能会修改图书的在库资料。调用时将顺序表取值带来到主函数。并会出提示信息让用户前往菜单保存资料。3.实现注释:这个实用的大型书店管理流程4.结构核心设计:书籍管理功能主界面流程图图书管理功能流程图图书检索功能主界面流程图图书借还功能主界面流程图5.设计过程中的看法与流程中的不足:成为年级末的一项课程,主要靠编出来的功能来考察我们所掌握的完全理论常识及实际解决难题的能力,通过此次c语言课程设计,巨大程度上锻炼了我们写程序的动手能力和自主思考能力。

利用所学知识,开发大型实用的使用功能,掌握运用C语言编写调试使用功能流程,对于我们独立开发使用功能并进行数据处理的综合能力是一个很大的提高。总的来说这个流程大致实现了作文的要求,所以这套流程一直存在着太多的难题与不足。比如,没有对页面进行操作,只是实现了简单的系统,流程写的有点繁琐,不是那么井然有序,条理清晰,流程注释也不是很完善,对信息处理功能还有些不足之处,提示信息不明晰,对于数据的错误输入处理不是很完善等等。这个功能主要是我自己编写的,同样也得到了学生和学生的一些帮助。我在做功能的过程中也碰到了好多难题,有的是常识不足,有的是权衡不够周全,。事实表明,只靠自己的知识面还是很窄,独立处理难题能力不是很强,之后还要提高对c语言的学习。 我觉得对于C语言编写的流程来说,应用方式大致都是一样的,但是即使要优化的话,就是要改进一些硬件,尽量把图标编写清楚,提示信息全面,快捷易用。三、用户指南:上面,我大致介绍一下我的功能的主要系统和注意事项:当运行此流程时,其次步入功能主界面,然后可以选择1.步入功能,2.退出功能。选择1后步入功能,然后表明系统菜单按数字键选择所需服务。功能菜单中,1录入所有图书资料,2进入书店管理功能,3进入书店检索功能,4进入书店借还功能,5保存所有书籍资料,6显示菜单,7返回上级菜单。

当出现"请选择"时,需要输入选项前的数字,输完以后按回车(下同)。首次运行功能需要先选择1录入库存书籍资料,然后再选择其他操作。当选择2时会步入书店管理功能,在这里可以选择添加、修改资料等操作,需要注意的是每次执行完添加、修订等操作后需要手动选择保留图书资料的操作,不然磁盘文件资料不会改变(下同)。返回上级菜单进入书店检索功能、书籍借还功能的操作和管理功能的差不多,用户可自己尝试使用,一切资料最终均以磁盘文件方式保留,但是格式固定,在输入和输出均按这样文档,用户在使用时必须要按这样文档输入,如果会出现文件资料错误。四、调试与试验:上机操作(截图)功能主界面(选择数字进入相应的选项)选择1进入功能,然后出现书籍初始化菜单;选择4进入查询功能vs c语言图书管理系统课程设计,然后出现查询库存资料;选择2输入图书编号,借书功能不仅表明库存;选择3输入图书编号,还书系统不仅表明库存;选择4进入查询功能,然后出现查询库存资料;五、小节:在这一个星期的实践中,通过编写这个书店管理功能,我感悟到了c语言学习的实用性。将理论和实践结合在一起,用先进的计算机工具快捷人们的人生。C语言程序的汇编首先要从全局考虑,把自己编写整个流程的精神都写在草稿上,这种有助于自己编写流程,在编写时要构建注释,方便其他人理解程序。

编写的流程从理论上来说并没有错,但以上机就问题不断。甚至有些课本上的常识照搬不变,也不能得到正确的结果。有时一个程序改了一遍又一遍,但就是不能成功,编程变得枯燥乏味,看似简单的流程题,在调试时却屡次出错。经反复的改动后,结果正确了,这时所有的乏味都变得那么无力vs c语言图书管理系统课程设计,所有都是值得的。我觉得,开发一套系统,最重要的是细心,所以思考要全面,结合实际,充分考虑到客户的需求和现实意义。不管怎么功能,只用运用到实际使用中,才具备先现实意义。 所以c语言程序的实用性很强,我们以前还要特别努力认真地学习编程语言。参考文献:[1] 黄明等合著《C语言课程设计》北京:电子工业出版社[2] 郭翠英编著《C语言课程设计案例精编》北京:中国水利水电出版社[3] 宁正元《数据结构(c语言)》 南京:东南大学出版社。2000年6月第1版[4] 严蔚敏等 《数据结构(c语言版)》 北京:清华大学出版社,1997年4月第1版[5] 谭浩强编著《C程序设计题解与上机指导(第3版) 》北京:清华大学出版社[6] 谭浩强编著《C程序设计(第3版) 》北京:清华大学出版社附录: 源程序代码/** * 任务:C语言教材设计 * 班级:13计转本 * 学号:20130566140 * 姓名:张朝柱 * 实验时间:2016-3-22 * 本流程的系统是:书籍管理功能*/#include<stdio.h>#include<iostream.h>#include<malloc.h>#define BOOKNUMBER 5#define LIST_SIZE 10//顺序表的初始形状#define ADD_SIZE 10//顺序表的总量struct SqList{struct BOOK_SYSTEM * elem; //这种类型的起始地址int length;//顺序表中元素的个数int listsize;//顺序表的分配的空间形状};//采用结构体定义每本书籍的编号,书的名称,书的图文,书的人数等资料。
struct BOOK_SYSTEM{int book_id;//编号char book_name[50];//昵称char book_author[20]; //作者int book_number;//人数};void GUI_human_computer(void) //人机交互界面{cout<<"/**********************************************************************/"<<endl;cout<<"/**********************************************************************/"<<endl;cout<<"\t\t\t图 书 管 理 系 统"<<endl;cout<<endl;cout<<"\t\t输入数字1:\t初始化5本书的资料并保留到书库中\t"<<endl;cout<<"\t\t输入数字2:\t借阅书籍;并且表明书籍库存的资料\t"<<endl;cout<<"\t\t输入数字3:\t返还图书;并且表明还书后库存的资料\t"<<endl;cout<<"\t\t输入数字4:\t查阅书籍库存资料\t"<<endl;cout<<"/*********************************************************************************/"<<endl;cout<<"/*********************************************************************************/"<<endl;}void Book_Entering(struct SqList &SL) //SL.elem->book_name SL是次序表的函数名; SL.elem是书籍结构的次序表头变量名{//int number;int i=0;cout<<"录入5本图书资料"<<endl;for(i=;i<BOOKNUMBER;i++){cout<<"请录入第"<<i+1<<"本书的资料(格式:编号 书名 作者 数量):"; //因为函数的函数是从开始cin>>SL.elem[i].book_id; //cin>>SL.elem->book_id; //这种出现的错误是因为一直给第一个elem元素复制cin>>SL.elem[i].book_name;cin>>SL.elem[i].book_author;cin>>SL.elem[i].book_number;SL.length++;//书库中有几种书}cout<<"五本图书信心录入完毕!"<<endl;}void Book_Borrow(struct SqList &SL) //借书我个人觉得反正借完,即库存为空的时候,这个书的编号还是觉得存在的{int i=0,ID=;cout<<"请输入你所借书的编号:";cin>>ID;for(i=;i<SL.length;i++){if((SL.elem[i].book_id==ID)&&(SL.elem[i].book_number>=1)) //因为寻找了所借书的编号{cout<<"成功提示: 找到图书!"<<endl;cout<<"图书资料为:";cout<<SL.elem[i].book_id<<" "<<SL.elem[i].book_name<<" "<<SL.elem[i].book_author<<" "<<SL.elem[i].book_number<<endl;SL.elem[i].book_number--;cout<<"成功提示: 借书成功!"<<endl;cout<<"图书资料为:";cout<<SL.elem[i].book_id<<" "<<SL.elem[i].book_name<<" "<<SL.elem[i].book_author<<" "<<SL.elem[i].book_number<<endl;return ;}}cout<<"错误提示: 没有你所要借的书籍!"<<endl;}void Book_Return(struct SqList &SL){int i=0,ID=;cout<<"请输入你所还书的编号:";cin>>ID;for(i=;i<SL.length;i++){if(SL.elem[i].book_id==ID) //因为是该书库的书籍{cout<<"成功提示: 是本藏书的著作!"<<endl;cout<<"图书资料为:";cout<<SL.elem[i].book_id<<" "<<SL.elem[i].book_name<<" "<<SL.elem[i].book_author<<" "<<SL.elem[i].book_number<<endl;SL.elem[i].book_number++;cout<<"成功提示: 还书成功!"<<endl;cout<<"图书资料为:";cout<<SL.elem[i].book_id<<" "<<SL.elem[i].book_name<<" "<<SL.elem[i].book_author<<" "<<SL.elem[i].book_number<<endl;return ;}}cout<<"错误提示: 你所还图书不在本藏书中!"<<endl;}void Book_Inquire(struct SqList &SL){int i,ID;cout<<"请输入你要查询书刊的存货(图书的编号):";cin>>ID;for(i=;i<SL.length;i++){if(SL.elem[i].book_id==ID) //因为是该书库的书籍{cout<<"成功提示: 是本藏书的著作!"<<endl;//cout<<"图书资料为:";//cout<<SL.elem[i].book_id<<" "<<SL.elem[i].book_name<<" "<<SL.elem[i].book_author//<<" "<<SL.elem[i].book_number<<endl;cout<<"该书的存货为:"<<SL.elem[i].book_number<<endl;return ;}}cout<<"错误提示: 您查询的著作不在本藏书中!"<<endl;}int main(void){struct SqList SL;//SL 表示次序表的类型的 变量名;struct BOOK_SYSTEM Book;//Book 结构体类型名SL.elem=NULL;SL.elem=(struct BOOK_SYSTEM *)malloc(sizeof(struct BOOK_SYSTEM)*LIST_SIZE); //开辟10个struct BOOK_SYSTEM 这个类型的次序表if(SL.elem==NULL){cout<<"错误提示: 内存申请失败!"<<endl;return ;}else{SL.length=0;SL.listsize=LIST_SIZE;}int command=;//指示字函数GUI_human_computer();while(1){cout<<"请输入你要进行操作的指示字:";cin>>command;switch(command){case 1:Book_Entering(SL);//五本书的录入函数break;case 2:Book_Borrow(SL);break;case 3:Book_Return(SL);break;case 4:Book_Inquire(SL);break;default: cout<<"错误提示: 命令字有误!"<<endl;break;}}return ;}录入所有图书信 息步入书店管理系 统显示菜 单进入书店检索系 统进入书店借还系 统保存所有书籍信 息返回上级菜 单图书管功能主界面开始显示一切书籍资料按编号查询书刊按书名查询书刊按作者查询书刊保存所查询书刊的资料前往上级菜 单图书检索功能主界面借书还书离开上级菜单图书借还功能
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-118510-1.html
也只能是核战
经济下行压力大是最好的借口
那个女的是