C++课程设计报告 图书信息管理系统设计
- 格式:doc
- 大小:1.57 MB
- 文档页数:31
C语言课程设计报告图书信息管理系统设计第二组指导老师:韩晶C语言程序设计C语言程序设计实践是学习C语言的重要一环。
在实践中我们运用所有所学的C语言知识完成此次项目。
任何上机实践都增强我们对C语言的理解及运用能力。
虽然此次项目对我们初学者来说是一个巨大的工程,但组员之间的合作让我们顺利解决了各种难题。
谨以此成果献给所有费尽心血的第二小组成员及不断给予指导的韩老师。
一.题目要求1.设计题目:图书信息管理系统2.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格3.系统实现以下功能:1)系统以菜单方式工作。
2)图书信息录入功能——输入。
3)图书信息浏览功能——输出。
4)查询和排序功能:(1)按书名查询(2)按作者名查询(3)按登录号排序(4)按图书价钱排序5)图书信息的删除与修改。
二.设计分析概括根据题目要求分析可知我们需要程序提供一个结构体及文件的输入输出功能。
图书信息以结构体的形式存入固定文件中,在此基础上实现图书信息的浏览,查询和排序,删除与修改功能。
并将各种功能分为不同的子程序,在主程序上进行调用及运行。
程序界面菜单以键盘输入选择的方式来运行各种功能。
三.总体设计根据题目要求将程序分为以下部分:1.管理员登陆系统模块2.菜单选择模块3.图书信息录入功能模块4.图书信息浏览功能模块5.图书信息查询功能模块6.图书信息的删除与修改模块四.具体编程#include<stdio.h>typedef struct bkInfo /*图书信息结构体*/{char idNum[20]; /*图书编号*/char bkName[20]; /*书名*/char writer[10]; /*作者名*/char press[10]; /*出版社*/char pubTime[10]; /*出版时间*/char price[10]; /*价格*/char claNum[14]; /*分类号*/} ;#define x 4#define y 6int main(){void menua(); /*管理员菜单*/void menub(); /*读者菜单*/void bkadd(); /*图书信息添加*/int choice1,chlan;int choice2,idcode=1615,passcode=123,idcheck,passcheck;clrscr();1.登录菜单printf("\n==============================================================");printf("\n ||\t\t\t\t\t\t\t\t ||");printf("\n ||\t\t *** WELCOME TO THE *** ||");printf("\n ||\t\t\t\t\t\t\t\t ||");printf("\n || UNITED ADMINISTRATION AND INQUIRY OF BOOK INFORMATION ||"); printf("\n ||\t\t\t\t\t\t\t\t ||");printf("\n ||\t\t *** STANDERD SYSTEM *** \t\t ||");printf("\n ||\t\t\t ( ALPHA-X-%d.%d )\t\t\t ||",x,y);printf("\n ||\t\t\t\t\t\t\t\t ||");printf("\n ||\t\t\tpowered by Group II \t\t\t ||");printf("\n ||\t\t\t\t\t\t\t\t ||");printf("\n==============================================================");printf("\n\n\t ---------------------------------------");printf("\n\t\t >>> ENTER THE SYSTEM? Y/N <<<");printf("\n\t ---------------------------------------\n");printf("\n\n\t[] Enter 1 for YES or 2 for NO"); /*是否选择进入*/printf("\n\nYOU CHOOSE:");scanf("%d",&choice1);2.管理员模式/读者模式进入while(choice1!=1&&choice1!=2) /*选择号错误*/{printf("\n\n\t[] Unidentified option,please recheck!");printf("\n\t[] Enter 1 for YES or 2 for NO");printf("\n\nYOU CHOOSE:");scanf("%d",&choice1);}switch(choice1){case 1: /*选择进入系统*/printf("\n\n\t\t ACCESS confirmed loading...");printf("\n\n\t[] Is this an Administrator Visit or a General Visit?");printf("\n\n\t[] Enter 1 for your Administrator Visit or 2 for the other.\n\n"); printf("\nYOU CHOOSE:"); /*选择管理员模式或读者模式*/ scanf("%d",&choice2);while(choice2!=1&&choice2!=2) /*进入模式选择号错误*/ {printf("\n\n\t[] Unidentified option,please recheck!");printf("\n\t[] Enter 1 for your Administrator Visit or 2 for the other.");printf("\n\nYOU CHOOSE:");scanf("%d",&choice2);}if(choice2==1) /*进入管理员模式*/{printf("\n\n\t ----------------------------------------------------");printf("\n\t LOGIN >>>please enter your ID CODE & PASSWORD<<<");printf("\n\t ----------------------------------------------------\n");printf("\nYOUR ID:");scanf("%d",&idcheck);printf("\nPASSWORD:");scanf("%d",&passcheck);while(idcheck!=idcode || passcheck!=passcode)/*通行证与密码错误*/ {printf("\n\n\t[] Unidentified ID or wrong PASSWORD,ACCESS refused,please recheck!");printf("\n\t[] please enter your ID CODE & PASSWORD");printf("\n\nYOUR ID:");scanf("%d",&idcheck);printf("\nPASSWORD:");scanf("%d",&passcheck);}if(idcheck==idcode && passcheck==passcode)/*进入管理员模式菜单*/ {printf("\n\n\n\n\t[] ACCESS for Noble Class has been authorisedloading...");printf("\n\n\t[] Administor System at your service !");printf("\n\n\n\t[] Please choose a language service: 1.Chinese 2.English3.French");printf("\n\nYOU CHOOSE:"); /*语言选择*/scanf("%d",&chlan);while(chlan!=2){if(chlan>3){printf("\n\n\t[] Unidentified option,please recheck!");printf("\n\t[] Please choose a language service: 1.Chinese 2.English3.French");}else{printf("\n\n\t[] ERROR: NO LANGUAGE PACKAGE HAS BEEN FOUND !");printf("\n\t[] Please choose a language service: 1.Chinese 2.English3.French");}printf("\n\nYOU CHOOSE:");scanf("%d",&chlan);}if(chlan==2){menua();}}}if(choice2==2) /*进入读者模式*/{printf("\n\n\n\n\t[] OPTION CONFIRMED,LANGUAGE PACKAGE is laoding...please wait...\n");printf("\n\t[] ACCESS authorised loading...");printf("\n\n\t[] Visitor System operational...");menub();}break;case 2: /*选择不进入系统*/printf("\n\n\t\t\t\t ***QUIT***");printf("\n\t\t\tTHANKS FOR USING,SO LONG !!!\n");printf("\n\n UNITED ADMINISTRATION AND INQUIRY OF BOOK INFORMATION-STANDERD SYSTEM-%d.%d",x,y);printf("\n\t\t powered by Group II in 3.2012");printf("\n\n\n\t\t\t SPECIAL THANKS FOR\n");printf("\n\t[] Peter Horuce ^_^ for Main Function & Debugging");printf("\n\t[] WangYueWei ^_^ for Program Design & ...");printf("\n\t[] ZhangYanDong ^_^ for Book Data Input Function");printf("\n\t[] ZhangBeiBei ^_^ for the ...");printf("\n\t[] GuoXinYu ^_^ for the ...");printf("\n\t[] SongShaoXiu ^_^ for the ...");printf("\n\t[] GuLingKai ^_^ for the ...");printf("\n\t[] ZhenYiFeng ^_^ for the ...");printf("\n\t[] WangJieYao ^_^ for the ...");printf("\n\t[] LiLuZi ^_^ for the ...");printf("\n\t[] WangSanHu ^_^ for the ...");printf("\n\t[] HuangFangHao ^_^ for the ...");printf("\n");getch();break;}return 0;}3.管理员模式系统void menua(){int ch,out;printf("\n\n\n\t[] OPTION CONFIRMED,LANGUAGE PACKAGE is laoding...please wait...\n\n");printf("\n\t\t*********************************");printf("\n\t\t*\t\t\t\t*");printf("\n\t\t* CENTRAL BOOK ADMINISTRATION *");printf("\n\t\t*\t\t\t\t*");printf("\n\t\t*********************************\n\n");printf("\t\t\t <<< M E N U >>>\n\n");printf("\t\t 1.Book Data Input\t2.bkamend\n\n");printf("\t\t 3.bkdelete\t\t4.bkorder\n\n");printf("\t\t 5.bksearch\t\t6.bkview\n\n");printf("\t\t 7.QUIT\n\n\n");printf("PLEASE CHOOSE A SERVICE:");scanf("%d",&ch); /*服务选择*/while(ch>7){printf("\n\n\t[] Unidentified option,please recheck!\n");printf("\n\nPLEASE CHOOSE A SERVICE:");scanf("%d",&ch);}switch(ch){case 1:printf("\n\t[] As you wish!\n");bkadd();break;case 2:printf("\n\t[] As you wish!\n");break;case 3:printf("\n\t[] As you wish!\n");break;case 4:printf("\n\t[] As you wish!\n");break;case 5:printf("\n\t[] As you wish!\n");break;case 6:printf("\n\t[] As you wish!\n");break;case 7:printf("\n\n\t\t\t\t ***QUIT***");printf("\n\t\t\tTHANKS FOR USING,SO LONG !!!\n");printf("\n\n UNITED ADMINISTRATION AND INQUIRY OF BOOK INFORMATION-STANDERD SYSTEM-%d.&d",x,y);printf("\n\t\t powered by Group II in 3.2012");printf("\n\n\n\t\t\t SPECIAL THANKS FOR\n");printf("\n\t[] Peter Horuce ^_^ for Main Function & Debugging");printf("\n\t[] WangYueWei ^_^ for Program Design & ...");printf("\n\t[] ZhangYanDong ^_^ for Book Data Input Function");printf("\n\t[] ZhangBeiBei ^_^ for the ...");printf("\n\t[] GuoXinYu ^_^ for the ...");printf("\n\t[] SongShaoXiu ^_^ for the ...");printf("\n\t[] GuLingKai ^_^ for the ...");printf("\n\t[] ZhenYiFeng ^_^ for the ...");printf("\n\t[] WangJieYao ^_^ for the ...");printf("\n\t[] LiLuZi ^_^ for the ...");printf("\n\t[] WangSanHu ^_^ for the ...");printf("\n\t[] HuangFangHao ^_^ for the ...");printf("\n");getch();break;}}4.读者模式系统void menub(){int cho,out;printf("\n\n\n\t\t ***** INQUIRY OF BOOK INFORMATION *****");printf("\n--------------------------------------------------------------------------------");printf("\n\n\t\t\t <<< M E N U >>>\n\n");printf("\t\t 1.[restricted]\t 2.[restricted]\n\n");printf("\t\t 3.[restricted]\t 4.[restricted]\n\n");printf("\t\t 5.bksearch\t\t 6.bkview\n\n");printf("\t\t 7.QUIT\n\n\n");printf("PLEASE CHOOSE A SERVICE:");scanf("%d",&cho); /*服务选择*/while(cho>7 || cho<5){if(cho>7)printf("\n\n\t[] Unidentified option,please recheck!\n");if(cho>=1 && cho<=4)printf("\n\n\t[] Restricted option! You are not an authorised administor!\n"); printf("\n\nPLEASE CHOOSE A SERVICE:");scanf("%d",&cho);}switch(cho){case 5:break;case 6:break;case 7:printf("\n\n\t\t\t\t ***QUIT***");printf("\n\t\t\tTHANKS FOR USING,SO LONG !!!\n");printf("\n\n UNITED ADMINISTRATION AND INQUIRY OF BOOK INFORMATION-STANDERD SYSTEM-%d.&d",x,y);printf("\n\t\t powered by Group II in 3.2012");printf("\n\n\n\t\t\t SPECIAL THANKS FOR\n");printf("\n\t[] Peter Horuce ^_^ for Main Function & Debugging");printf("\n\t[] WangYueWei ^_^ for Program Design & ...");printf("\n\t[] ZhangYanDong ^_^ for Book Data Input Function");printf("\n\t[] ZhangBeiBei ^_^ for the ...");printf("\n\t[] GuoXinYu ^_^ for the ...");printf("\n\t[] SongShaoXiu ^_^ for the ...");printf("\n\t[] GuLingKai ^_^ for the ...");printf("\n\t[] ZhenYiFeng ^_^ for the ...");printf("\n\t[] WangJieYao ^_^ for the ...");printf("\n\t[] LiLuZi ^_^ for the ...");printf("\n\t[] WangSanHu ^_^ for the ...");printf("\n\t[] HuangFangHao ^_^ for the ...");printf("\n");getch();break;}}5.图书添加void bkadd(){struct bkInfo book;FILE *fp;int n,i,j;char message[2];if((fp=fopen("e:\\bkInfo.txt","a"))==NULL){if((fp=fopen("e:\\bkInfo.txt","w"))==NULL){printf("Failed to open the file\n");return;}}printf("\n\n\n\t\t==========================\n");printf("\t\t Book Information Input \n");printf("\t\t==========================\n\n");printf("\t[] The number of your books that are to write in is(are):");scanf("%d",&n);gets(message);for(i=1;i<=n;i++){printf("\n\n\t[] Now please write in the info:\n\n\n");printf("\t1.BOOK'S ID: ");gets(book.idNum);printf("\t2.BOOK'S NAME: ");gets(book.bkName);printf("\t3.AUTHOR'S NAME: ");gets(book.writer);printf("\t4.PRESS OF BOOK: ");gets(book.press);printf("\t5.BOOK'S PRICE: ");gets(book.price);printf("\t6.PUBLISHED TIME: ");gets(book.pubTime);printf("\t7.CLASSIFICATION: ");gets(book.claNum);fprintf(fp,"%s %s %s %s %s %s %s\n",&book.idNum,&book.bkName,&book.writer, &book.press,&book.price,&book.pubTime,&book.claNum);}printf("\n\n\n\t[] All data have been saved!\n\n\t[] Back to MENU(1) or just QUIT(2) ?");printf("\n\nYOU CHOOSE:"); /*服务选择*/scanf("%d",&j);while(j!=1&&j!=2){printf("\n\n\t[] Unidentified option,please recheck!");printf("\n\t[] Enter 1 for MENU or 2 for QUIT");printf("\n\nYOU CHOOSE:");scanf("%d",&j);}if(j==1) /*返回菜单*/{printf("\n");menua();}if(j==2) /*选择结束*/{ printf("\n\n\t\t\t\t ***QUIT***");printf("\n\t\t\tTHANKS FOR USING,SO LONG !!!\n");printf("\n\n UNITED ADMINISTRATION AND INQUIRY OF BOOK INFORMATION-STANDERD SYSTEM-%d.&d",x,y);printf("\n\t\t powered by Group II in 3.2012");printf("\n\n\n\t\t\t SPECIAL THANKS FOR\n");printf("\n\t[] Peter Horuce ^_^ for Main Function & Debugging");printf("\n\t[] WangYueWei ^_^ for Program Design & ...");printf("\n\t[] ZhangYanDong ^_^ for Book Data Input Function");printf("\n\t[] ZhangBeiBei ^_^ for the ...");printf("\n\t[] GuoXinYu ^_^ for the ...");printf("\n\t[] SongShaoXiu ^_^ for the ...");printf("\n\t[] GuLingKai ^_^ for the ...");printf("\n\t[] ZhenYiFeng ^_^ for the ...");printf("\n\t[] WangJieYao ^_^ for the ...");printf("\n\t[] LiLuZi ^_^ for the ...");printf("\n\t[] WangSanHu ^_^ for the ...");printf("\n\t[] HuangFangHao ^_^ for the ...");printf("\n");getch();}fclose(fp);}五.后记1. 课程设计中遇到的主要问题和解决方法2. 创新和得意之处•界面美观•管理员有固定的登录名和密码•有语言包的选择:满足大部分人群需求•管理员和读者都可登录:系统包容性大•错选反馈:人机交互性强•一次性多重输入:方便操作•退出送别3. 设计中存在的不足及改进的设想由于编译器的局限,我们未能实现语言多重化的目标,目前系统中只存在英文版本。
图书信息管理系统题目摘要:该系统存储以下信息:(1)对于同一作者同一书名的书,存储书名、数目编号、作者名、库存册数已借出册数(2)对于每一本书还要存储一个登录号、当前借阅该书的读者姓名与借书证号、借阅日期系统功能要求如下:1 图书信息录入功能(图书信息用文件保存)2 图书信息浏览功能,查询或排序功能:(至少一种查询方式)3 按书名查询4 按作者名查询5 图书信息的删除与修改一、模块设计二、主要数据结构图书结构体:typedef struct book{char bname[20]; /*书名*/char bnum[20]; /*书编号*/char booktype[20]; /*分类号*/char plase[30]; /*出版单位*/char pbtime[20]; /*出版时间*/float price; /*价格*/char auter[20]; /*作者名字*/char F; /*是否在馆*/}books;会员信息结构体:typedef struct peope{char pnum[20]; /*借书证的号码*/int type; /*会员类型*/char pname[20]; /*名字*/char pmima[10]; /*密码*/int n; /*最多接的书本数*/int m; /*借书本数*/union{struct Pbook{char pbooks[20]; /*借书的书本名*/char ptime[20]; /*借书的时间*/ }peop[6]; /*普通会员*/struct VPbook{char vpbooks[20]; /*借书的书本名*/char vptime[20]; /*借书的时间*/}vpeop[10]; /*高级会员*/ }kind;}peoper;全局变量:int B,P; /*B库存的书本数;P普通会员的人数;*/ books Book[1000]; peoper peo[100];三、流程图四、算法清单//增加书籍void Liberian::Append(fstream& storef){bookData book;int choice;int key;int num;(0,ios::end);int posEnd=();cout<<"*************书籍入库***************"<<endl;while(1){cout<<" Please enter your choice:"<<endl;cout<<"1--添加新书\n"<<"2--已有书籍\n"<<"0--返回\n";cin>>choice;switch(choice){case 1:cout<<" 书号, 书名, 数量, 作者,价格,出版社,出版时间?"<<endl; cin>>>>>>>>>>>>>>;(reinterpret_cast<char*>(&book),sizeof(bookData));break;//书籍查询void Find(fstream & f){bookData book;int key;int choice;(0,ios::end);int posEnd=();cout<<"*************书籍查询***************"<<endl;while(1){cout<<" 请输入您的选择\n"<<" 1-- 检索一本书\n"<<"2-- 显示全部书籍\n"<<"0-- 返回\n";cin>>choice;switch(choice){case 1:(0,ios::beg);cout<<"输入你想检索书的书号"<<endl;cin>>key;do{(reinterpret_cast<char*>(&book),sizeof(bookData)); }while!=key&&()!=posEnd);if==key)cout<<<<"---"<<<<"---"<<<<"---"<<<<"---"<<<<endl; elsecout<<"找不到此书,请重新确认!"<<endl;break;//查找读者void Reader::Addreader(){Person temp;bookData book={0,"0",0};(0,ios::end);int Posend=();cout<<"输入你想要增加的读者的名字"<<endl;cin>>;cout<<"新读者的学号:"<<endl;cin>>;[1]=book; [0]=book; =0;(reinterpret_cast<char*>(&temp),sizeof(Person));cout<<" 成功添加!"<<<<endl;}bool Reader::findreader(){(0,ios::end);int Posend=();char name[20];Person guest={"0","0",0,{{0,"0",0},{0,"0",0}}};cout<<"输入查找人的名字!";cin>>name;(0);do{(reinterpret_cast<char*>(&person),sizeof(Person)); }while(strcmp(name,&&()!=Posend);if(!strcmp(name,){cout<<"查到此人:"<<<<endl;return true;}else{cout<<"找不到此人,请重新确认!"<<endl; return false;}五、测试情况运行程序,首页显示如下:增加新书运行程序如下:借书运行程序如下:六、小结我做的是图书馆管理系统的课程设计,虽然是很简单的一个小的程序,但对我来说却是一个很大的困难。
c图书管理系统课程设计一、课程目标知识目标:1. 让学生理解图书管理系统的基本概念和功能,掌握其操作流程。
2. 使学生掌握数据库的基本操作,如数据查询、添加、删除和修改。
3. 帮助学生了解程序设计的基本思想,如面向对象编程和模块化设计。
技能目标:1. 培养学生运用所学知识设计和实现一个简单的图书管理系统。
2. 提高学生运用数据库技术进行数据管理的能力。
3. 培养学生分析问题、解决问题的能力,以及团队协作和沟通能力。
情感态度价值观目标:1. 培养学生对计算机科学和信息技术课程的兴趣和热情。
2. 培养学生认真负责、严谨细致的工作态度。
3. 增强学生的版权意识,尊重他人劳动成果。
课程性质分析:本课程为信息技术课程,旨在通过实践操作,让学生掌握数据库和程序设计的基本知识,提高其信息素养。
学生特点分析:六年级学生已经具备了一定的计算机操作能力,对新鲜事物充满好奇,但注意力容易分散,需要教师引导。
教学要求:1. 结合教材,注重实践,让学生在实际操作中掌握知识。
2. 创设情境,激发学生兴趣,提高课堂参与度。
3. 注重分层教学,关注个体差异,使每个学生都能在原有基础上得到提高。
二、教学内容1. 理论知识:- 图书管理系统概述:介绍图书管理系统的基本概念、功能及作用。
- 数据库基础知识:讲解数据库的基本概念、关系型数据库的原理及SQL语言基础。
- 程序设计基础:介绍面向对象编程思想和模块化设计。
2. 实践操作:- 数据库操作:学习使用数据库软件(如Access)进行数据的创建、查询、添加、删除和修改。
- 程序设计:运用面向对象编程语言(如Python)设计和实现图书管理系统功能模块。
- 系统集成:将各个功能模块整合为一个完整的图书管理系统。
3. 教学大纲:- 第一周:图书管理系统概述、数据库基础知识。
- 第二周:关系型数据库操作、SQL语言基础。
- 第三周:程序设计基础、面向对象编程。
- 第四周:图书管理系统功能模块设计及实现。
课程设计报告课程名称C语言程序设计课题名称图书信息管理系统专业电子技术班级学号姓名指导教师2015年12月31 日湖南工程学院课程设计任务书课程名称C语言程序设计课题图书信息管理系统专业班级电子技术学生姓名学号201501040120指导老师审批任务书下达日期2015 年12月31日任务完成日期2016 年元月10日目录一.系统的主要思路 (1)二、系统的主要功能 (2)1、显示功能 (2)2、追加功能 (2)3、修改模块 (2)4、删除模块 (2)5、查询模块 (2)6、统计模块 (2)7、排序模块 (2)8、退出模块 (2)三.系统功能模块的划分 (3)1.总体模块功能框图 (3)四.总流程图 (4)1.总流程图 (4)2.八大模块的流程图 (7)五.程序调试 (22)1.显示模块 (23)2 . 追加模块 (26)3. 修改模块 (29)4. 删除模块 (34)5. 查询模块 (39)6. 统计模块 (44)7.排序模块 (47)8. 退出模块 (51)六.心得与体会 (52)七.参考文献:........................................ 错误!未定义书签。
八.附件: (52)一.系统的主要思路此系统事用C语言实现一个图书馆信息管理系统;利用结构体数组实现图书馆信息的数据结构;例如,删除图书信息、追加图书信息、修改图书信息、图书信息的统计等等;系统的各个功能调用各个函数的形式实现;并提供一个界面来调用,各个功能的操作。
首先我们要对系统操作就必须先创建一个数据库,用来存放各图书的信息,如:图书编号、分类号、书名、作者名、出版单位、出版时间、入库时间、单价等。
并用读函数fscanf读取数据,然后才能进入主控程序。
然后,运行该程序显示的为主菜单界面,并且主菜单界面显示调用各个功能函数的功能键;通过提示用户,调用各个功能操作。
按下相应的功能键,就会进入相应的功能模块系统,并进行相应的操作。
课程设计报告课程名称C语言程序设计课题名称图书信息管理系统专业电子技术班级1101班学号201101040240姓名陈正军指导教师2012年6 月19 日湖南工程学院课程设计任务书课程名称C语言程序设计课题图书信息管理系统专业班级电子技术1101班学生姓名陈正军学号201101040240指导老师审批任务书下达日期2012 年6月19日任务完成日期2012 年7 月4 日一、设计内容与设计要求1.设计内容:图书信息管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握数组的基本概念。
熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。
③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。
④掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。
⑤掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。
2.设计要求:1)用C语言实现系统;利用结构体数组实现图书信息的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能, 调用界面和各个功能的操作界面应尽可能清晰美观。
2) 建立一个图书信息数据库,文件名为book.txt,并从该文件中读取数据;3) 图书信息管理系统应能提供以下功能:①系统以菜单方式工作②图书信息显示功能;能以表格形式显示图书库中所有信息,且应有表头。
③图书信息追加功能;追加一条(或多条)新记录,要求在追加过程中有相应的提示信息,完成追加后能重新排序和显示;④图书信息查询功能;a. 按书名查询;b. 按单价查询;c. 按出版单位查询;d. 按出版时间查询e. 按分类号查询;f. 按入库时间查询要求系统在上述查询方式中至少应有两种以上的查询方式,且能显示符合条件的所有记录。
1 信息科学与技术学院 程序设计基础课程设计报告
题目名称: 图书信息管理系统设计
2012年 6月21日 2
1. 课程设计目的 .......................................... 3 1.1. 课程设计的题目 ....................................... 3 1.2. 课程设计的要求 ....................................... 3 1.2.1 问题描述(功能要求): ....................................................................................... 3 1.2.2问题的解决方案: .................................................................................................. 3 1.2.3其他要求: .............................................................................................................. 3
2. 总体设计 .............................................. 4
2.1. 新书入库模块 ......................................... 4 2.2. 信息查询模块 ......................................... 4 2.2.1读者信息查询模块 .................................................................................................. 4 2.2.2图书信息查询模块 .................................................................................................. 4 2.2.3打印图书信息 .......................................................................................................... 4 2.2.4打印读者信息 .......................................................................................................... 4
void StuCover(){system("cls”);printf(”\n\n\n");printf(”\t\t 通讯录管理系统\n\n");printf(”\t\t 版本号:1.0\n\n”);printf(”\n\n\n\n”);printf("\t\t 2012年4月\n\n");printf(”\t\t 程序设计A组\n");}void MainMenu(){system("cls”);printf(”\n\n\n");printf(”|* ** **通信录管理系统* ****|\n”);printf(" |..。
..。
..。
....。
.。
.。
.。
.。
.。
.。
|\n”);printf(”| 请选择菜单序号(0~5)|\n");printf(" |。
..。
.。
.。
.。
...。
...。
....。
..... |\n”);printf(” |。
.。
.。
.。
..。
...。
.。
...。
.。
.。
. |\n");printf(" | 1。
..查看功能|\n”);printf(”| 2。
.增加功能|\n”);printf(”| 3。
拨号功能|\n");printf(”|4。
.。
修改功能|\n");printf(”| 5。
.。
删除功能|\n");printf(”|0。
退出系统|\n");printf(" \t\t请选择序号:");}void DispMenu(){int n;system(”cls”);printf("\n\n\n”);printf(”| ┄─━━━━查看功能子菜单━━━━─┄|\n”);printf(" | ┄─━━━━━━━☆━━━━━━━─┄|\n”);printf(" |请选择菜单序号【0~3】|\n”);printf(”|┄─━━━━━━━★━━━━━━━─┄|\n”);printf(" | 1 ━━━办公类|\n”);printf(" | 2 ━━━个人类|\n");printf(" | 3 ━━━商务类|\n");printf(" |0 ━━━返回上级菜单|\n");printf(”|┄─━━━━━━━━━━━━━━━─┄|\n");printf(”\t\t请选择序号:”);scanf(”%d",&n);printf("您选择了第%d项!\n”,n);}void zengjiaMenu(){int n;system(”cls");printf("\n\n\n");printf(" | ┄─━━━━增加功能子菜单━━━━─┄|\n”);printf(”| ┄─━━━━━━━☆━━━━━━━─┄|\n");printf(”|请选择菜单序号【0~3】|\n”);printf(”| ┄─━━━━━━━★━━━━━━━─┄|\n”);printf(”| 1 ━━━办公类|\n”);printf(" | 2 ━━━个人类|\n");printf(" | 3 ━━━商务类|\n");printf(" |0 ━━━返回上级菜单|\n”);printf(" | ┄─━━━━━━━━━━━━━━━─┄|\n”);printf(”\t\t请选择序号:");scanf("%d",&n);printf("您选择了第%d项!\n”,n);}void Quit(int flag){if (flag==1){system(”cls");printf(”\n\n\n\n\n\t\t\t操作结束,退出系统!");getch();system(”cls”);exit(0);}elseif(flag==0){system(”cls");printf("\n\n\n\n\t\t\t操作结束,返回上级菜单!”);getch();system("cls”);}}void main(){ int number,dispnum,disnum;StuCover();getch();do{MainMenu();printf ("\n\t请选择序号:\n”);scanf(”%d",&number);switch (number){case 1:do{DispMenu();printf(”\t\t请输入序号:”);scanf(”%d",&dispnum);switch(dispnum){case 1:printf("办公类”); getch();break;case 2:printf(”个人类”);getch(); break;case 3: printf(”商务类"); getch();break;case 0: Quit(0);default:printf(”输入错误,请重新输入");getch();}}while (dispnum!=0); break;case 2: do{zengjiaMenu();printf(”\t\t请输入序号:”);scanf("%d”,&disnum);switch(disnum){case 1:printf(”办公类”);getch(); break;case 2: printf(”个人类”);getch(); break;case 3: printf(" 商务类"); getch(); break;case 0: Quit(0);default:printf("输入错误,请重新输入”);getch();}}while (disnum!=0); break;case 3:printf("拨号功能");getch();break;case 4:printf("修改功能");getch();break;case 5:printf(”删除功能");getch();break;case 0: Quit(1);break;default:printf(”输入错误,请重新输入”);getch();}}while(number!=0);}。
《C#程序设计》课程设计报告课程设计题目:图书馆信息管理系统作者所在系部:计算机与遥感信息技术学院作者所在专业:网络工程作者所在班级: ****** 作者姓名: **作者学号: *********** 指导教师: ***完成时间: 2014.12.25课程设计任务书摘要随着计算机技术的飞快发,电子信息化慢慢替代了企业管理的传统管理手法。
这是一种现代流行的经营模式,采用管理系统是能够有效提高管理效率的。
图书馆管理系统是学校管理机制中重要的一环。
图书馆代表着一间学校或者地区的文化标志。
因为图书馆丰富的图书资源能够带给我们重要并且优越的学习资源。
通过对图书管理系统的运行管理机制进行调查研究,开发了此图书系统。
本系统中解决了学校图书管理事务中的常用基本问题以及相关统计工作。
本系统中包含6个功能模块:借阅处理(借书处理、还书处理),信息查询(读者信息查询、借阅信息查询、图书信息查询),图书信息管理(图书入库、修改图书信息、删除图书信息),读者信息管理(添加读者信息、修改读者信息、删除读者信息),员工信息管理(添加员工信息、修改员工信息、删除员工信息)只有管理员可以有此功能,系统设置(用户密码修改)。
关键词:图书管理系统SQL server .NET平台目录第1章绪论 (1)1.1 课题研究现状分析 (1)1.1.1 本领域已开展的研究工作 (1)1.理论研究基础 (1)2.技术层面的支持 (2)1.1.2 已经取得的研究成果 (2)1.2 选题的目的及意义 (2)第2章系统需求分析 (3)2.1 问题的提出 (3)2.2 系统的设计目标 (3)第3章系统总体设计 (4)3.1 系统功能设计 (4)3.1.1 系统登录 (4)3.1.2 系统设置 (5)3.1.3 借阅处理 (5)3.1.4 信息查询 (6)3.1.5 图书信息管理 (6)3.1.6 读者信息管理 (7)3.1.7 员工信息管理 (8)3.2 数据库的设计 (8)3.3 库中各个表的设计 (9)3.3.1.图书信息表 (9)3.3.2.借阅信息表 (9)3.3.3.读者信息表 (9)3.3.4.员工信息表 (10)第4章系统实现 (11)4.1 数据库操作类 (11)4.2 登录模块实现 (11)4.3 系统设置模块实现 (12)4.4 借阅处理模块实现 (14)4.5 信息查询模块实现 (16)4.6 图书信息管理模块实现 (18)4.7 读者信息管理模块实现 (20)4.8 员工信息管理模块实现 (21)第5章系统使用说明 (23)5.1 系统使用说明 (23)5.2 系统说明 (23)第6章课程设计总结 (24)6.1 主要问题及解决办法 (24)6.2 课程设计体会 (24)6.3 自我评定 (24)参考文献 (25)第1章绪论随着高校办学规模的不断扩大,学生人数增多,图书馆的图书数量也不断增多,若仍采用传统手工记录的方式管理或用较为粗糙的管理软件,则耗费人力且错误率高,因此,开发适合某高校自身的图书馆信息管理系统,对图书进行科学管理,合理借阅,确保这些固定资产保值增值,是十分必要的。
1 信息科学与技术学院 程序设计基础课程设计报告
题目名称: 图书信息管理系统设计 学生姓名: *** 学 号: ******* 专业班级: 计科专业计双2011级1班 指导教师: * *
2012年 6月21日 2
1. 课程设计目的 .......................................... 3 1.1. 课程设计的题目 ....................................... 3 1.2. 课程设计的要求 ....................................... 3 1.2.1 问题描述(功能要求): ....................................................................................... 3 1.2.2问题的解决方案: .................................................................................................. 3 1.2.3其他要求: .............................................................................................................. 3
2. 总体设计 .............................................. 4
2.1. 新书入库模块 ......................................... 4 2.2. 信息查询模块 ......................................... 4 2.2.1读者信息查询模块 .................................................................................................. 4 2.2.2图书信息查询模块 .................................................................................................. 4 2.2.3打印图书信息 .......................................................................................................... 4 2.2.4打印读者信息 .......................................................................................................... 4
2.3. 借书模块 ............................................. 4
2.4. 还书模块 ............................................. 4 3. 详细设计 .............................................. 5 3.1. 类设计 ............................................... 5 3.2. 基本操作函数 ......................................... 5 3.3. 程序流程图 ........................................... 6 3.3.1主函数流程图 .......................................................................................................... 6 3.3.2初始化模块 .............................................................................................................. 7 3.3.3借书模块 .................................................................................................................. 7 3.3.4新书入库模块 .......................................................................................................... 8 3.3.5信息查询模块 .......................................................................................................... 8 3.3.6还书模块 .................................................................................................................. 9
4. 运行结果 .............................................. 9
5. 设计源码 ............................................. 16 6. 课程设计总结 ......................................... 31 7. 参考书目: ........................................... 31 3
1. 课程设计目的 1.1. 课程设计的题目 图书信息管理系统设计 1.2. 课程设计的要求
1.2.1 问题描述(功能要求): 图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能: (1)系统以菜单方式工作 (2)图书信息录入功能(图书信息以文件保存)——输入 (3)图书信息浏览功能——输出 (4)查询和排序功能:(至少一种查询方式)——算法 (5)图书信息的删除与修改(可选项)
1.2.2问题的解决方案: (1)分析系统中的各个实体之间的关系及其属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中的各个类的描述(包括属性和方法) (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试 (7)完成系统总结报告以及系统使用说明书。
1.2.3其他要求: (1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好) (3)学生可自动增加新功能模块 4
2. 总体设计 2.1. 新书入库模块 功能:登记入库的新书信息 2.2. 信息查询模块
2.2.1读者信息查询模块 功能:查询某一读者的信息 2.2.2图书信息查询模块 功能:查询某一图书的信息 2.2.3打印图书信息 功能:打印所有图书的信息 2.2.4打印读者信息 功能:打印所有读者的信息 2.3. 借书模块 功能:登记读者的借书信息 2.4. 还书模块 功能:登记读者的还书信息
图书信息管理系统设计
新书入库 信息查询 借书登记 还书管理
读者信息查询 图书信息查询 打印图书
信息 打印读者
信息 5
3. 详细设计 3.1. 类设计 typedef struct BOOK //声明图书结构体变量BOOK,表示图书信息 { char number[10]; //书号 char title[20]; //书名 char writer[10]; //作者 char publish[20]; //出版社 int year; //出版年份 int month; //出版月份 int day; //出版日期 float price; //出版价格 int storage; //库存量 int remain; //现存量 struct BOOK *next; //下一个节点指针 }BOOK;
typedef struct BORROW //借书信息 { char book_number[10]; //书号 }BORROW;
typedef struct READER //读者信息 { char number[3]; //读者编号 char name[10]; //读者名字 int borrow_amount; //当前借书量 BORROW borrow[Max]; //借书信息 struct READER *next; }READER;
3.2. 基本操作函数 int DisplayMenu(); //显示主菜单 void Initialize(); //初始化(初始化读者和图书的信息) void Init_reader(); //初始化读者信息 void Init_book(); //初始化图书信息 void Insert_New_Book(); //新书入库模块 int Find(); //查找菜单 void Find_Select(); //查找菜单选择函数