程序设计综合实习报告-图书馆管理系统

一、《可行性研究报告》
1.项目由来
随着科学技术的不断提高,计算机科学日渐成熟, 作为计算机应用的一部分,使用计算机对图书信息进行管理,具有手工管理所无法比拟的优点。本系统主要实现对图书馆信息的管理。其内容主要可分为两大块:图书信息的服务系统和图书的综合管理系统。图书的使用对象是借阅者,例如学生,教师;管理者是图书馆的管理员。因此根据这些信息,本系统的主要功能就是:实现图书馆图书信息的管理和维护,如用户信息管理,图书馆规则维护,新书入库,整理图书,修改图书信息和进行查询等;以及服务系统的图书信息查询,图书的借出和归还等功能图书信息管理系统能够为用户提供充足的信息和快捷的查询手段。这些优点能够极大地提高图书信息管理的效率,也是图书管理的科学化、数字化、正规化管理,与世界接轨的重要条件。用计算机制作的图书信息管理系统还可以通过功能强大的Internet网络及时的向读者发布图书的最新动态,所以,开发这样一套管理软件成为很有必要的事情。
HANDLE hndl=GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_SCREEN_BUFFER_INFO csbi ;
GetConsoleScreenBufferInfo(hndl,&csbi);
打开文件,对借还书信息进行查询。
4.退出该模块。
五.程序源代码
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include<ctype.h>
#include<windows.h>
int clrscr()
{
(2)还书:从借书文件中读出与读者有关的记录,查阅所借日期,如超期(1个月)作罚款处理。
(3)查询:通过借书文件,库存目录文件查询读者情况、图书借阅及库存情况,打印统计表。
3可行性
本次可行性分析是按照软件工程的规范步骤进行的,即按复查项目目标和规模,研究目前正使用的系统,导出新系统的高层逻辑模型,重新定义问题这一循环反复的过程进行。然后提出系统的实现方案,推荐最佳方案,对所推荐的方案进行经济、技术、用户操作和法律的可行性分析,最后给出系统是否值得开发的结论。(1)技术条件方面的可行性
将借书卡的卡号、借书卡人姓名、学号或工号、备注各信息放入结构体中,然后将这些信息存入到文件中。
2.选择2进入删除借书卡操作
打开存入图书信息的文件,按照卡号进行删除。
3.选择3进入修改借书卡操作
打开存入图书信息的文件,对借书卡的卡号、借书卡人姓名、学号或工号、备注各信息进行修改。
4.选择4进入查询借书卡操作
现在,这类相关的管理系统已广泛的应用在各行各业,成为各行业提高相关管理效率的重要手段。图书信息管理系统也在日益广泛地应用于各图书馆的管理中,大大提高了图书管理的相关管理效率。
2可选方案
(1)借书:输入读者借书证号。系统首先检查借书证是否有效,若有效,于第一次借书的读者,在借书证上建立档案。否则,查阅借书文件,检查该读者所借图书是否超过20本,若已达20,拒借,未达20本,办理借书(检查库存,修改库存目录并将读者借书情况录入借书文件。)
2.选择2进入删除图书操作
打开存入图书信息的文件,按照书号进行删除。
3.选择3进入修改图书操作
打开存入图书信息的文件,可以对图书的书号、书名、作者、出版社 、书价、剩余本数各基本信息进行修改。
4.选择4进入浏览图书操作
输入所要查找图书的书号进行图书的查找
5.退出该模块。
3)借书卡管理
1.选择1进入增加借书卡操作
三.《总体设计说明》
软件结构图
4.《详细设计说明书》
各模块程序流程图和算法:
(1)登入界面
1.选择1进入图书馆信息管理模块
2.选择2进入借书卡管理模块
3.选择3进入图书借还管理模块
4.退出系统
(2)图书信息管理
1.选择1进入增加图书操作
将图书的书号、书名、作者、出版社 、书价、剩余本数各基本信息放入一个结构体中,然后将这些信息存入到文件中。
成本/效益分析结果:效益>成本;
技术可行:现有技术可完成开发任务;
操作可行:系统能被现有的工作人员快速掌握并使用;
法律可行:所使用工具和技术及数据信息不违反法律。
使用本系统的人员均有一定计算机应用基础,系统维护员由计算机的专业人员担任,所有人员都要经过本系统的使用培训。经过简单培训人员就会熟练使用本软件。
4.结论:
1.需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行;
2.需要对开发目标进行某些修改之后才能开始进行;
3.本方案通过实际研究表明可行
二.《需求规格说明书》
1目标
本系统通过强大的计算机技术给图书管理人员和读者借、还书带来便利。本系统除了图书馆内管理的一般功能还外,还包括网上在线查询图书信息、查询本人的借阅情况和续借等功能。目标还包括:
打开存入图书信息的文件 ,按照卡号查找借书卡相关信息。
5.退出该模块。
(4)借书还书管理
1.选择1进入借书操作
将借还书的借书卡号、借书卡人姓名、书号、
书名、作者、借还状态、借还日期、管理员 号个
信息放入一个结构体中,然后将所有信息存入到文件中。
2.选择2进入还书操作
打开文件,对借书的信息进行修改。
3.选择3进入借还书查询
减少人力与管理费用;
提高信息准确度;
改进管理和服务;
2.功能需求
各模块功能描述:
图书信息管理模块可以对图书进行增加、删除、修改、浏览、查询各项操作;借书卡管理模块可以对借书卡进行增加、删除、修改、查询各项操作;借还书管理模块可以进行借书、还书、借还书查询等操作。
IPO图:
3.数据需求
本程序使用的数据结构比较常见,没有用到什么特殊的数据字典。采用文件处理数据,数据保存到文件中,文件可以作为数据字典进行公共操作。
本系统比较简单,现有知识已较为完善,利用现有知识完全可以实现系统开发目标,预计可以在规定期限内完成开发任务。
(2)经济可行性
本系统开发较简单,一次性支出的钱不多,后期维护也不复杂,估计维护费用也不高。该系统实用性很高,投放到市场中可以赚到钱。总体来说,收益大于支出。
(3)法律方面的可行性
虽然老师给了我们程序的框架,但我已经进行了大量的修改,所以,在法律方面是可行的。
合集下载

图书管理实验报告001

图书管理实验报告001

<<图书馆管理管理系统程序设计>>实习报告(2013年)实习题目:设一本书的基本资料由以下数据项来描述:1.书号(设为一个无符号长整型);2.书名(设为不超过30个字符的字符串);3.作者名(设为不超过20个字符的字符串);4.出版社(设为不超过30个字符串的字符串);5.关键词(最多5个,每个关键词为不超过10个字符的英文单词);其中,设每本书的书号,书名,作者名和出版社均是唯一的.请用类形式来构造一个小型图书资料整理系统(模拟).该系统应能提供以下功能:1.图书资料库:从键盘输入各图书资料,建立图书资料库;设图书依书号从小到大次序组织存放;2.查询图书功能:1)读书可通过提供书名查询,若该书仍在库中,则列出该书资料;2)读者可通过提供书号查询,若该书仍在库中,则列出该书资料;3)读者也可以通过提供关键词查询(最多5个:一般情况下,读者提供用于查询的关键词个数都不会超过在书库中登记的图书原有的关键词个数),若提供的关键词和原书中关键词相匹配,则列出所有符合要求的所有图书资料个读者选择;读者可从系统所列出可供选择的图书资料信息中,通过书号来办理借阅的手续;3.借书功能:当锁查询的图书的确在库内时,读者可采用提供书号形式来办理借阅手续(每次操作只能借一本书);1)登记借阅人的姓名(不超过20个字符的字符串),电话(无符号长整型整数),借阅日期(年,月.日,均是整形量);4.还书功能:1)删去图书中该书借阅人的资料;2).将该书资料归入”该图书仍在库内”状态;5.催还功能:管理人员定期列出借书人借阅图书资料,以便检查是否有超期借阅者,若有则发通知催还.说明:1. 理论上,图书资料库书量应没有限制(实际上是受硬件资料所限)2. 图书资料库可以采用以下组织形式:)1)每本图书的资料有基本资料和借阅人资料组成,所有图书资料由一个链表链接在一起;2)每本图书的资料也由基本资料和借阅人资料组成,但所有图书资料分别由未借出链表和已借出链表在一起;3.请先确定好图书资料组织形式,然后再考虑设计功能的实现.4.模拟图书资料系统工作的主函数基本要求如下:1) 在键盘上输入每本图书资料,在储存区建立图书资料库.因无法预知图书册数,考研题设当输入书号为0时表示输入结束.图书资料库正常工作期间追加新入库图书时也如此办理;2)输出图书库中所有在库图书资料清单,此操作只由管理人员使用;3)输出图书库中已被借出的天数资料清单,此操作只由管理人员使用;4).查询图书.借阅图书.归还图书.追加图书;5)每借出一本图书或归还一本图书之后,输出书库内图书情况或借书人登记资料,以便可对操作是否完成;6)书库内没有登记的图书,不能办理借阅手续.当然,不是在改图书库借出的图书业不能在此处办理还书手续.源程序代码:#include<iostream.h>#include<stdio.h>#include<conio.h>#include<string.h>#include<stdlib.h>struct Date //日期数据结构{int year;int month;int day;};struct Person // 个人信息数据结构{char name[20];longtele; // the telephone numberDate dateb; //声明dateb是struct Data成员};struct Book // 图书资料信息数据结构{long ISBN; // 书号char Bname[31]; // 书名char Bwrite[20]; // 作者名char Bprint[31]; // 出版社名char *Bkeyword[5]; // 关键词Book *link; // 指向下一连节点Person message; //声明message是struct Person 类型)};class Library // 图书馆类{ protected:Book* librin; // 在书库链Book* libout; // 借书链public:Library(); // 构造函数~Library(); // 析构函数void creat(); // 创建图书馆void print1(); // 输出在书库图书void inquire1(); // 书号查询void inquire2(); // 书名查询void inquire3(); // 关键词查询void borrow(); // 借书void print2(); // 输出借出图书void invert(); // 还书void urge(); // 催还图书void deleter(); // 删除图书void insert(); // 增加新书};Library::Library() // 构造函数{ libout=NULL;}Library::~Library() // 析构函数{ ; }intdayth(intY,intM,int D) //计算某年某月某日是当年第几天{intdy=0;M=M-1;while(M>0){do{if(M==2){if(((Y%4==0)&&(Y%100!=0))||((Y%400==0)))dy=dy+29;elsedy=dy+28;}else{if(((M<=7)&&(M%2==1))||((M>=8)&&(M%2==0)))dy=dy+31;elsedy=dy+30;}M=M-1;}while(M>0);}dy=dy+D;returndy;}intYmday(intY,int M) //判断某年某月有几天{if(M==2){if(((Y%4==0)&&(Y%100!=0))||(Y%400==0)) return 29;else return 28;}else{if(((M<=7)&&(M%2==1))||((M>=8)&&(M%2==0))) return 31;else return 30;}}intYeardays(int y) //判断某年有几天{if((y%4==0&&y%100!=0)||(y%400==0)) return 366;else return 365;}long Leapdays(int yy1,int yy2) //计算某年两年之间相距多少天{longy,m,d=0;while(yy1<yy2){m=Yeardays(yy1);d=d+m;yy1++;}return d;}void Library::creat() //创建图书资料函数{Book *h,*q,*p,*temp,*k;inti=1,j;h=NULL;p=new Book;if( p==NULL ) { cout<<"\n\t Eorror ! "; exit(1); }q=p;cout<<"\n\t ---The Book Infornation---\n";cout<<"\n\nNO."<<i;do{cout<<"\n\tInput the ISBN(0 to end):";cin>>p->ISBN;if(p->ISBN < 0)cout<<"\n\tThe ISBN illedal!";if(p->ISBN==0) break;}while(p->ISBN <= 0);if(p->ISBN > 0){cout<<"\n\tInput the Bname:";gets(p->Bname);cout<<"\n\tInput the Bwrite:";gets(p->Bwrite);cout<<"\n\tInput the Bprint:";gets(p->Bprint);cout<<"\n\tInput the Bkeyword:( Input the NULL to end )"; for(j=0;j<5;j++){cout<<"\n\tNO."<<j+1<<"( Input the NULL to end ):";p->Bkeyword[j]=new char[20+1];gets(p->Bkeyword[j]);if(strcmp(p->Bkeyword[j],"")==0)break;}q->link=NULL;}while( p->ISBN!=0 ){ i++;if(h==NULL) h=p;if(i>2){ temp=h;while( p->ISBN > temp->ISBN && temp->link!=NULL ) {k=temp;temp=temp->link;}if ( p->ISBN <= temp->ISBN ){if(temp==h){ p->link=temp;h=p;}else{k->link=p;p->link=temp;}}else{temp->link=p;p->link=NULL;}}p=new Book;cout<<"\n\nNO."<<i;do{cout<<"\n\tInput the ISBN( 0 to end ):";cin>>p->ISBN;if(p->ISBN < 0)cout<<"\n\t The ISBN illegal!";}while(p->ISBN < 0);if ( p->ISBN > 0 ){cout<<"\n\tIput the Bname:";gets(p->Bname);cout<<"\n\tInput the Bwrite:";gets(p->Bwrite);cout<<"\n\tInput the Bprint:";gets(p->Bprint);cout<<"\n\tInput the Bkeyword:( Input the NULL to end )";for(j=0;j<5;j++){cout<<"\n\tNO."<<j+1<<"( Input the NULL to end ):";p->Bkeyword[j]=new char[20+1];gets(p->Bkeyword[j]);if(strcmp(p->Bkeyword[j],"")==0) break;}}q=p;}librin=h;} // creat endvoid Library::print1() //输出在书库图书资料函数{ int j; Book *p;p=librin;if(librin==NULL ) cout<<"\n\t The list is NULL!";elsedo{if ( p->ISBN == 0 ) continue;cout<<"\n_______________________________________________________\n";cout<<"\n NO."<<p->ISBN<<"\n Bname:"<<p->Bname;cout<<"\n Bwrite:"<<p->Bwrite<<"\n Bprint:"<<p->Bprint;cout<<"\n Bkeyword:\n";//getch();for(j=0;j<5;j++){if(strcmp(p->Bkeyword[j],"")!=0)cout<<"\t"<<p->Bkeyword[j];else break;}// getch();p=p->link;getch();} while( p!=NULL );cout<<"\n_______________________________________________________\n";} // print1 endvoid Library::inquire1() //书号查询函数{ longnum; int j;Book *temp;temp=librin;if(librin==NULL){ cout<<"\n\t This list is NULL!";getch();exit(1);}else{cout<<"\n\t Input you need seek ISBN:"; cin>>num;while(num!=temp->ISBN&&temp->link!=NULL)temp=temp->link;if(num==temp->ISBN ){ cout<<"\n\t Your need result is:";cout<<"\n____________________________________________________ ___\n";cout<<"\n NO."<<temp->ISBN<<"\n Bname:"<<temp->Bname;cout<<"\n Bwrite:"<<temp->Bwrite<<"\n Bprint:"<<temp->Bprint;cout<<"\n Bkeyword:\n";for(j=0;j<5;j++){if(strcmp(temp->Bkeyword[j],"")!=0)cout<<"\t"<<temp->Bkeyword[j];else break;}cout<<"\n____________________________________________________ ___\n";}elsecout<<"\n\t Sorry,Seek Failure!";getch();}} // inquire1 endvoid Library::inquire2() //书名查询函数{ char name[30+1]; int j;Book *temp;temp=librin;if(librin==NULL){ cout<<"\n\t This list is NULL!";getch();exit(1);}else{cout<<"\n\t Input you need seek Bname:"; gets(name);while((strcmp(temp->Bname,name)!=0)&&temp->link!=NULL)temp=temp->link;if(strcmp(name,temp->Bname)==0 ){ cout<<"\n\t Your need result is:";cout<<"\n____________________________________________________ ___\n";cout<<"\n NO."<<temp->ISBN<<"\n Bname:"<<temp->Bname;cout<<"\n Bwrite:"<<temp->Bwrite<<"\n Bprint:"<<temp->Bprint;cout<<"\n Bkeyword:\n";for(j=0;j<5;j++){if(strcmp(temp->Bkeyword[j],"")!=0)cout<<"\t"<<temp->Bkeyword[j];else break;}cout<<"\n____________________________________________________ ___\n";}elsecout<<"\n\t Soory,Seek Failure!";getch();}} // inquire2 endvoid Library::inquire3() //关键词查询函数{ char *keyword[5]; inti=0,j,d,ct=0,k=0;Book *temp;temp=librin;if(librin==NULL){ cout<<"\n\t This list is NULL!";getch();exit(1);}else{ cout<<"\n\tInput you need Seek Bkeyword:( Input the NULL to end )";for(j=0;j<5;j++){cout<<"\n\tNO."<<j+1<<"( Input the NULL to end ):";keyword[j]=new char[20+1];i++;gets( keyword[j] );if(strcmp( keyword[j],"")==0 )break;}d=i;while(temp!=NULL){ct=0;for(j=0;j<d;j++){ for(i=0;strcmp(temp->Bkeyword[i],"")!=0&&i<5;i++)if(strcmp( keyword[j],temp->Bkeyword[i] )==0 ){ ct++;break;}if(strcmp(temp->Bkeyword[i],"")==0||i>=5) break;}if(ct==(d-1)){ k++;cout<<"\n\t Your need result is:";cout<<"\n____________________________________________________ ___\n";cout<<"\n NO."<<temp->ISBN<<"\n Bname:"<<temp->Bname;cout<<"\n Bwrite:"<<temp->Bwrite<<"\n Bprint:"<<temp->Bprint;cout<<"\n Bkeyword:\n";for(j=0;j<5;j++){if(strcmp(temp->Bkeyword[j],"")!=0)cout<<"\t"<<temp->Bkeyword[j];else break;}cout<<"\n____________________________________________________ ___\n";}temp=temp->link;}if(k==0)cout<<"\n\t Soory,Seek Failure!";getch();}} // inquire3 endvoid Library::borrow() // / 借书函数{ Book *p,*temp,*h,*st; long num;if(librin==NULL){ cout<<"\n\t The library is NULL!"; return ;}temp=librin;p=libout;cout<<"\n\t Input your need the ISBN:";cin>>num;while(temp->ISBN!=num&&temp->link!=NULL){ st=temp; temp=temp->link; } // Scanningif( temp->ISBN==num ){ if( temp==librin ) librin=librin->link;elsest->link=temp->link;cout<<"\n\tInput the Your name:";gets( temp-> );cout<<"\n\tInput the telephone number:";cin>>temp->message.tele;do{ cout<<"\n\tInput the year(1900<=y<=2100):";cin>>temp->message.dateb.year;}while(temp->message.dateb.year<1900||temp->message.dateb.year>2100); do{ cout<<"\n\tInput the month(1<=m<=12):";cin>>temp->message.dateb.month;}while(temp->message.dateb.month<1||temp->message.dateb.month>12); cout<<"\n\tInput the day:";cin>>temp->message.dateb.day;if(libout==NULL ){ libout=temp; temp->link=NULL; }elsewhile( temp->ISBN>p->ISBN&&p->link!=NULL ){ h=p; p=p->link; }if( temp->ISBN<p->ISBN ){ if( p==libout ){ temp->link=p; libout=temp; }else { h->link=temp; temp->link=p; }}elseif( p->link==NULL ){ p->link=temp; temp->link=NULL; }cout<<"\n\t Borrow Success!";}elsecout<<"\n\t Soory,Borrow Failure!";} // borrow endvoid Library::print2() //输出借出图书资料{ Book *p;int j=0;p=libout;if(libout==NULL )cout<<"\n\t Hasn't person borrow!\n";{ cout<<"\n\t ------The borrow book infornation---------";do{cout<<"\n_______________________________________________________\n";cout<<"\n NO."<<p->ISBN<<"\n Bname:"<<p->Bname;cout<<"\n Bwrite:"<<p->Bwrite<<"\n Bprint:"<<p->Bprint;cout<<"\n Bkeyword:\n";for(j=0;j<5;j++){if(strcmp(p->Bkeyword[j],"")!=0)cout<<"\t"<<p->Bkeyword[j];else break;}cout<<"\n\t --------------------------------------- ";cout<<"\n Person name:"<<p-><<"\n Tele:"<<p->message.tele; cout<<"\nDate:"<<p->message.dateb.year<<"/"<<p->message.dateb.month<<"/"<< p->message.dateb.day;p=p->link;getch();} while( p!=NULL );cout<<"\n_______________________________________________________\n";}} // print2 endvoid Library::invert() //还书函数{Book *temp,*p,*h,*st; int j; long num;temp=librin;p=libout;if(libout==NULL ){ cout<<"\n\t Hasn't person borrow the book!"; getch(); return; }cout<<"\n\t Input your invert ISBN of the book:";cin>>num;while( p->ISBN!=num&&p->link!=NULL ){ st=p; p=p->link; }if( p->ISBN==num ){ cout<<"\n\t ------The invert book infornation---------";;cout<<"\n_______________________________________________________\n";cout<<"\n NO."<<p->ISBN<<"\n Bname:"<<p->Bname;cout<<"\n Bwrite:"<<p->Bwrite<<"\n Bprint:"<<p->Bprint;cout<<"\n Bkeyword:\n";for(j=0;j<5;j++)if(strcmp(p->Bkeyword[j],"")!=0)cout<<"\t"<<p->Bkeyword[j];else break;}cout<<"\n Person name:"<<p-><<"\n Tele:"<<p->message.tele; cout<<"\nDate:"<<p->message.dateb.year<<"/"<<p->message.dateb.month<<"/"<< p->message.dateb.day;cout<<"\n_______________________________________________________\n";if( p==libout )libout=libout->link;else st->link=p->link;p->[0]='\0';p->message.tele=0;p->message.dateb.year=0;p->message.dateb.month=0;p->message.dateb.day=0;if(librin==NULL ){ librin=p;p->link=NULL;}elsewhile( p->ISBN>temp->ISBN&&temp->link!=NULL ){ h=temp; temp=temp->link; }if( p->ISBN<=temp->ISBN ){ if( temp==librin ){ p->link=temp;librin=p;}}else{ h->link=p;p->link=NULL;}cout<<"\n\t Invert Success!";}else cout<<"\n\t Soory,The book isn't this library!";getch();} // invert endvoid Library::urge() //催还图书函数{ Book *temp; intj,ct=0,y1,m1,d1,y2,m2,d2,y3,m3,d3;long Dt,D1,D2,D3;temp=libout;cout<<"\n\t Plase input the date of today:\n";do{ cout<<"\n\tInput the year(1900<=y<=2100):";cin>>y2;}while(y2<1900||y2>2100);do{ cout<<"\n\tInput the month(1<=m<=12):";cin>>m2;}while(m2<1||m2>12);cout<<"\n\tInput the day:";cin>>d2;cout<<"\n\t The borrow over time is:";while( temp!=NULL ){ y1=temp->message.dateb.year;m1=temp->message.dateb.month;d1=temp->message.dateb.day;d3=d1+20;if( d3>Ymday(y1,m1) ){ d3=d3-Ymday(y1,m1);m3=m1+1;if( m3>12 ){ m3=1; y3=y1+1; }else y3=y1;}else{ m3=m1; y3=y1; }D1=Leapdays( y1,y2 );D2=dayth( y1,m1,d1 );D3=dayth( y2,m2,d2 );Dt=D1+D3-D2;if(Dt>20 ){ cout<<"\n ______________________________________________________";cout<<"\n NO."<<temp->ISBN<<"\n Bname:"<<temp->Bname;cout<<"\n Bwrite:"<<temp->Bwrite<<"\n Bprint:"<<temp->Bprint;cout<<"\n Bkeyword:\n";for(j=0;j<5;j++){if(strcmp(temp->Bkeyword[j],"")!=0)cout<<"\t"<<temp->Bkeyword[j];else break;}cout<<"\n ------------------------------------------------------";cout<<"\n Person name:"<<temp-><<"\n Tele:"<<temp->message.tele;cout<<"\nDate:From-> "<<temp->message.dateb.year<<"/"<< temp->message.dateb.month<<"/"<< temp->message.dateb.day;cout<<"\n\t To->"<<y3<<"/"<<m3<<"/"<<d3;cout<<"\n_________________________________________________________";cout<<"\n\t The person Over time :"<<Dt-20<<" days";ct++;}temp=temp->link;}if(ct==0)cout<<"\n\t Hasn't person over time borrow the book!\n";getch();} // urge endvoid Library::deleter() //删除图书函数{ Book *st,*temp; long num;temp=librin;cout<<"\n\t Input your delete ISBN of book:";cin>>num;while(num!=temp->ISBN&&temp->link!=NULL ){ st=temp; temp=temp->link; }if(num==temp->ISBN ){ if( temp==librin )librin=librin->link;elsest->link=temp->link;delete temp;cout<<"\n\t The Node had deleted!\n";}elsecout<<"\n\t The Node isn't Exist!\n";getch();} // delete endvoid Library::insert() //新增图书函数{ Book *temp,*st,*p; int j;p=librin;cout<<"\n\t ---The new book infornation---";temp=new Book;if( temp==NULL ){ cout<<"\n\t Soory,Applicanta Failure!";exit(1);}cout<<"\n\tInput the ISBN:";cin>>temp->ISBN;cout<<"\n\tInput the Bname:";gets(temp->Bname);cout<<"\n\tInput the Bwrite:";gets(temp->Bwrite);cout<<"\n\tInput the Bprint:";gets(temp->Bprint);cout<<"\n\tInput the Bkeyword:( Input the NULL to end )"; for(j=0;j<5;j++){cout<<"\n\tNO."<<j+1<<"( Input the NULL to end ):"; temp->Bkeyword[j]=new char[20+1];gets(temp->Bkeyword[j]);if(strcmp(temp->Bkeyword[j],"")==0)break;}if(librin==NULL){ librin=temp;temp->link=NULL;}elsewhile( temp->ISBN>p->ISBN&&p->link!=NULL ){ st=p; p=p->link; }if( temp->ISBN<p->ISBN ){ if( p==librin ){ temp->link=p;librin=temp;}else{ st->link=temp;temp->link=p;}}else{ p->link=temp;temp->link=NULL;}cout<<"\n\t Insert success!\n";getch();} // insert endvoid main() // 主函数{ Book *librin; int NO,NO2,ct=1; long PIN; char ch;Library obj; //chuangjian dui xiangclrscr();cout<<"\n\t ------The Libraly information------\n";cout<<"\n\t 1--Creat; 2--Print; 3--Urge; 4--Delete; 5--Insert;";cout<<"\n\t 6--Inquire; 7--Borrow; 8--Invert(return book); 0--exit;\n"; cout<<"\n\t Your need Function is:"; cin>>NO;while( NO!=0 ){ if( NO==1||NO==2||NO==3||NO==4||NO==5 ){ do{ cout<<"\n\t Please input the PIN (You only 3 time ):";cin>>PIN;if( PIN!=123456 ){ cout<<"\n\t Your PIN is error! You has "<<3-ct<<"time";ct++;}if(ct>3 ){ cout<<"\n\t GoodBye! "; exit(1); }}while(PIN!=123456);}if( NO==1 ){ clrscr();cout<<"\n\t Are you sure creat the library?(Yes--y/No--any):";cin>>ch;if(ch=='y' )obj.creat();}if( NO==2 ){ clrscr();do{ cout<<"\n\t 21--total Inquire; 22-borrow Inquire; 0--exit\n";cout<<"\n\t Your need Function is:"; cin>>NO2;if( NO2==21 ){ clrscr();obj.print1();}if( NO2==22 ){ clrscr();}}while( NO2!=0 );}if( NO==3 ){ clrscr();obj.urge();}if( NO==4 ){ clrscr();obj.deleter();}if( NO==5 ){ clrscr();obj.insert();}if( NO==6 ){ clrscr();do{ cout<<"\n\t 1--Seek the ISBN; 2--Seek Bname; 3--Seek Bkeyword;0--exit\n";cout<<"\n\t Your need Function is:"; cin>>NO2;if( NO2==1 ){ clrscr();obj.inquire1();}if( NO2==2 ){ clrscr();obj.inquire2();}if( NO2==3 ){ clrscr();obj.inquire3();}}while( NO2!=0 );}if( NO==7 ){ clrscr();obj.borrow();getch();}if( NO==8 ){ clrscr();}clrscr();cout<<"\n\t ------The Libraly information------\n";cout<<"\n\t 1--Creat; 2--Print; 3--Urge; 4--Delete; 5--Insert;";cout<<"\n\t 6--Inquire; 7--Borrow; 8--Invert(return book); 0--exit;\n";cout<<"\n\t Your need Function is:"; cin>>NO;}}仅供学习交流,禁止用于其它途径。

图书馆管理信息系统实习报告

图书馆管理信息系统实习报告

图书馆管理信息系统实习报告在大学的学习生涯中,实习是一个将理论知识与实际操作相结合的重要环节。

为了更好地理解和掌握图书馆管理信息系统的运作,我有幸在_____图书馆进行了为期_____的实习。

通过这次实习,我不仅深入了解了图书馆管理信息系统的各个模块和功能,还亲身体验了图书馆日常工作的流程和挑战。

一、实习单位及岗位介绍_____图书馆是一所规模较大、设施齐全的综合性图书馆,拥有丰富的藏书和先进的信息技术设备。

我实习的岗位是图书馆管理信息系统的操作员,主要负责协助图书馆工作人员进行系统的日常维护、数据录入与更新、读者信息管理以及图书借还等操作。

二、图书馆管理信息系统概述图书馆管理信息系统是一个集图书采编、典藏、流通、检索、统计等功能于一体的综合性软件系统。

它采用了先进的数据库技术和网络技术,实现了图书馆业务的自动化和信息化管理。

该系统主要包括以下几个模块:1、图书采编模块负责图书的采购、编目、分类和加工等工作。

通过该模块,图书馆工作人员可以及时了解图书市场的最新动态,采购到符合读者需求的图书,并对新到图书进行准确的编目和分类,为图书的上架流通做好准备。

2、图书典藏模块用于管理图书馆的藏书布局和书架分配。

通过该模块,工作人员可以合理安排图书的存放位置,方便读者查找和借阅。

3、图书流通模块这是图书馆管理信息系统的核心模块,主要负责图书的借还、预约、续借和逾期处理等操作。

读者可以通过该模块自助办理借还手续,大大提高了图书馆的服务效率。

4、读者信息管理模块用于管理读者的个人信息、借阅记录和权限设置等。

通过该模块,图书馆可以对读者进行有效的管理和服务,为读者提供个性化的服务。

5、图书检索模块提供了多种检索方式,如书名检索、作者检索、主题检索等,方便读者快速找到所需图书。

6、统计分析模块对图书馆的业务数据进行统计和分析,如图书借阅量、读者流量、热门图书排行等,为图书馆的管理决策提供数据支持。

三、实习内容及过程在实习期间,我主要参与了以下几个方面的工作:1、系统日常维护协助图书馆技术人员对管理信息系统进行日常维护,包括检查系统运行状态、备份数据、更新软件补丁等。

图书管理系统实习报告

图书管理系统实习报告

图书管理系统实习报告在大学的学习生涯中,实习是一个将理论知识与实际应用相结合的重要环节。

我有幸在实习单位名称进行了关于图书管理系统的实习,这段经历让我收获颇丰。

一、实习单位及工作内容介绍实习单位名称是一家具有一定规模和影响力的图书馆,拥有丰富的藏书和多样化的服务。

我在实习期间主要参与了图书管理系统的日常维护和优化工作。

图书管理系统是图书馆运营的核心支撑,它涵盖了图书的采编、典藏、流通、检索等多个环节。

我的工作包括协助管理员处理读者的借阅和归还请求,更新图书信息,解决系统运行中出现的一些小故障,以及参与系统功能的改进和优化讨论。

二、图书管理系统的功能与架构通过实习,我深入了解了图书管理系统的丰富功能。

首先是图书采编模块,用于采购新书、录入书目信息,并对图书进行分类和编目。

典藏模块则负责管理图书的存放位置和库存情况,确保图书能够被合理存储和方便查找。

流通模块是与读者互动最为频繁的部分,处理读者的借阅、续借、归还等操作,并记录相关信息。

检索模块提供了多种检索方式,帮助读者快速找到所需图书。

从架构上看,图书管理系统通常采用客户端/服务器(C/S)或浏览器/服务器(B/S)模式。

C/S 模式在本地安装客户端软件,与服务器进行通信;B/S 模式则通过浏览器访问服务器上的应用程序,具有更好的跨平台性和便捷性。

三、实习中的具体工作与成果在实习期间,我完成了多项具体任务。

例如,有一次系统出现了读者借阅记录错误的问题,经过仔细排查,发现是数据库中的一个字段更新异常。

我通过对相关数据的修复和对程序逻辑的检查,成功解决了这个问题,保证了借阅记录的准确性。

我还参与了图书信息更新的工作。

随着新书的不断入库,需要及时将它们的信息录入系统。

在这个过程中,我不仅学会了如何准确快速地录入数据,还注意到了数据的规范性和一致性,避免了因信息错误给读者和管理员带来的不便。

此外,我积极参与了系统功能优化的讨论。

针对读者反馈的检索速度慢、操作界面不够友好等问题,提出了一些改进建议,部分建议被采纳并实施,有效提升了系统的用户体验。

图书馆管理系统软件工程实验报告书

图书馆管理系统软件工程实验报告书
第三章软件设计及设计说明书
1、导言
(1)目的
使软件工程规范化,使设计人员遵循统一的概要设计进行编写,降低系统实现的风险,做到系统设计资料规范性与全面性,以利于系统的实现、测试、维护和版本升级等。
(2)范围
软件系统总体结构设计、全局数据库和数据结构设计、外部接口设计、主要部件功能分配设计和部件之间接口设计等。
4、数据结构设计
(1)数据库表名清单
序号
表名
功能概述
1
学生文件表
记录学生的信息,方便学生借书还书注册等
2
图书目录文件
记录图书库里的总图书量及其信息
3
借书文件表
方便查看哪些书籍被借出 还入及其时间
4
入库单表
记录新入库的图书信息
5
管理员表
管理员的id等 方便管理员的身份注册及验证登陆
(2)数据库表的详细清单
系统要做到能准确的记录不同图书的借出还入时间,判断是否超时,以及计算超时应该罚款的多少,还要记录各本书借出对应的学号。系统在稳定性方面也要做到遇到断电、系统崩溃等情况保存数据不能缺失。
1.3参考资料
《软件工程技术及其应用》
《实用软件工程》
《软件工程实践教程》
1.4相关文档了先进的数据库技术以及一系列高技术含量软件,使得原来系统上的一些软件无法继续使用,不过在新系统开发过程中将尽量考虑到,对现有软件的兼容性。
3.2. 技术可行性评价
就目前使用的开发技术来说软件的功能目标应该能够达到;利用现有的技术在规定的期限内开发工作基本能够完成。
4软件经济可行性分析
4.1软件不需太多的硬件设施,所以在购买和安装硬件及有关设备上不会有太多费用支出。
1. 2 项目背景:

2024年大学毕业生图书馆实习报告范文(3篇)

2024年大学毕业生图书馆实习报告范文(3篇)

2024年大学毕业生图书馆实习报告范文尊敬的导师:您好!感谢您给予我这次图书馆实习的机会。

通过这次实习,我对图书馆的管理和运作有了更深入的了解,也提升了我在信息管理和服务方面的能力。

下面是我对这次实习的总结和报告。

一、实习机构介绍我所实习的图书馆是一所大学图书馆,拥有丰富的图书资源和完善的信息服务体系。

图书馆分为多个功能区,包括阅览区、自习区、电子资源区、咨询服务区等。

实习期间,我主要在图书馆的阅览区和咨询服务区进行工作。

二、实习内容与工作安排1. 图书馆阅览区工作在阅览区的工作主要是协助图书管理员监督读者秩序,并维护图书馆的安静环境。

我负责检查读者证,处理借还书事务,恢复图书的摆放秩序等。

在此过程中,我学会了与读者进行良好沟通和合作,提高了自己的服务意识和观察力。

2. 咨询服务区工作在咨询服务区的工作主要是回答读者的咨询和疑问,提供图书馆的相关信息与服务。

我通过学习图书馆的资源和服务,了解了各类读者的需求,并及时给予他们解答和帮助。

这个环节提高了我的信息检索和问题解决能力。

三、实习心得与收获1. 提升了我的服务意识通过这次实习,我意识到作为一名图书馆实习生,提供良好的服务是非常重要的。

在阅览区,我学会了如何细心观察读者的需求,并帮助他们解决问题。

在咨询服务区,我学会了主动倾听读者的需求,并提供相应的建议和信息。

这些经历使我更加了解了读者的需求和期望。

2. 改善了我的沟通能力在图书馆的实习过程中,我经常需要与读者进行交流和沟通。

我学会了如何倾听,并用简洁明了的语言解释问题。

这些经历提高了我的沟通能力和表达能力,并锻炼了我的应变能力。

3. 加深了对图书馆事业的热爱通过这次实习,我深深感受到了图书馆事业的重要性和意义。

图书馆不仅是知识的存储和传播者,更是社会文明进步的推动者。

我为能够参与这一事业而感到骄傲和幸运。

四、问题与建议在实习中,我也遇到了一些问题和困惑。

有时候读者会提出一些复杂的问题,我无法给出满意的答案。

C语言程序设计实习报告_图书馆治理系统设计

C语言程序设计实习报告_图书馆治理系统设计

C语言程序设计实习报告——图书馆治理系统设计前言历时一周的运算机实习让我学到了很多知识。

换句话说,让我从头熟悉了C语言这门课程。

以前在我的脑海中,运算机编程,只是无数枯燥的代码,很是让人头疼的东西。

但此刻我改变了自己的观点,运算机也是一种很有乐趣的文化,值得我好好体味。

有句老话是这么说的“21世纪是信息爆炸的时期”,信息爆炸的要紧承担者确实是运算机、互联网。

从这一方面看,就寓意着今世大学生学好运算机有何等的重要。

运算机硬件的更新相当的神速,此刻都已经奔四核了,显卡也愈来愈高端,内存、硬盘都已经海量了。

这说明了什么?说明了此刻运算机的软件业的高速进展,软件的进展的基础是编程。

过去我只是知道如何去运用软件,关于它的功能是怎么实现的却是一无所知。

通过这次实习,我再也不是一个无知者,我此刻能够对一些简单的软件是如何运行的,它其中的隐秘是什么,有了自己的明白得。

这次实习,我按时完成了自己的课程设计——图书治理系统设计。

一开始,我对它超级陌生,全然无从下手。

无奈之下,决定静下心来,好好地把《C语言课程设计与学习指导》的讲义通读了一遍,茅塞顿开,其实写程序并非是一件难事,只要细心,思路清楚,并一步一步来,每次完成其中的一个模块,最后把每一个模块流畅地衔接起来,最后整个程序修饰一下,一个能够运行的C 语言程序就算是写成了。

众所周知C语言功能丰硕,表达能力强,利用灵活方便,应用广,目标程序效率高,可移植性好,既具有高级语言的优势,又具有低级语言的语言特点,因此C语言对咱们来讲很重要。

设计是一门重要的运算机基础课程,通过学习,学生不仅要把握高级程序设计语言的知识,更重要的是在实践中慢慢把握程序设计的思想和方式,培育问题求解和语言的应用能力。

这次上机实习,不但要使同窗们的程序设计能力上一台阶,同时要提高与程序设计和软件开发有关的各类综合能力。

这次实习只有短短的一周,加上接踵而至的期末考试,我没能把全数精力放在这次实习上,在很多地址还存在欠缺,因此在接下来的日子里,我还需要好好地学习C语言,提升自己在运算机方面的能力。

图书管理系统实习报告

实习报告实习性质:综合实习学生姓名:褚永林专业班级: 09软件一班指导教师:姚海陆实习时间:2011.03.02-2011.04.10 实习地点:东北科技职业教育学校东北科技职业教育学校目录1 实习目的 (3)2 实习概况 (3)2.1 实习要求 (3)2.2 开发环境 (3)2.3 开发模式 (4)3 实习内容 (4)3.1 系统需求分析 (4)3.2 数据库设计 (5)3.3 功能设计 (6)3.3.1数据访问层设计 (7)3.3.1.1 图书方法操作 (7)3.3.1.2 图书类型方法操作 (8)3.3.1.3 读者信息操作方法 (10)3.3.1.4 借阅信息操作管理方法 (11)3.3.1.5用户信息管理操作方法 (13)3.4.2 业务逻辑层设计 (15)3.4.3 界面层设计 (16)3.4.3.1 登陆界面设计 (16)3.4.3.2 图书操作页面 (17)3.4.3.3 读者信息管理页面 (18)3.4.3.4 图书管理系统主页面 (19)4 实习体会 (19)5 实习总结 (20)附表 (23)1 实习目的顶岗实习是一块“试金石”,是加深对自我能力认识的重要途径。

大学的学习基本上都是理论的接受,而缺少能力的熟练与加强,我们缺少的并不是知识的储备,而是能力的积蓄。

但由于大学特殊的学习模式和环境,缺少实际情景的见证和实践活动的参与,同学之间缺乏必要的交流和比对,使得我们很多时候很难对自身的能力有明晰的认识,能力缺陷往往被遮蔽起来。

通过此项目来检测自己的学习状况,同时熟悉掌握.NET模式的开发。

2 实习概况2.1 实习要求首先,开发此项目要运用这两个月所学习的知识;其次,开发模式要采用瀑布式开发;开发结构采用MVC模式开发;最后,求学生通过实习了解社会,了解企业,培养学生主动适应社会上的各种岗位需要的素质和能力。

2.2 开发环境操作系统(WindowsXP或者WindowsServer2003(SP1以上))数据库系统(SqlServer2005)开发工具(Microsoft Visual Studio 2008)客户浏览器(IE6.0)开发语言(C#)2.3 开发模式3 实习内容3.1 系统需求分析随着知识的不断的更新,越来越多的人渴望充实自己,方便而又快速的学到新的知识,为自己在社会发展中打下坚实的基础,所以对图书的管理要求也就大大的提高了。

图书馆管理系统实验报告

图书馆管理系统实验报告图书馆管理系统实验报告一、引言图书馆作为知识的宝库,承载着人们获取信息和知识的重要场所。

然而,传统的图书馆管理方式已经无法满足日益增长的用户需求和信息管理的复杂性。

为了提高图书馆的管理效率和用户体验,我们设计并实现了一套图书馆管理系统。

二、系统概述我们的图书馆管理系统旨在提供一个全面且易于使用的平台,以实现图书馆的资源管理、借还书管理、用户管理等功能。

系统主要包括以下几个模块:用户管理模块、图书管理模块、借还书管理模块和统计报表模块。

三、用户管理模块用户管理模块是系统的核心模块之一,它负责管理图书馆的读者信息和权限。

通过该模块,管理员可以进行读者信息的录入、修改和删除,并设置不同用户的权限等级。

同时,读者也可以通过该模块进行个人信息的查看和修改。

四、图书管理模块图书管理模块是系统的另一个核心模块,它负责管理图书馆的图书资源。

管理员可以通过该模块录入新书籍的信息,包括书名、作者、出版社等,并进行图书分类和标签的设置。

此外,管理员还可以对图书进行上架、下架和库存管理等操作。

五、借还书管理模块借还书管理模块是系统的重要模块之一,它负责管理读者的借书和还书操作。

读者可以通过该模块查询图书的借阅情况,并进行借书和还书的操作。

系统将自动记录借阅和归还的时间,并提醒读者还书的截止日期。

此外,系统还支持续借功能,读者可以在规定的时间内续借图书。

六、统计报表模块统计报表模块是系统的辅助模块,它可以帮助管理员进行数据统计和分析。

通过该模块,管理员可以生成图书馆的借阅统计报表、图书流通情况报表等,为图书馆的决策提供参考依据。

七、系统实现我们使用Java语言和MySQL数据库来实现图书馆管理系统。

前端界面使用HTML、CSS和JavaScript技术,后端采用Spring框架和MyBatis框架进行开发。

系统的部署采用了云服务器和域名解析等技术,以实现远程访问和数据备份。

八、实验结果通过对图书馆管理系统的实际测试和用户反馈,我们发现系统具有良好的稳定性和易用性。

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

1.题目要求图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等,试设计一图书管理系统,使之能提供以下功能:(1)新图书基本信息的输入。

(2)图书基本信息的查询。

(3)对撤销图书信息的删除。

(4)办理借书的手续。

(5)办理还书的手续。

2.需求分析这是一个能简单管理图书的小型图书管理系统,其中图书信息包括:书名,作者名,书编号,分类,出版社,价格等。

通过这些信息使之提供以下功能:(1)图书信息的创建功能。

其中图书信息包括:书名,作者名,书编号,分类,出版社,价格等。

(图书信息用文件保存)(2)图书信息查看功能。

用来查看各项图书信息。

(3)图书信息查找功能。

通过已知信息来查找想要的图书。

(4)图书信息的删除。

可以删除指定图书。

(5)图书信息的修改。

可以修改图书的各项信息。

(6)菜单选择功能,次功能也是图书信息管理系统的入口,用户所要进行的各种操作均需要在此模块中进行选择并进行调用其他模块实现相应的功能。

3.总体设计(1)数据结构图书管理系统中主要的数据结构包含书名、图书书号、作者名、分类、出版社、出版时间、价格等;在处理过程中各项可以作为一本图书的不同属性来进行处理。

struct Book /*定义结构体数组*/{char ISBN[14]; //编号char Name[20]; //名称char Author[20]; //作者char Type[10]; //类型char Pub[20]; //出版社char Date[10]; //出版日期float Price; //价格};(2)模块分化本系统主要有添加图书、查找图书、搜索图书、删除图书、修改图书几个基本功能。

函数声明:int Choose(); //选择int Add(); //添加图书int View(); //查找图书int Search(); //搜索图书int Delete(); //删除图书int Modify(); //修改图书int menu(); //返回系统4.详细设计流程图:4.1主函数函数的原型:void main()函数的功能:调用菜单,使用各项功能。

图书馆信息管理系统实习报告

实习报告题目:管理信息系统应用实习学生姓名:学号:系部名称:计算机科学与技术专业班级:指导教师:职称:讲师讲师二○一二年六月二十七日目录第1章概述 (1)1.1程序设计思想 (1)第2章需求分析 (2)2.1图书馆信息管理系统概述 (2)2.2系统用户分析 (2)2.3功能需求分析 (2)第3章概要设计 (3)3.1数据库概念模型设计 (3)3.2数据库逻辑设计 (4)3.3数据库物理设计与实现 (6)第4章详细设计 (6)4.1系统模块设计 (6)4.2关键步骤及代码 (7)4.3实现效果 (14)总结 (20)参考文献 (21)第1章概述1.1 程序设计思想目前,在高校系部图书管理中,师生查找图书都是采用传统的查询方法,让读者在图书分类架上一本本地去查找,这样不仅很难找到自己所需要的图书,而且费时费力。

而图书管理员在办理借书登记、查询读者借书记录时,管理人员必须在借书记录上一个个去查找,而要找到借书记录并删除该记录是件很麻烦的事情。

每当新书入库时,图书管理员既要填写新书入库卡片,又要填写新书入库账目,不仅工作量大,而且,在新书入库后要经历较长的时间方能借出。

另外,有的系部因图书数量有限,必须对图书实行限量借阅,因此,要实施弹性借书方法是件很困难的事。

为提高图书查询效率,减少系部图书管理员的工作负担,有必要开发一个小型图书管理软件来对系部图书实施有效管理。

该系统必须具备以下功能:1、能对各类图书实行分类管理;2、提供必要的读者信息;3、能进行各种高级查询(如未还书目的查询;已还书目的查询等);4、具有图书检索功能;5、能管理登录系统的图书管理员等。

这样不仅能较好地帮助读者在最短的时间内找到自己所需要的图书书目、编号,而且能让图书管理员以最高的效率办理借阅手续。

第2章需求分析2.1 图书馆信息管理系统概述在当今社会,随着计算机的发展及网络技术的应用,INTERNET应用在全球范围内的普及。

当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。

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