图书馆管理系统C语言程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HUNAN UNIVERSITY
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()
{ int i=setup();
switch (i)
{ case 0: while(n<50)
{ conects(n);
}
default: eros(i);
}
system("pause");
}
2.程序中全局变量声明定义,以及所有函数声明
源代码为
struct book //图书结构体声明
{ char name[50],classic[10],writer[20]; //书名,类别,作者
int jn; //借出数量
int zn; //在馆数量
int bh; //图书编号
};
struct information //管理员和读者结构体声明
{ char name[10],no[12],key[10]; //姓名,账号,密码
};
struct show //图书借阅记录的结构体声明
{
char name1[10],name2[50],writer[20],no[12]; //书名,读者姓名,书的作者,读者账号
int bh,o; //图书编号,借阅状况(未还,已还)
};
//以下为用到的全局变量
struct book bk;
struct information aa,rr;
struct information stu[100];
struct book bb[100];
struct information ad[100];
struct show ss[100];
int i,j,k,s;
int n=0;
int x;
FILE *fp;
//以下函数主要功能:方便窗口与用户之间交换信息
int regst();
void password(char *a,int b,int j); //登陆时的输入函数
void examine(int *a,int b); //保证键入的数据是数字void changepaw(int a,int b); //修改密码用到的提示函数void inputs0(); //输出图书类别以供用户选择
void inputs1(int a,int b,int c,int d,int e); //方便用户输入图书各项信息(如书名,编号)
void inputs2(int a,int b,int c); //方便用户输入管理员的信息(如账号姓名)
void inputs3(int a,int b,int c); //方便用户输入读者的信息(如账号姓名)
void eros(int i) ; //错误显示函数,操作一旦出错,则会出现相应的错误信息
void conects(int j); //连接函数,选择界面
//一下函数主要用于改变文件的内容并保存
int setup() ; //数据初始化函数
int xzc(char no[12],char key1[10],char key2[10],char name[10]); //读者注册函数
int exam(char no[10],char key[10],int n); //密码账号检验函数
int mp(char no[12],char key1[10],char key2[10],char key3[10],int n); //密码修改函数
void paixu(); //对图书按照编号从小到大的顺序进行排列
int sc(int bh); //管理员删除图书信息函数
int zj(struct book bb); //管理员增加图
书信息函数
int xg(struct book bb); //管理员修改图书信息函数
int js(int bh,char no[12]); //借书函数
int hs(int bh,char no[12]); //还书函数
int bh1(int bh); //判断该编号的图书信息是否存在函数
void bh2(int bh); //按照图书编号显示图书信息函数
int sm1(char name[50]); //判断是否存在该名字的图书信息函数
void sm2(char name[50]); //按照图书名字显示图书信息函数int zz1(char writer[20]); //判断是否存在该作者的图书信息函数void zz2(char writer[20]); //按照图书作者显示图书信息函数
void lb(char classic[10]); //按类别显示图书信息
int rck1(int bh); //判断该编号的图书的借书记录是否存在
void rck2(int bh); //按编号显示图书借书情况
int gck21(char no[12]); //判断该账号读者的借书记录是否存在
void gck22(char no[12]); //按读者显示借书情况2
void gck12(); //显示全部借书情况
void gck23(); //管理员查看所有书的信息
void copy(int bh); // 按编图书编号将图书信息暂时保存在另外一个结构体里面
void copy2(char no[12]); //按管理员账号将管理员信息暂时保存在另外一个结构体里面
void copy3(char no[12]); //按读者账号将读者信息暂时保存在另外一个结构体里面
//pic() 函数:每个函数表示一个界面,conects函数将它们连接起来
void pic0();
void pic1();
void pic2();
void pic3();
void pic4();
void pic5();
void pic6();
void pic7();
void pic8();
void pic9();
void pic10();
void pic11();
void pic12();