C语言图书管理系统代码.docx
《C语言图书管理系统代码.docx》由会员分享,可在线阅读,更多相关《C语言图书管理系统代码.docx(46页珍藏版)》请在冰豆网上搜索。
C语言图书管理系统代码
<>
<>/*清屏函数*/
<>
<>
<>
<>
;
将类型定义为
{
[15]*产品编号*/
[30]*产品名称*/
*单价*/
[20]*作者*/
*存在状态*/
[20]*书籍类别*/
[30]*出版社*/
*剩余书籍数量*/
};
[1000];
/*借书卡的数据类型*/
{
;学号
卡号
[10]会员姓名
[10];会员班级
[10];
借书数组最多借书十本
[11][10]存放书名
};
[1000]定义借书卡数组
[6]={"123456"}[6]={"654321"}初始化密码
()/*输入新用户信息*/
{
i;
;
*a;
;
("");
(1)
{
0初始化计数器
(0<11)初始化借书名称
[i][0]='\0';
("输入学号:
");
("");
();
("输入卡号:
");
("");
();
("输入学员姓名:
");
();
();
("输入学员班级:
");
();
();
("是否保存该条信息?
()\n");
();
('Y''y''N''n')
{
("请输入Y或y或N或n\n");
();
}
('Y''y')
{
("c:
\\","");
((),1);
(a);
("\n该用户已添加到c:
\\文件中!
\n");
}
{
("\n改用户资料未保存!
\n");
}
("\n是否继续添加用户?
()\n");
();
('Y''y''N''n')
{
("请输入Y或y或N或n\n");
();
}
('Y''y')
;
;
}
}
()/*输入新进的图书信息*/
{
;
*a;
;
("");
(1)
{
()清除文件缓冲区
("输入书籍编号:
");
();
("输入书籍名称:
");
();
("输入书籍单价:
");
("");
(()'\n');
("输入书籍的作者:
");
();
("输入书籍的出版社:
");
();
("输入书籍的类别:
");
();
("输入书籍的数量:
");
("");
("是否保存该条书目?
()\n");
();
('Y''y''N''n')
{
("请输入Y或y或N或n\n");
();
}
('Y''y')
{
1*将图书状态设置成1,表示没有借出*/
("c:
\\","");
((),1);
(a);
("\n该条书目已添加到c:
\\文件中!
\n");
}
{
("\n本条书目未保存!
\n");
}
("\n是否继续添加书目?
()\n");
();
('Y''y''N''n')
{
("请输入Y或y或N或n\n");
();
}
('Y''y')
;
;
}
}
()/*根据图书名称显示图书的信息*/
{
[20]=""*用来存放要查询的书名*/
n;
*p;
;
[100];
0;
("");
("c:
\\","");
((p))
{
()清除文件缓冲区
([](),1);
;
}
*使用()函数会多读一行,因此需要自减一次,使书目的数量正确*/
(p);
(1)
{
("输入要查询的书本名称:
");
();
(0)
{
("书库中没有任何信息!
\n\n");
("按任意键回到主菜单!
\n\n");
();
;
}/*结束*/
{
(0<)
(([n])0)
{
("该书的详细信息如下:
\n");
("图书信息\n");
("编号名称单价作者图书状态出版社类别剩余书籍\n");
;
}
(0<)
(([n])0)
{
("6128.188d1686d\n",
[n][n][n],
[n][n][n],
[n][n]);
}
(n>)
("没有查找该书的任何信息!
\n");
("\n\n是否继续查询?
()\n");
();
('Y''y''N''n')
{
("请输入Y或y或N或n\n");
();
}
('Y''y')
;
;
}/*结束*/
}/*
(1)结束*/
}
()/*根据图书作者显示图书的信息*/
{
[20]=""*用来存放要查询的作者名*/
n;
*p;
;
[100];
0;
("");
("c:
\\","");
((p))
{
();清除文件缓冲区
([](),1);
;
}
*使用()函数会多读一行,因此需要自减一次,使书目的数量正确*/
(p);
(1)
{
("输入要查询的作者名称:
");
();
(0)
{
("书库中没有任何信息!
\n\n");
("按任意键回到主菜单!
\n\n");
();
;
}/*结束*/
{
(0<)
(([n])0)
{
("该书的详细信息如下:
\n");
("图书信息\n");
("编号名称单价作者图书状态出版社类别剩余书籍\n");
;
}
(0<)
(([n])0)
{
("6128.188d1686d\n",
[n][n][n],
[n][n][n],
[n][n]);
}
(n>)
("没有查找该书的任何信息!
\n");
("\n\n是否继续查询?
()\n");
();
('Y''y''N''n')
{
("请输入Y或y或N或n\n");
();
}
('Y''y')
;
;
}/*结束*/
}/*
(1)结束*/
}
()/*根据图书类别显示图书的信息*/
{
[20]=""*用来存放要查询的类别*/
n;
*p;
;
[100];
0;
("");
("c:
\\","");
((p))
{
([](),1);
;
}
*使用()函数会多读一行,因此需要自减一次,使书目的数量正确*/
(p);
(1)
{
()清除文件缓冲区
("输入要查询的类别名称:
");
();
(0)
{
("书库中没有任何信息!
\n\n");
("按任意键回到主菜单!
\n\n");
();
;
}/*结束*/
{
(0<)
(([n])0)
{
("该书的详细信息如下:
\n");
("图书信息\n");
("编号名称单价作者图书状态出版社类别剩余书籍\n");
;
}
(0<)
(([n])0)
{
("6128.188d1686d\n",
[n][n][n],
[n][n][n],
[n][n]);
}
(n>)
("没有查找该书的任何信息!
\n");
("\n\n是否继续查询?
()\n");
();
('Y''y''N''n')
{
("请输入Y或y或N或n\n");
();
}
('Y''y')
;
;
}/*结束*/
}/*
(1)结束*/
}
()/*根据图书出版社显示图书的信息*/
{
[20]=""*用来存放要查询的出版社*/
n;
*p;
;
[100];
0;
("");
("c:
\\","");
((p))
{
()清除文件缓冲区
([](),1);
;
}
*使用()函数会多读一行,因此需要自减一次,使书目的数量正确*/
(p);
(1)
{
("输入要查询的出版社名称:
");
();
(0)
{
("书库中没有任何信息!
\n\n");
("按任意键回到主菜单!
\n\n");
();
;
}/*结束*/
{
(0<)
(([n])0)
{
("该书的详细信息如下:
\n");
("图书信息\n");
("编号名称单价作者图书状态出版社类别剩余书籍\n");
;
}
(0<)
(([n])0)
{
("6128.188d1686d\n",
[n][n][n],
[n][n][n],
[n][n]);
}
(n>)
("没有查找该书的任何信息!
\n");
("\n\n是否继续查询?
()\n");
();
('Y''y''N''n')
{
("请输入Y或y或N或n\n");
();
}
('Y''y')
;
;
}/*结束*/
}/*
(1)结束*/
}
()/*根据图书名称对图书信息进行删除*/
{
[20]=""*用来存放要删除的书名*/
;
*p;
;
[100];
;
("");
(1)
{
();
("输入要删除的书本名称:
");
();
("c:
\\","");
0;
((p))
{
([](),1);
;
}
*使用()函数会多读一行,因此需要自减一次,使书目的数量正确*/
(p);
(0)
{
("书库中没有任何信息!
\n\n");
("按任意键回到主菜单!
\n\n");
();
;
}/*结束*/
{
(0<)
(([n])0)
{
;
}
(n>)
("没有查找该书的任何信息!
\n");
{
("是否确认需要删除该条书目?
()");
();
('Y''y''N''n')
{
("请输入Y或y或N或n\n");
();
}
('Y''y')
{
(<1)将后面的数组数据全部前移一个
[i][1];
;
("c:
\\","");
(0<)
([n](),1);
(p);
("删除成功!
\n");
}
("\n\n该条书目没有被删除!
");
}
("\n\n是否继续进行删除操作?
()\n");
();
('Y''y''N''n')
{
("请输入Y或y或N或n\n");
();
}
('Y''y')
;
;
}/*结束*/
}/*
(1)结束*/
}
()借书
{
*p,*p2;
00;
;
("\n\t\t请你输入你的卡号:
");
("");
("c:
\\","");
((p))
{
([n](),1);
;
}
(p);
p2("c:
\\","");
((p2))
{
([z](),12);
;
}
(p2);
(0<)
{
([i])判断卡号是否存在
{
("\n\t\t请输入你要借阅的书的名字:
");
(""[i]);
(0<)
{
(([j][i])0)判断书是否存在
{
([j]0)判断是否还有库存
{
("\t\t对不起,此书有人借出,请借其他书.按任意键返回...\n");
();
;
}
([i]10)判断是否借满10本
{
("\t\t对不起,借书本数已达到上限,按任意键返回...\n");
();
;
}
{
("c:
\\","");
p2("c:
\\","");
[i]借书本书加一
[j]库存减一
(1<=10)
([i][k][1]'\0')
{
([i][k][i])保存所借书的名字
([j]0)
[j]0;
[j]1;
;
}
(0<)
([i](),1);
(0<)
([i](),12);
("\t\t借书已完成,按任意键返回...\n");
(p);
(p2);
();
;
}
}
}
("\n\t\t很抱歉,不存在这本书,按任意键返回...");
(p2);
();
;
}
}
("\n\t\t你的卡号不存在,请申请新卡,按任意键返回...");
(p);
();
}
()
{
[100];
*p,*p2;
00;
;
("\n\t\t请你输入你的卡号:
");
("");
("c:
\\","");
((p))
{
([n](),1);
;
}
(p);
p2("c:
\\","");
((p2))
{
([z](),12);
;
}
(p2);
(0<)
{
([i])判断卡号是否存在
{
("\n\t\t请输入你要归还的书的名字:
");
("");
(0<)
{
(([j])0)判断是否有这本书
(1<11)
(([i][k])0)
{
("c:
\\","");
p2("c:
\\","");
[i];
[j];
([j]0)
[j]0;
[j]1;
(1<11)
(([i][k])0)清空还书记录
{
[i][k][0]='\0';
;
}
(0<)
([i](),1);
(0<)
([i](),12);
("\t\t还书已完成,按任意键返回...\n");
(p);
(p2);
();
;
}
{
("\t\t你没借这本书,按任意键返回...\n");
;
}
}
("\n\t\t很抱歉,不存在这本书,按任意键返回...");
(p2);
();
;
}
}
("\n\t\t你的卡号不存在,请申请新卡,按任意键返回...");
(p);
();
}
()显示所有用户信息
{
*p;
;
0;
("");
("c:
\\","r");
((p))
{
([n](),1);
;
}
(p);
(0)
{
("没有任何用户信息!
\n\n");
}
{
0;
("用户信息如下\n");
("用户信息\n");
("学号卡号姓名班级所借书本数\n");
(k{
([k][0]'\0')屏蔽空信息
{
("\n",
[k][k][k],
[k][k]
);
}
;
}
}
("\n\n按任意键回到主菜单!
\n");
();
}
()显示所有借的书
{
*p;
;
;
0;
("");
("c:
\\","r");
((p))
{
([n](),1);
;
}
(p);
(0)
{
("没有任何用户信息!
\n\n");
}
{
("\n\t\t请你输入你的卡号:
");
("");
}
(0<)
{
([i])判断卡号是否存在
{
("\n\t\t卡号所借书本如下:
\n");
(1<11)
([i][j][0]'\0')
{
([i][j]);
("\n");
}
}
("\n\n按任意键回到主菜单!
\n");
();
}
()/*显示全部图书信息*/
{
*p;
n;
[100];
0;
("");
("c:
\\","");
((p))
{
([](),1);
;
}
(p);
;
(0)
{
("没有任何图书信息!
\n\n");
}
{
0;
("图书信息如下\n");
("图书信息\n");
("编号名称单价作者图书状态出版社类别剩余书籍\n");
(n<)
{
([n]0.0)屏蔽空信息
{
("6128.188d1686d\n",
[n][n][n],
[n][n][n],
[n][n]);
}
;
}
}
("\n\n按任意键回到主菜单!
\n");
();
}
1()
{
("\n\t\t★欢★迎★进★入★图★书★管★理★系★统★\n\n");
("\t※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
("\t※※\n");
("\t※★图书管理系统★※\n");
("\t※※\n");
("\t※1:
<会员入口>※\n");
("\t※2:
<管理员入口>※\n");
("\t※0:
<退出>※\n");
("\t※※\n");
("\t※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n\n");
}
()图书查询系统函数
{
5;
;
{
("");
("\n\t\t※※※※※※※※※※※※※※※※※※※※※※※");
("\n\t\t※\t\t1:
<按书名查找>※");
("\n\t\t※\t\t2:
<按作者查找>※");
("\n\t\t※\t\t3:
<按类别查找>※");
("\n\t\t※\t\t4:
<按出版社查找>※");
("\n\t\t※※");
("\n\t\t※\t\t0:
<返回主菜单>※");
("\n\t\t※※※※※※※※※※※※※※※※※※※※※※※");
("\n\n\t\t\t请输入要选择的操作(0~4):
");
5();
(5)
{
'1'();
'2'();
'3'();
'4'();
'0';
:
("\n\n\t\t\t请输入菜单中的数字!
(0~4)");
();
(()<1800);
}
}
(5'0');
}
密码修改函数
(n)
{
y11[6],*u;
*;
;
(1)判断是管理员还是用户的密码修改
{
:
("");
("\t请输入原密码");
("c:
\\","");
(j1=01<61)
([j1](i),1);
();
("\t");
(j1=01<61)
{
[j1]();
("*");
([j1][j1])
{
("错误\n");
("\t重新键入请按1,退出请按0\n")提供可退出的选择
();
("");
(1)
;
;
}
}
(0)
;
("\t原密码正确\n\n");
y1("");
("\t请输入新密码密码");
("\t");
(j1=01<61)
{
[j1]();
("*");
}
("\n\t请再次输入新密码密码");
("\t");
(j1=01<61)
{
[j1]();
("*");
([j1][j1])
{
("\t\t\t重复密码错误\n");
("\t\t重新键入请按1,退出请按0\n");
();
("");
(1)
y1;
;
}
;
}
(0)
;
("\t\t\t重复密码正确,修改成功!
");
(