图书馆管理系统C语言程序设计.docx
- 文档编号:2421281
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:61
- 大小:57.17KB
图书馆管理系统C语言程序设计.docx
《图书馆管理系统C语言程序设计.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统C语言程序设计.docx(61页珍藏版)》请在冰豆网上搜索。
图书馆管理系统C语言程序设计
HUNANUNIVERSITY
C语言程序训练
报告
【设计目的】
图书信息包括:
读者登录号、管理员登录号、图书编号、作者名、种类、出版社、图书库存、图书借出数目等.
图书信息管理系统,使之能提供以下功能:
1)系统以菜单方式工作
2)读者注册功能
3)读者登录功能
4)读者借书还书功能
5)查询读者借阅记录
6)查询在管图书信息功能
7)修改密码功能
8)管理员登录功能
9)增加、修改、删除图书功能
10)查看图书信息功能
【设计思路】
根据题目要求,应当把图书信息用结构体形式输入,应该提供以下结构体和文件的输入等操作:
在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:
另外还需提供选择菜单实现功能,在运行时达到所要求的目的;管理员和读者登录界面及各自功能应有不同的实现。
【总体设计】
【详细设计】
1.主函数
主函数设计要求简洁,只提供部分提示语和函数的调用
源代码为
//rkou.c程序的入口
#include
#include
#include
#include
#include"head.h"
#include"fuc.h"
#include"picture.h"
#include"jiangzhuo1.h"
#include"output.h"
main()
{inti=setup();
switch(i)
{case0:
while(n<50)
{conects(n);
}
default:
eros(i);
}
system("pause");
}
2.程序中全局变量声明定义,以及所有函数声明
源代码为
structbook//图书结构体声明
{charname[50],classic[10],writer[20];//书名,类别,作者
intjn;//借出数量
intzn;//在馆数量
intbh;//图书编号
};
structinformation//管理员和读者结构体声明
{charname[10],no[12],key[10];//姓名,账号,密码
};
structshow//图书借阅记录的结构体声明
{
charname1[10],name2[50],writer[20],no[12];//书名,读者姓名,书的作者,读者账号
intbh,o;//图书编号,借阅状况(未还,已还)
};
//以下为用到的全局变量
structbookbk;
structinformationaa,rr;
structinformationstu[100];
structbookbb[100];
structinformationad[100];
structshowss[100];
inti,j,k,s;
intn=0;
intx;
FILE*fp;
//以下函数主要功能:
方便窗口与用户之间交换信息
intregst();
voidpassword(char*a,intb,intj);//登陆时的输入函数
voidexamine(int*a,intb);//保证键入的数据是数字
voidchangepaw(inta,intb);//修改密码用到的提示函数
voidinputs0();//输出图书类别以供用户选择
voidinputs1(inta,intb,intc,intd,inte);//方便用户输入图书各项信息(如书名,编号)
voidinputs2(inta,intb,intc);//方便用户输入管理员的信息(如账号姓名)
voidinputs3(inta,intb,intc);//方便用户输入读者的信息(如账号姓名)
voideros(inti);//错误显示函数,操作一旦出错,则会出现相应的错误信息
voidconects(intj);//连接函数,选择界面
//一下函数主要用于改变文件的内容并保存
intsetup();//数据初始化函数
intxzc(charno[12],charkey1[10],charkey2[10],charname[10]);//读者注册函数
intexam(charno[10],charkey[10],intn);//密码账号检验函数
intmp(charno[12],charkey1[10],charkey2[10],charkey3[10],intn);//密码修改函数
voidpaixu();//对图书按照编号从小到大的顺序进行排列
intsc(intbh);//管理员删除图书信息函数
intzj(structbookbb);//管理员增加图书信息函数
intxg(structbookbb);//管理员修改图书信息函数
intjs(intbh,charno[12]);//借书函数
inths(intbh,charno[12]);//还书函数
intbh1(intbh);//判断该编号的图书信息是否存在函数
voidbh2(intbh);//按照图书编号显示图书信息函数
intsm1(charname[50]);//判断是否存在该名字的图书信息函数
voidsm2(charname[50]);//按照图书名字显示图书信息函数
intzz1(charwriter[20]);//判断是否存在该作者的图书信息函数
voidzz2(charwriter[20]);//按照图书作者显示图书信息函数
voidlb(charclassic[10]);//按类别显示图书信息
intrck1(intbh);//判断该编号的图书的借书记录是否存在
voidrck2(intbh);//按编号显示图书借书情况
intgck21(charno[12]);//判断该账号读者的借书记录是否存在
voidgck22(charno[12]);//按读者显示借书情况2
voidgck12();//显示全部借书情况
voidgck23();//管理员查看所有书的信息
voidcopy(intbh);//按编图书编号将图书信息暂时保存在另外一个结构体里面
voidcopy2(charno[12]);//按管理员账号将管理员信息暂时保存在另外一个结构体里面
voidcopy3(charno[12]);//按读者账号将读者信息暂时保存在另外一个结构体里面
//pic()函数:
每个函数表示一个界面,conects函数将它们连接起来
voidpic0();
voidpic1();
voidpic2();
voidpic3();
voidpic4();
voidpic5();
voidpic6();
voidpic7();
voidpic8();
voidpic9();
voidpic10();
voidpic11();
voidpic12();
voidpic13();
voidpic14();
voidpic15();
voidpic16();
voidpic17();
voidpic18();
voidpic19();
voidpic20();
voidpic21();
voidpic22();
voidpic23();
voidpic24();
voidpic25();
voidpic26();
voidpic27();
voidpic29();
voidpic30();
voidpic31();
voidpic32();
voidpic33();
voidpic34();
voidpic35();
voidpic36();
voidpic37();
voidpic38();
voidpic39();
voidpic40();
voidpic41();
voidpic42();
voidpic43();
voidpic44();
voidpic45();
voidpic46();
voidpic47();
voidpicc();
3.用户输入以及界面反馈用到的功能函数
源代码为
intregst()
{charnum[12],paw1[10],paw2[10],name[10];
inti;
printf("请输入账号\n(11字符以内,不能含有中文字符):
\n");
password(num,0,11);
printf("输入您的密码\n(9字符以内,不能含有中文字符):
\n");
password(paw1,1,9);
printf("请再次输入密码:
\n");
password(paw2,1,9);
printf("输入您的姓名:
\n");
gets(name);
system("cls");
i=xzc(num,paw1,paw2,name);
returni;
}
voidpassword(char*a,intb,intj)
{charc;
inti=0;
while((c=getch())!
='\r')
{if(c==8)
{printf("\b\b");
if(i>0)
i--;
}
elseif(i {if(b)printf("*"); elseprintf("%c",c); a[i]=c; i++; } if(i==j) {printf("\a"); } } a[i]='\0'; printf("\n"); } voidexamine(int*a,intb) {while(! scanf("%d",a)) {while(getchar()! ='\n'); printf("请输入数字! ! \n"); } rewind(stdin); if(b)system("cls"); } voidchangepaw(inta,intb) {inti; charc1[10],c2[10],c3[10]; printf("请输入原密码\n"); password(c1,1,9); printf("请输入新密码\n"); password(c2,1,9); printf("请再次输入新密码\n"); password(c3,1,9); system("cls"); if(b) {i=mp(aa.no,c1,c2,c3,b); if(i) {eros(i);n=27; } elsen=26; } else {i=mp(rr.no,c1,c2,c3,b); if(i) {eros(i);n=44; } elsen=43; } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 管理 系统 语言程序设计