C语言程序设计报告-图书管理系统
c语言程序设计报告--图书管理系统_第二组
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. 设计中存在的不足及改进的设想由于编译器的局限,我们未能实现语言多重化的目标,目前系统中只存在英文版本。
c语言课程设计报告图书管理系统
c语言课程设计报告图书管理系统一、教学目标本课程的目标是使学生掌握C语言的基本语法,熟悉图书管理系统的开发流程,培养学生运用C语言解决实际问题的能力。
具体目标如下:1.知识目标:–掌握C语言的基本语法和数据结构。
–理解图书管理系统的需求和设计原理。
2.技能目标:–能够使用C语言编写简单的程序。
–学会使用C语言实现图书管理系统的功能。
3.情感态度价值观目标:–培养学生的团队协作意识和沟通能力。
–增强学生对计算机科学和编程的兴趣和热情。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构以及图书管理系统的开发。
具体安排如下:1.C语言的基本语法:–变量和数据类型–运算符和表达式–函数和数组–指针和引用2.数据结构:3.图书管理系统的开发:–系统测试和优化三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性。
具体方法如下:1.讲授法:用于讲解C语言的基本语法和数据结构。
2.案例分析法:通过分析具体的图书管理系统案例,使学生更好地理解系统设计和功能实现。
3.实验法:让学生动手编写程序,巩固所学知识,提高实际操作能力。
4.小组讨论法:鼓励学生分组讨论,培养团队协作意识和沟通能力。
四、教学资源本课程所需的教学资源包括:1.教材:《C语言程序设计》2.参考书:《C Primer Plus》、《数据结构与算法分析》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、网络设备以上教学资源将用于支持教学内容和教学方法的实施,丰富学生的学习体验。
五、教学评估本课程的评估方式包括平时表现、作业、考试等。
评估方式应客观、公正,能够全面反映学生的学习成果。
具体安排如下:1.平时表现:包括课堂参与度、提问回答、小组讨论等,占总评的20%。
2.作业:包括编程练习和理论作业,占总评的30%。
3.考试:包括期中和期末考试,占总评的50%。
期中和期末考试将涵盖C语言基本语法、数据结构以及图书管理系统的开发内容。
C语言程序设计大作业--图书管理系统
C语言程序设计大作业设计报告一.设计方案本程序旨在用一个C语言程序实现简单的图书馆图书管理系统,程序包含平时的借书,还书,新书录入,查询功能,用简单明了的人机交互界面快速实现图书管理的目的。
二.模块说明及代码分析1.主函数:源代码:void main(){int a;printf("\n");printf("\n");printf(" ( ^_^ ) WELCOME!\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\t〉〉-------------BJTU图书管理系统--------------〈〈");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");do {printf("1.借书 2.还书 3.新书录入4.查询 0.退出");printf("\n");printf("\n");printf("\n");printf("\n");printf("请选择序号:");scanf("%d",&a);switch(a){case 1:jieshu();break;case 2:huanshu();break;case 3:xinshu();break;case 4:chaxun();break;case 0:break;default:printf("请选择正确的序号!\n");printf("\n");}}while(a!=0);printf("谢谢使用图书管理系统!\n");}主函数提供人机交互界面,让操作者选择所需的操作项目,并有退出选项。
C语言图书管理系统程序设计报告
目录一、设计任务书 (3)二、本组课题及本人任务 (3)三、程序功能简介 (4)四、主体内容 (4)1.设计分析 (4)2.程序结构 (5)3.各模块的功能及程序说明 (5)4. 源程序 (6)5.操作方法 (17)6.试验结果 (18)7.设计体会 (22)五、附录 (23)1.流程图 (23)2.过程列表 (26)一、设计任务书1.目的1)复习、巩固C语言的基础知识,进一步加深对C语言的理解和掌握。
2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力。
3)培养学生在项目开发中团队合作精神、创新意识及能力。
2.要求:1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理。
2)系统设计要实用,编程简练,可用,功能全面。
3)说明书、流程图要清楚。
4)记录设计情况(备查,也为编写设计说明书作好准备)。
5)要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。
6)设计上交内容:设计报告一份(按格式书写);源程序一份,能编译成可执行文件并能正常运行。
二、本组课题及本人任务课题:图书信息管理系统设计图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
试设计一图书信息管理系统,使之能提供以下功能:1.系统以菜单方式工作。
2.图书信息录入功能(图书信息用文件保存)--输入。
3.图书信息浏览功能--输出。
4.查询和排序功能:(至少一种查询方式)--算法。
a. 按书名查。
b.按作者名查询。
本人任务:负责设计和编写图书信息管理系统的修改图书信息部分。
三、程序功能简介本系统是以visual C++ 6.0 环境下用C语言开发的一个图书管理系统。
本系统具有图书信息录入、浏览、删除、修改、查找(包括按书名、作者查找)功能。
图书馆管理系统(C语言程序设计)
图书管理系统/*图书数据由编号、书名、出版社、单价和图书状态(库存用0表示或借出用读者编号表示),读者数据由编号、姓名和电话号码构成。
实现功能包括:(1)添加图书的记录(2)图书管理(借书和还书)(3)对图书数据排序(按单价的降序)(4)删除图书记录(5)修改图书记录(6)添加读者记录(7)输出图书信息表和读者信息表*#include <stdio.h>#include <string.h>#include <stdlib.h>#include <windows.h>/*函数的声明*/void bookname();void writername();void booknumber();void press();void bookdate();void Bfind(); //查询主菜单void Bdevise(); //修改函数void Badd(); //添加函数void Bdelete(); //删除函数void Bdisplay(); //显示所以已保存的图书信息函数void Bclean(); //清除所有图书信息函数void lendbook(); // 借书函数void returnbook(); //还书函数void lendorreturnbook();//借书或还书主菜单函数void appealkey();//用户密码申诉函数void devisepeoplekey();//修改用户密码函数void accountapply(); //用户申请账户函数void addpeopleaccount(); //管理员之添加用户帐号函数void addmanageaccount(); //管理员之添加管理员账号函数void addaccount(); //管理员之账户添加主菜单函数void devisepeopleaccount();//管理员之修改用户账号函数void devisemanageaccount();//管理员之修改管理员帐号函数void deviseaccount();//管理员之修改账号主菜单函数void deletepeopleaccount();//管理员之删除用户账号函数void deletemanageaccount();//管理员之删除管理员账号函数void deleteaccount();//管理员之删除账号主菜单函数void displayallpeopleaccounts();//显示所有用户信息函数void displayallmanageaccounts();//显示所有管理员信息函数void displayallaccountsmessage();//显示所有账号信息主菜单函数void highaddpeopleaccount(); //高级管理员添加用户账户函数void highaddmanageaccount(); //高级管理员添加管理员账户函数void highaddaccount(); //高级管理员之添加账户主菜单函数void booksmanage();//图书操作主菜单函数void accountsmanage();//管理员账号操作主菜单函数void highaccountsmanage();//高级管理员账号操作主菜单函数void menu1(); //用户之查询主菜单void menu2(); //管理员之查询主菜单void menu3(); //高级管理员之查询主菜单/*定义书的类型*/struct book{int bookstock; //库存量char bookname[20]; //书名char bookwriter[20]; //作者char booknumber[20]; //书号char press[20]; //出版社char bookdate[20]; //出版日期char price[20]; //出版价格int turefalse; //判断图书是否被借阅}books[20];/*定义用户类型*/struct peopleaccount{char pname[20];char pkey[20];}peopleaccounts[20];/*定义管理员类型*/struct manageaccount{char mname[20];char mkey[20];}manageaccounts[20];/*定义借书卡类型*/struct card{char cardnumber[20]; //借书卡号和用户信息一起写入yonghu.txt文件中的}cards[20];/*定义文件指针变量*/FILE *fp1; //fp1打开用户信息文件FILE *fp2; //fp2打开管理员信息文件FILE *fp3; //fp3打开图书信息文件FILE *fp4; //打开借还书记录的文件FILE *fpa; //fpa是临时文件指针/*改变输出的字体颜色*/void color(const unsigned short color1){if(color1>=0&&color1<=15)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color1);/*仅限改变0-15的颜色;如果在0-15那么实现他的颜色因为如果超过15后面的改变的是文本背景色。
C语言图书管理系统程序设计报告
高级语言程序设计(2)课程设计一程序设计说明书【设计题目】图书馆借阅管理【问题描述】图书馆,适合用C++面向对象的功能来描述。
图书馆管理系统分为借书、还书、图书管理和读者服务等四个部分。
设计一个读者类Reader,记录每个读者基本信息;读者库类Rdatabase,记录所有读者信息;图书类Book, 记录每本书的基本信息;图书库类Bdatabase, 记录所有图书信息。
【基本要求】1读者库类RDatabase中,其构造函数中,将read.txt文件中所有读入读者记录rede[]中。
处理完毕,在析构函数中将read[]中的所有未删记录写入到read.txt中。
2图书库类BDatabase中,其构造函数中,将book.txt文件中所有读入图书记录book[]中。
处理完毕,在析构函数中将book[]中的所有未删记录写入到book.txt中。
3 利用构造函数完成读者和图书数据初始化,完成内存分配。
程序结束前,析构函数完成所申请的堆内存空间。
4 编写主函数,对所编写的矩阵类进行全面测试。
要求用户界面采用菜单方式。
测试中需要读者和图书数据通过I/O流从磁盘文件读入,同时显示在屏幕上。
得到的数据通过I/O流写入磁盘文件保存,同时显示在屏幕上。
5 源程序中要有充分的注释,报告中要有详细的流程图和文字材料。
【类的设计】该程序包含了四个类,如下:1.Reader类,有读者的基本管理功能,具有以下私有数据:int tag;//删除标记 1:已删;0:未删int no;//读者编号char name[10];//读者姓名int borbook[Maxbor];//所借图书2.读者库类Rdatabase, 具有以下私有数据:int top;//读者记录指针Reader read[Maxr];//读者记录3.图书库类Book,有一本图书的基本功能,有以下私有数据:int tag;//删除标记 1:已删;0:未删int no;//图书编号char name[20];//书名int onshelf;//是否在架 1在架 0已借4.图书库类BDatabase,有以下私有数据:int top;//图书记录指针Book book[Maxb];//图书记录【特殊函数的设计说明】构造函数1.Reader类中构造函数Reader(),初始化函数;2.读者库类RDatabase中,其构造函数Rdatabase(),将read.txt文件中所有读入读者记录rede[]中。
c语言课程设计报告 图书管理系统
第一章§ 1.1 题目描述图书管理系统设计:【要求】图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。
试设计一图书管理系统,使之能提供以下功能:(1)新图书基本信息的输入;(2)图书基本信息的查询;(3)对撤销图书信息的删除;(4)办理借书手续;(5)办理还书手续;【提示】建立图书馆里信息结构体,结构体成员包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号。
存在状态设为整型,可用不同数字代表借还状态。
借书和还书手续要注意修改结构体的成员变量存在状态的值。
§ 1.2 算法设计1.设计思想:在整个系统编写的过程中,涉及了较多 C 语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。
由此进一步加深、巩固了所学的课程的基本理论知识,培养了综合分析问题、解决问题的能力。
在设计程序时,参考了学校图书馆的图书管理系统,实现了程序的模块化、结构化。
在主函数中调用各种函数,操作界面简单,易操作,人机互动性较强。
2.实现注释:这个实用的小型图书管理系统程序以结构体数组指针操作完成,并实现文件信息的录入、修改和保存等功能,所有信息以磁盘文件方式保存,方便用户使用。
本图书管理系统分为管理员和学生两个部分,其基本功能包括了对图书信息的存储、查询、添加、删除和借书、还书手续办理等。
查询时可按书名、编号等方式查询,找到后输出这本书的所有信息。
可查询图书的在库状态,方便用户进行借书、还书操作。
在借书还书成功后图书的在库状态自动改变,并更新信息到数据库。
系统中主要的数据结构就是图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。
在处理过程中各项可以作为一本图书的不同属性来进行处理。
3 •结构体系设计图1.1 :主函数结构;图1.2 :新书信息录入流程;图 1.3 :图书信息查询(管理员)流程;图1.4 :图书信息查询(学生)流程;图 1.5 :图书信息删除流程;图 1.6 :办理借书手续流程;图 1.7 :办理还书手续流程;S1.1囹1.4•管理负功能菜单<圈书信息删除出枪索结果/S1.5>学生功能菜单办理借书手续输出檢索结果一是借书办湮成功<1 ------------------- •辐入个人信息/■图1.6^l.T1.3 程序设计及代码分析1.程序设计:下面,我大致介绍一下我的系统的主要功能和注意事项:当运行此程序时,首先进入系统主界面,然后可以选择[1]. 管理员登陆(密码:123),[2]. 学生登陆,[0]. 退出系统;选择[1] 后进入管理员系统,验证密码成功后显示管理员功能菜单,按数字键选择所需服务。
图书管理系统C语言程序设计实验报告
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语言图书馆管理系统课程设计报告一、设计背景随着图书馆信息化管理的普及和发展,使用计算机进行图书馆管理已成为必然趋势。
为了提高图书馆管理工作的效率和准确性,本课程设计旨在设计一个基于C语言的图书馆管理系统。
二、设计目标1.实现对图书馆的基本信息进行添加、删除、修改和查询的功能。
2.实现对读者信息的管理,包括添加、删除、修改和查询。
3.实现借书和还书功能,包括借书时的借阅记录的生成和还书时相关操作。
4.实现图书馆管理员的登录和权限管理功能。
三、设计思路基于以上设计目标,我们将采取以下设计思路:1.设计合适的数据结构来存储图书馆、读者和借阅记录等信息。
2.设计相应的函数来实现对数据的增删改查操作。
3.设计用户界面,使用户可以方便地使用各种功能。
4.设计登录和权限管理功能,保证只有授权的管理员才能进行系统管理操作。
四、系统功能设计1. 图书馆管理功能•添加图书馆信息:输入图书馆名称、地址等信息,保存到系统中。
•删除图书馆信息:根据图书馆名称或其他唯一标识,删除相应的图书馆信息。
•修改图书馆信息:根据图书馆名称或其他唯一标识,修改相应的图书馆信息。
•查询图书馆信息:根据图书馆名称或其他唯一标识,查询相应的图书馆信息。
2. 读者管理功能•添加读者信息:输入读者姓名、年龄、性别等信息,保存到系统中。
•删除读者信息:根据读者姓名或其他唯一标识,删除相应的读者信息。
•修改读者信息:根据读者姓名或其他唯一标识,修改相应的读者信息。
•查询读者信息:根据读者姓名或其他唯一标识,查询相应的读者信息。
3. 借还书功能•借书:根据读者ID和图书ID,生成借阅记录,修改相应的图书和读者信息。
•还书:通过借阅记录中的借阅ID,找到相应的借阅记录,修改相应的图书和读者信息。
4. 登录和权限管理功能•管理员登录:输入管理员用户名和密码,验证登录信息。
•管理员权限管理:设置对应管理员的权限,包括“图书馆管理”和“读者管理”等。
五、系统实现本系统的实现将采用C语言作为开发语言,使用相关编程工具进行开发。
C语言课程设计报告图书管理系统
...... C语言课程设计报告院系:学号:班号:姓名:标题:图书管理系统目录第一部分题目要求 (3)第二部分需求分析 (3)第三部分总体设计 (4)第四部分详细设计 (4)1)主函数 (4)2)各功能模块设计 (6)3)公共函数 (16)第五部分上机操作 (17)第六部分总结 (20)附录(源代码) (22)第一部分题目要求图书管理系统包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等,是设计一图书管理系统,使之能够提供以下功能:1. 新图书基本信息的输入。
2. 图书基本信息的查询。
3. 对撤销图示基本信息的删除。
4. 办理借书手续。
5. 办理换书手续。
第二部分需求分析根据题目的要求,需要建立一个文件来保存图书信息,每本书的信息用一个结构体来保存,结构体的成员应包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号,结构体中的存在状态可设为整型,用不同数字代表借还状态;在借书和还书手续中,要注意结构体的成员变量存在状态的值,使用指针会比较方便。
程序中需要对图书信息实现输入、查询、删除、借书和还书的功能,首先要使用菜单进行各项功能的选择;其次需要有文件的输入、输出功能,提供显示、查找等操作。
在程序的运行过程中,注意各功能在使用完毕后返回菜单的设置,以方便运行。
第三部分总体设计根据上面的需求分析,可以将整个图书管理系统分为输入模块、查找模块、删除模块、借书模块和还书模块(如图3-1所示)。
图3-1 系统功能模块图第四部分 详细设计4.1 数据结构在这个程序里,每本书的信息用一个结构体book 来保存,结构体的成员应包括图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号,结构体中的存在状态设为整型,用不同数字代表库中高本书的数量。
struct book{ char title[30];int number;char author[30];float price;int store;char borrower_name[20];char borrower_gender[5];int borrower_number;}s[N];其中的N定义为该系统所管理书籍的最大值。
图书馆管理系统C语言课程设计报告(原创)
课程报告任务书1需求分析开发一个图书管理系统。
一、图书信息包括图书编号、书名、作者、价格、出版社、出版日期、类别、馆藏地址、库存量。
二、系统功能包括1 新建图书信息库2查询图书信息●全部查询●按书名查询●按作者查询●按类别查询3 图书排序●按编号排序●按价格排序4 图书信息插入(插入后仍按编号顺序排放的)5 图书信息删除(按书名查找删除)6 图书信息修改(按书名查询到书后可以进行选择对各项信息进行修改)7 图书数目统计8 图书信息保存在文件中三、在主函数里设计各个功能选项,然后调用相应的自定义子函数来实现功能。
2 概要设计(1) 数据结构主要数据结构:单链表//图书信息结构体struct book{char num[L]; //图书编号char name[M]; //书名char writer[M]; //作者char publisher[M]; //出版社char time[N]; //出版日期char category[n]; //类别char room[N]; //馆藏地址double price; //价格int amount; //库存量struct book *next;};(2) 模块划分主函数void main()自定义子函数即功能函数struct book * create(); // 新建图书信息库struct book * scanf1_(); //输入单本书的信息void printf1_(struct book *); //输出单本书的信息void chaxun_(struct book *); //综合查询void chaxun_all(struct book *); //全部信息浏览void chaxun_name(struct book *); //按书名查询void chaxun_writer(struct book *); //按作者查询void chaxun_category(struct book *); //按类别查询struct book *num_order(struct book *); //按编号排序struct book *price_order(struct book *); //按价格排序struct book *delete_(struct book *); //图书信息删除void change(struct book *,char a[]); //图书信息修改struct book *insert(struct book *); //图书信息插入int count(struct book *); //图书数目统计void save(struct book *); //保存到文件struct book *load(); //从文件读取信息到链表int quit(struct book *); //退出函数(3) 程序总体框架(4) 主界面是如下3 详细设计一main()主函数程序采用模块化设计,主函数是程序的入口,各模块独立,可分块调整,均由主函数控制。
图书管理系统的设计(C语言)
图书管理系统设计图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等功能描述:1 .新进熟土基本信息的输入2 .图书基本信息的查询3 .对撤销图书信息的删除4 .为借书人办理注册5 .办理借书手续6 .办理换书手续要求:以文件方式存储数据,系统以菜单方式工作。
这是本人大一第二学期初 C 语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中居然在QQ 网络硬盘中找到了当初的teta 版,发布于此,以作记念。
C 源代码如下:#include〈stdio 。
h〉#include<stdlib。
h〉#include〈string 。
h>struct book {char book_name [30];int bianhao;double price;char author[20];char state [20] ;char name[20];char sex [10];int xuehao;struct book *book_next;};struct club {char name [20];char sex[10];int xuehao;char borrow [30];struct club *club_next;};void Print_Book(struct book *head_book);/*浏览所有图书信息*/void Print_Club(struct club *head_club);/*浏览所有会员信息*/struct book *Create_New_Book();/*创建新的图书库, 图书编号输入为0 时结束*/struct book *Search_Book_bianhao(int bianhao,struct book *head_book);struct book *Search_Book_name (char *b_name,struct book *head_book);struct book *Search_Book_price (double price_h,double price_l,struct book *head_book);struct book *Insert_Book (struct book *head_book,struct book *stud_book) ;/*增加图书,逐个添加*/struct book *Delete_Book(struct book *head_book,int bianhao);/*删除图书*/struct club *Create_New_Club() ;struct club *Search_Club_xuehao(int xuehao,struct club *head_club);struct club *Search_Club_name (char *c_name,struct club *head_club);struct club *Insert_Club (struct club *head_club,struct club *stud_club);struct club *Delete_Club (struct club *head_club,int xuehao);struct book *Lent_Book (int bianhao ,int xuehao,struct book *head_book,struct club *head_club);struct book *back (int bianhao,int xuehao,struct book *head_book,struct club *head_club); int main(){struct book *head_book,*p_book;char book_name [30],name [20],author [20],sex [10];int bianhao;double price,price_h,price_l;int size_book=sizeof(struct book);int m=1,n=1,f;char *b_name,*c_name;struct club *head_club,*p_club;int xuehao;int size_club=sizeof (struct club) ;int choice;printf ("\n 欢迎您第一次进入图书管理系统!\n\n");printf("---——>[向导]————-〉[新建图书库] \n\n”) ;printf ("注意:当输入图书编号为0 时,进入下一步.\n\n");head_book=Create_New_Book();system(”cls”) ;printf("\n 欢迎您第一次进入图书管理系统!\n\n") ;printf("----—〉[向导]——---〉[新建会员库]\n\n”);printf(”注意:当输入会员学号为0 时,进入主菜单.\n\n”);head_club=Create_New_Club () ;system (”cls”);do {printf(”\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n”);printf("\n”);printf ("\t\t\t[1] :借书办理\t");printf(" [6]:还书办理\n”);printf (”\n");printf(”\t\t\t[2]:查询图书\t");printf(" [7]:查询会员\n”);printf (” \t\t\t[3]:添加图书\t");printf (" [8]:添加会员\n”);printf ("\t\t\t[4]:删除图书\t");printf (” [9] :删除会员\n") ;printf (” \t\t\t[5]:遍历图书\t");printf (” [10]:遍历会员\n\n”) ;printf ("\t\t\t〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n\n”);printf("\t\t\t0:退出\n\n”) ;printf(”请选择〈0~10〉:”);scanf(”%d",&choice);switch(choice) {case 1:printf ("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n");printf (”输入所借图书编号:\n");scanf (”%d",&bianhao);printf ("输入借书人的学号:\n”);scanf ("%d",&xuehao);head_book=Lent_Book(bianhao,xuehao,head_book,head_club);system (”cls");printf (” \n 借阅成功!\n\n");printf (”相关信息如下:\n\n");head_book=Search_Book_bianhao (bianhao,head_book);break;case 2:system ("cls”) ;printf(”\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n”); printf ("1。
c语言课程设计报告图书管理系统
C语言课程设计报告: 图书管理系统1. 引言本报告旨在介绍一个基于C语言的图书管理系统的设计与实现。
图书管理系统是一个用于管理图书馆图书的软件,它能够方便地进行图书的借阅、归还、查询等操作,提高图书馆的管理效率。
2. 系统需求分析在设计图书管理系统之前,我们首先需要明确系统的需求。
根据需求分析,该系统需要具备以下功能:•图书的录入与管理:管理员可以添加、修改和删除图书信息,包括书名、作者、出版社、ISBN等。
•读者的管理:管理员可以添加、修改和删除读者信息,包括姓名、学号、联系方式等。
•图书借阅与归还:读者可以借阅图书,并在归还时完成相应的操作。
•图书查询:管理员和读者都可以通过关键字查询图书信息。
•预约图书:读者可以预约图书,待图书可用时通知读者。
•罚款管理:系统可以自动计算读者逾期归还图书的罚款金额,并进行相应的处理。
3. 系统设计与实现3.1 数据结构设计为了实现图书管理系统的各项功能,我们需要设计合适的数据结构来存储图书信息、读者信息等。
以下是我们设计的数据结构:•图书结构体:包括书名、作者、出版社、ISBN等信息;•读者结构体:包括姓名、学号、联系方式等信息;•借阅记录结构体:包括图书信息、读者信息、借阅日期、归还日期等信息;3.2 系统模块设计根据系统需求,我们可以将图书管理系统划分为以下几个模块:•图书管理模块:包括图书的添加、修改和删除功能;•读者管理模块:包括读者的添加、修改和删除功能;•图书借阅模块:包括图书的借阅和归还功能;•图书查询模块:包括关键字查询功能;•预约图书模块:包括图书的预约功能;•罚款管理模块:包括读者逾期归还图书的罚款管理功能;3.3 系统实现根据系统设计,我们使用C语言编写相应的代码来实现整个图书管理系统。
我们使用结构体来存储图书、读者和借阅记录的信息,并使用文件来存储这些数据。
我们可以通过菜单方式来实现用户和管理员的交互,用户可以根据需求选择相应的功能。
C语言图书管理系统课程设计报告
第三章图书管理系统的设计与实现3.1系统的需求分析图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。
根据系统界面的提示信息对图书馆信息进行查询、初始化等操作系统功能需求分析描述如下:(1)系统主菜单:进入系统和退出系统(2)功能菜单:显示可以进行的操作(3)查询主菜单:根据图书编号、书名、作者进行查询,并可显示所有图书信息(4)借还书主菜单:可以进行借书和还书等操作3.2系统的设计3.2.1 系统的总统设计下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。
(1)总体思想本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、借书、还书等主要功能。
系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解图书馆内的情况。
(2)系统模块结构图根据需求分析结果,图书管理系统可以分为三大模块:查询图书模块、借书功能模块、还书功能模块。
系统模块结构如图:3.2.2 系统的概要设计㈠系统主菜单。
显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同的界面。
功能主要包括:退出系统、查询图书、借书、还书。
㈡查询图书信息进入此菜单功能模块,输入您要查询的图书的编号、名字、作者等。
图书查询模块流程如图:3.3 测试结果系统主界面功能菜单查询系统菜单借还系统菜单3.4 源代码# include <stdio.h> # include <stdlib.h> # include <string.h>typedef struct link {char number[100]; char bookname[100]; char author[100]; char publish[100]; char time[100];float price;char status[100]; struct link *next; }link;link *Cbook(){int n=0;link *p,*q,*head;FILE *fp;fp=fopen("图书信息.txt","r+");if(fp==NULL)printf("没有找到文件,请检查……");p=(link *)malloc(sizeof(link));if(p==NULL)printf("申请内存出错!!!\n");fscanf(fp,"%s%s%s%s%s",p->number,p->bookname,p->author,p ->publish,p->time);fscanf(fp,"%f",&p->price);fscanf(fp,"%s",p->status);while(feof(fp)==0){n++;if(n==1){head=p;}else{q=p;p=(link *)malloc(sizeof(link));if(p==NULL)printf("申请内存出错!!!\n");fscanf(fp,"%s%s%s%s%s",p->number,p->bookname,p->author,p ->publish,p->time);fscanf(fp,"%f",&p->price);fscanf(fp,"%s",p->status);q->next=p;}}p->next=NULL;fclose(fp);printf("信息已录入!!!");return head;}void mainmenu(){printf("\n*****************************************\n"); printf("\n** 欢迎使用图书管理系统 **\n"); printf("\n** 1.进入系统 0.退出系统 **\n"); printf("\n*****************************************\n"); printf("\n 请选择");}void menu1(){printf("\n*****************************************\n"); printf("\n** 1.进入图书查询系统 **\n"); printf("\n** 2.进入图书借还系统 **\n"); printf("\n** 3.保存所有图书信息 **\n"); printf("\n** 4.返回上级菜单 **\n"); printf("\n*****************************************\n"); printf("\n请选择");}void cxmenu(){printf("\n*****************************************\n"); printf("\n** 1.显示所有图书信息 **\n"); printf("\n** 2.按编号查询图书 **\n"); printf("\n** 3.按书名查询图书 **\n"); printf("\n** 4.按作者查询图书 **\n"); printf("\n** 5.返回上级菜单 **\n"); printf("\n****************************************\n"); printf("\n请选择");}void jhmenu(){printf("\n*****************************************\n"); printf("\n** 1.借书 **\n"); printf("\n** 2.还书 **\n"); printf("\n** 3.返回上级菜单 **\n"); printf("\n*****************************************\n"); printf("\n请选择");}void print(link *head){link *p;p=head;printf("\n");printf("\n****************************************** ********\n");printf("\n编号\t\t书名\t\t作者\t\t出版社\t\t出版时间\t\t价格\t\t状态\n");while(p!=NULL){printf("\n");printf("%s\t%s\t%s\t%s\t%s",p->number,p->bookname,p->author,p->publish,p->time);printf("\t\t%.2f",p->price);printf("\t\t%s",p->status);printf("\n");p=p->next;}}void hold(link *head){link *p;FILE *fp;fp=fopen("图书信息.txt","w+");if(fp==NULL){printf("文件操作出错!!!");exit(1);}p=head;for(;p!=NULL;p=p->next){fprintf(fp,"%s\t%s\t%s\t%s\t%s",p->number,p->booknam e,p->author,p->publish,p->time);fprintf(fp,"\t\t%.2f",p->price);fprintf(fp,"\t\t%s",p->status);fprintf(fp,"\n");}fclose(fp);printf("信息已保存。
c语言图书管理系统课程设计报告
C语言图书管理系统课程设计报告一、项目介绍本项目是一个基于C语言的图书管理系统,旨在提供一个管理图书信息的平台,包括图书的增删查改、借还管理等功能。
二、功能需求本项目的主要功能需求如下:1.用户登录/注册:用户可以输入用户名和密码登录系统,也可以进行注册。
2.图书增删查改:管理员可以录入图书信息,包括书名、作者、出版社、ISBN、分类、价格、剩余数量等。
管理员可以根据图书名称、作者等信息查询图书信息,也可以对图书进行修改或删除。
3.借还管理:用户可以进行借书、还书,系统将会记录借书人信息、图书信息以及借书时间、归还时间等信息。
4.归还提醒:系统将会在借书过期且未归还的情况下自动发送邮件或短信提醒用户归还图书。
三、开发环境及相关技术本项目的开发环境为Windows10,使用的开发工具是Visual Studio Code。
在开发该项目时,我们主要使用了C语言和相关库函数。
四、开发流程本项目的开发流程如下:1.需求分析:根据用户需求,进行需求分析,确定系统需求。
2.概要设计:初步设计出系统的结构框架、数据模型等。
3.详细设计:根据概要设计,进一步详细设计出系统的各个功能模块的具体实现方法。
4.编码实现:根据详细设计,使用C语言和相关库函数编写代码实现各个功能模块。
5.测试调试:在编写完代码后,进行测试调试,找出问题并进行修复和优化。
6.部署实施:完成测试调试后,进行项目上线和部署。
五、实现效果展示以下是系统的主界面和功能界面展示:1.登录/注册界面登录/注册界面登录/注册界面2.主界面主界面主界面3.图书管理界面图书管理界面图书管理界面4.借阅管理界面借阅管理界面借阅管理界面六、总结与展望本项目基于C语言,使用了相关库函数开发了一个图书管理系统。
通过该项目的开发,我们深刻理解了系统开发的整个流程。
同时,我们也了解到了C语言在系统开发上的应用及其局限性。
未来,我们还可以继续完善该系统,增加其他功能模块,如图书推荐、借阅排行等,从而进一步完善该系统,提高用户体验。
c语言图书管理系统实验报告
c语言图书管理系统实验报告《C语言图书管理系统实验报告》摘要:本实验报告旨在介绍C语言图书管理系统的设计与实现过程。
通过对图书管理系统的需求分析、系统设计、程序编码以及系统测试等环节的详细介绍,展示了C语言图书管理系统的完整实现过程。
通过本次实验,我们深入理解了C语言在实际项目中的应用,同时也提升了我们的编程能力和系统设计能力。
一、引言图书管理系统是一种常见的信息管理系统,它能够方便图书馆工作人员对图书进行分类、存储、借阅等管理操作,也能够为读者提供快捷的图书查询和借阅服务。
本次实验旨在使用C语言设计并实现一个简单的图书管理系统,通过这一实践项目,我们将学习到C语言在实际项目中的应用,同时也能够提升我们的编程能力和系统设计能力。
二、需求分析在设计图书管理系统之前,我们首先需要对系统的需求进行分析。
在本次实验中,我们将设计一个简单的图书管理系统,系统需要具备以下功能:1. 图书信息的录入:包括图书的名称、作者、出版社、出版日期等信息;2. 图书信息的修改与删除:允许管理员对系统中已有的图书信息进行修改和删除操作;3. 图书信息的查询:允许管理员和读者通过关键字查询图书信息;4. 图书的借阅和归还:允许读者进行图书的借阅和归还操作;5. 用户权限管理:系统需要具备管理员和读者两种角色,管理员具有对图书信息进行增删改查的权限,读者只具有查询和借阅权限。
三、系统设计在需求分析的基础上,我们进行了系统设计。
我们将系统设计分为以下几个模块:1. 图书信息管理模块:包括图书信息的录入、修改、删除和查询功能;2. 用户管理模块:包括用户登录、权限管理等功能;3. 借阅管理模块:包括图书的借阅和归还功能;4. 界面设计:设计系统的用户界面,使用户能够方便地进行操作。
四、程序编码在系统设计完成后,我们开始进行程序编码。
我们使用C语言进行程序编码,使用文件操作实现数据的读写和存储,使用结构体和指针等数据结构进行数据的组织和管理。
c语言图书管理系统实验报告
c语言图书管理系统实验报告C语言图书管理系统实验报告引言:图书管理系统是现代图书馆必备的管理工具,它通过计算机技术的应用,实现了图书的借阅、归还、查询等功能,提高了图书馆的管理效率。
本实验旨在通过使用C语言编写一个简单的图书管理系统,掌握C语言的基本语法和数据结构的应用。
一、系统需求分析在开始编写图书管理系统之前,我们首先需要明确系统的需求。
根据实际情况,我们确定了以下几个主要功能模块:1. 图书信息管理:包括图书的录入、修改、删除等操作。
2. 学生信息管理:包括学生的注册、借书、还书等操作。
3. 借阅记录管理:记录学生借阅图书的时间、归还时间等信息。
4. 查询功能:可以根据图书名称、作者、学生姓名等信息进行查询。
二、系统设计与实现1. 数据结构设计:为了实现图书管理系统的各项功能,我们需要定义一些数据结构,如图书信息结构体、学生信息结构体、借阅记录结构体等。
通过定义这些结构体,我们可以方便地对图书信息、学生信息进行管理和操作。
2. 主菜单设计:系统启动后,会显示一个主菜单,用户可以通过输入相应的数字选择不同的功能模块。
我们使用switch语句来实现主菜单的功能选择,确保用户可以根据自己的需求进行操作。
3. 功能实现:根据需求分析中确定的功能模块,我们逐一实现了相应的功能。
例如,对于图书信息管理模块,我们实现了图书的录入、修改、删除等功能。
对于学生信息管理模块,我们实现了学生的注册、借书、还书等功能。
通过合理的函数设计和调用,我们保证了系统的正常运行。
三、系统测试与优化在完成系统的设计与实现后,我们进行了一系列的测试。
通过输入不同的数据,测试系统的各项功能是否正常运行。
我们发现了一些问题,如输入错误时系统的错误提示不够友好、系统的响应速度较慢等。
为了解决这些问题,我们进行了相应的优化。
通过增加错误提示信息、优化算法等方式,提高了系统的用户体验。
四、总结与展望通过本次实验,我们掌握了C语言的基本语法和数据结构的应用。
C语言程序设计报告-图书管理系统
南京航空航天大学金城学院《C语言程序设计》课程设计报告图书信息管理系统学号: 姓名:学号:姓名:日期:页脚内容1目录一、需求分析: (3)二、程序的主要功能: (3)三、程序运行平台: (3)四、系统总框架图: (6)五、程序类的说明: (6)六、模块分析: (8)页脚内容2七、比较有特色的函数: (9)八、存在的不足与编程体会 (10)九、程序源代码: (10)一、需求分析设计与分析一个图书信息管理系统,能够对图书的根据书名、价格或出版社进行统计、处理和更新,并且可以方便学校老师和领导对图书进行整体分析。
二、程序的主要功能图书信息界面美观、简洁,采用菜单式显示功能选择;能够从磁盘文件输入和输出数据;能够对图书信息进行检索操作;具有增、删、改信息的功能;使用结构体链表数据类型对图书信息进行描述和存储。
页脚内容3三、程序运行平台VC6.0运行程序“library.exe”,进入登录界面如下************ 欢迎光临******************************** 图书信息管理系统************************============1-用户登录=======================0-退出系统===========请输入您的选择:一、输入1进行登录------------------*图书信息管理系统*------------------页脚内容4********************************************************************************************|| 1-添加图书2-删除图书|||| 3-图书列表4-图书排序|||| 5-查询图书6-修改图书|||| 7-录入数据0-退出系统||********************************************************************************************请输入所选择的序号:页脚内容5选择1进入添加图书模块:请输入您要添加的图书的编号:选择2进入删除图书信息模块:请输入要删除的图书编号:选择3进入显示图书列表模块图书信息列表如下==========================================================编号图书名作者名出版社类别出版时间价格2 2 2 2 2 2 2.003 3 3 3 3 3 3.0033 15 5 2 5 52 5.005 5 5 5 5 5 5.00==========================================================:选择4.进入修改个人信息模块页脚内容61-按姓名修改请输入您的数字选择:选择5.进入图书排序模块================================================================ ** 1-按图书编号排序2-按出版时间排序**** 3-按图书价格排序4-按图书名排序**** 5-按作者名排序0-取消排序操作**================================================================请输入您选择的编号:选择6.进入修改图书模块*请输入要修改的图书编号:选择7.进入录入信息模块注意:输入图书编码为0时结束!请输入图书编号:选择0.退出系统页脚内容7四、系统总框架图五、程序类的说明struct book{int num;char bname[50];char wname[20];char press[50];char sort[50];int time;float price;页脚内容8struct book *next;//定义文件头指针};六、模块分析1. 添加模块系统将提示用户输入新添加的图书的信息,插入在链表中2. 删除模块首先由用户输入图书的编号,然后由删除模块判断p->num和用户输入的编号是否相同,相同则从链表中删除。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
char a,d,b[10],b1[10]="yjk";
struct book *head=NULL;
while(y){
创建链表 添加图书 验证新添加的图书编码是否已存在 删除图书 将链表写入文件 从文件中读取信息并建成链表 将链表信息输出 查询图书信息 按图书编号查询图书 按作者名查询图书 按类别查询图书 按出版时间查询图书 按图书名查询图书 修改图书信息 对图书进行排序 按图书编号排序 按图书出版时间排序 按图书价格排序 按图书名排序 按作者名排序
0. 退出系统
七、比较有特色的函数
void num_paixu(struct book *head) {
struct book *a[1000],*p,*p1,*temp; int i,k,index,n=0; char b; p1=head; for(p=head;p;p=p->next)
n++; for(i=0;i<n;i++){
4. 图书排序模块
首先由用户判断由什么关键词进行排序,然后运行相应的运行模块。
5. 查询图书模块
系统将会把所有航班的信息显示出来。由用户输入图书的编号,判断是
p->num 和用户输入
的编号是否相同,相同则输出。
6. 修改图书模块
按照编号检索,然后修改相应的内容。
7. 录入模块
用 while 循环批量录clude<stdio.h> #include<stdlib.h> #include<string.h> struct book{
int num; char bname[50]; char wname[20];
.
.
char press[50];
char sort[50];
printf("
------------------\n");
printf("
*
printf("
------------------\n\n");
printf("
**********************************************\n\n");
printf("
**********************************************\n\n");
请输入您的数字选择 :
选择 5. 进入图书排序模块
================================================================
** 1-
按图书编号排序
2-
按出版时间排序 **
** 3-
按图书价格排序
4-
按图书名排序 **
** 5-
按作者名排序
0-
取消排序操作 **
用户登录 =========== 退出系统 ===========
一、输入 1 进行登录 ------------------
* ------------------
图书信息管理系统 *
**********************************************
**********************************************
system("cls");
printf("\n\n\n\n\n\n\n");
printf("
**********
欢迎光临 **********\n\n");
printf("
**********************
图书信息管理系统
************************\n\n\n");
三、程序运行平台
VC6.0
运行程序“ library.exe ”,进入登录界面如下
**
**********
欢迎光临 **********
**********************
图书信息管理系统 ************************
============1============0请输入您的选择 :
.
.
printf("
排序成功 !\n");
printf(" 是否显示排序结果 ?(y/n)\n");
scanf("%s",&b);
getchar();
switch(b){
case 'n':
break;
case 'y':
printf("
================================================================\n");
//
void deletebook(struct book *head);
//
void fprint(struct book *head);
//
struct book *load();
//
void print_book(struct book *head);
//
void chaxun(struct book *head);
|| 1-
添加图书
2-
删除图书 ||
|| 3-
图书列表
4-
图书排序 ||
.
.
|| 5-
查询图书
6-
|| 7-
录入数据
0-
**********************************************
**********************************************
printf(" **
编号 图书名 作者名 出版社 类别 出版时间
**\n");
for(i=0;i<n;i++){
printf("
** %d
%s
%s
%s
%s
%d
**\n",a[i]->num,a[i]->bname,a[i]->wname,a[i]->press,a[i]->sort,a[i]->time,a[i]->pric
//
void price_paixu(struct book *head);
//
void bname_paixu(struct book *head);
//
void wname_paixu(struct book *head);
//
int main()
{
int choice,n,x,y=1,c,c1=1234;
.
getchar();
switch(n){
case 0:
y=0;
break;
case 1:
printf("
请输入您的用户名 :");
gets(b);
printf("\n");
printf("
请输入您的密码 :");
scanf("%d",&c);
printf("\n");
if(strcmp(b,b1)!=0||c!=c1){
printf(" scanf("%c",&d);
验证失败 , 请重新输入 !\n");
getchar();
system("cls");
}
else{
printf("
验证通过 ! 请按 Enter 键进入 !\n");
scanf("%c",&d);
getchar();
x=1;
while(x){
system("cls");
int time;
float price;
struct book *next;//
定义文件头指针
};
struct book *creatbook();
//
struct book *addbook(struct book *head);
//
int yanzheng(struct book *head,int m);
printf("\n\n");
printf("
============1-
用户登录 ===========\n");
printf(" printf("
============0请输入您的选择 :");
退出系统 ===========\n");
scanf("%d",&n);
printf("\n");
.
.
南京航空航天大学金城学院
《C 语言程序设计》课程设计报告
图书信息管理系统
学号 : 学号: 日期:
姓名: 姓名:
.
.
目
录
一、需求分析:……………………………………………………… 3
二、程序的主要功能:……………………………………………… .3
三、程序运行平台:………………………………………………… .3
a[i]=p1; p1=p1->next; } for(k=0;k<n-1;k++){ index=k; for(i=k+1;i<n;i++){