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");
}
主函数提供人机交互界面,让操作者选择所需的操作项目,并有退出选项。
2.新书录入模块
源代码:
void xinshu()
{
int i;
FILE *fp;
if((fp=fopen("library.txt","w"))==NULL)
{
printf("打开文件失败!\n");
exit(0);
}
printf("请输入要录入的新书的编号:");
scanf("%d",&s[count].number);
for(i=0;i
{
if(s[i].number==s[count].number)
{
printf("编号已存在,请重新输入:");
scanf("%d",&s[count].number);
}
}
printf("请输入图书名称:");
scanf("%s",&s[count].name);
printf("请输入图书作者:");
scanf("%s",&s[count].author);
printf("请输入图书数量:");
scanf("%d",&s[count].shuliang);
count++;
fclose(fp);
printf("录入成功!\n");
printf("\n");
printf("\n");
printf("\n");
}
新书录入模块实现了新书的编号、书名、作者、数量的录入,并设计有输入错误时的提示。
3.借书模块
源代码:
void jieshu()
{
int b,i,shu;
printf("请输入要借书的编号:");
scanf("%d",&b);
for(i=0;i<=count;i++)
{
if(s[i].number==b)
{
printf("您要借的书是:\n");
printf("\t编号\t书名\t作者\t数量\n");
printf("\t%d\t%s\t%s\t%d\n",s[i].number,s[i].name,s[i].author,s[i].shuliang);
printf("确认后请输入要借书的数量:");
scanf("%d",&shu);
if((s[i].shuliang-shu)>=0)
{
printf("借书成功!");
s[i].shuliang=s[i].shuliang-shu;
}
else
{
printf("抱歉,图书数量不够> < 请重新输入:");
scanf("%d",&shu);