C语言课程设计图书管理系统文档格式.docx
- 文档编号:20724222
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:24
- 大小:86.19KB
C语言课程设计图书管理系统文档格式.docx
《C语言课程设计图书管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课程设计图书管理系统文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
建立图书管理信息结构体,结构体成员包括图书馆名称、图书编号、单价啊、作者、存在状态、借书人姓名、性别、学号。
存在状态设为整型,可用不同的数字代表借还状态。
借书和还书手续要注意修改结构题的成员变量存在状态的值。
总体设计
详细设计
1、主函数
[说明]
主函数较多、较复杂,已经和主菜单函数合并,主菜单函数里还包括了各自的二级菜单,并已经开始了对各个函数的调用。
为了程序显示的清晰可读,应先清屏之后调用菜单函数。
[流程]
2、各功能模块设计
(2)查阅模块
输入个员工信息后,浏览、查找、排序时同一个员工的所有信息都要同时显示,所以运用结构体运行。
数据信息存放在文件中,一条记录对应一条学生信息,方便管理。
(3)借阅模块
查阅完图书记录后,用户要借阅图书,系统要在操作过程中提示用户输入流程,根据用户所输入的指令,帮助其完成借阅。
(4)管理模块
管理模块最为复杂,管理所有的图书及职工、学生的信息。
先进入总体的管理系统,在这个系统中重点的操作是图书的管理,为其中的1至4项(分别是增加图书、删除图书、修改图书资料、书籍统计),同时系统还连接了职工、学生管理两个系统,为下一步的操作提供了条件。
职工管理系统主要有增加图书、删除图书、修改图书资料、书籍统计,学生管理系统主要有申请新卡、删除卡号、借书统计、卡号统计四个模块,用于管理学生登录信息。
(5)还书模块
需要根据输入员工的姓名及工号查找相应的记录,找到后增加删除和修改功能。
附录
——图书馆管理系统设计源程序清单
#include<
stdio.h>
string.h>
stdlib.h>
ctype.h>
#defineSTACK_INIT_SIZE10
#defineOK1
#defineTRUE1
#defineERROR0
structstudent{
intcarnum;
charlendbook[10];
}student[1000];
structbook
{
intbooknum;
charbookname[20];
floatbookprice;
charbookcreat[20];
intturefalse;
}book[1000];
structcar
charsex[5];
charstudentname[20];
intstudentclass;
}car[1000];
findbook()
FILE*fp;
charbookname[10];
inti;
fp=fopen("
book.txt"
"
r"
);
printf("
请输入你要查找的书名:
\n"
scanf("
%s"
bookname);
for(i=0;
fread(&
book[i],sizeof(structbook),1,fp)!
=0;
i++)
if(strcmp(bookname,book[i].bookname)==0)
{
if(book[i].turefalse==1)
{
printf("
书号书名作者\n%d%s%s\n"
book[i].booknum,book[i].bookname,book[i].bookcreat);
此书现在无人借阅\n按任意键返回\n"
}
else{printf("
这本书已经有人借出\n"
fclose(fp);
return0;
}
fclose(fp);
return0;
没有你要查询的书籍!
}
findbook1()
charbookcreat[10];
请输入你要查找的作者名:
bookcreat);
if(strcmp(bookcreat,book[i].bookcreat)==0)
这本书已经有人借出!
没有你要查询的书籍\n"
chabook()
charch5;
do
1:
按书名查找\n"
2:
按作者查找\n"
0:
返回\n"
请输入0━2:
ch5=getch();
switch(ch5)
case'
1'
:
findbook();
getch();
break;
2'
findbook1();
0'
default:
无此操作!
}while(ch5!
='
lendbook()
FILE*fp,*fp2;
inti,n;
请输入借书人的:
\n卡号:
%d"
&
carnum);
car.txt"
car[i],sizeof(structcar),1,fp)!
if(car[i].carnum==carnum)
n=i;
书名:
scanf("
student[n].lendbook);
fp=fopen("
for(i=0;
if(strcmp(book[i].bookname,student[n].lendbook)==0)
if(book[i].turefalse==0){printf("
对不起,此书有人借出,请借其他书\n"
else
record.txt"
a+"
student[n].carnum=carnum;
fwrite(&
student[n],sizeof(structstudent),1,fp);
fp2=fopen("
bookl.txt"
w"
book[i].turefalse=0;
book[i],sizeof(structbook),1,fp2);
continue;
fclose(fp2);
book[i],sizeof(structbook),1,fp2)!
book[i],sizeof(structbook),1,fp);
fopen("
借书完毕,按任意键返回...\n"
getch();
不存在这样的书,任意键返回...\n"
你的卡号不存在,请申请新卡,按任意键返回...\n"
huanbook()
\t\t(^_^)欢迎进入还书界面(^_^)"
\n请你输入你的\n卡号:
请输入你要还的书的名字:
lendbook);
student[i],sizeof(structstudent),1,fp)!
if(strcmp(student[i].lendbook,lendbook)==0)
student[i],sizeof(structstudent),1,fp2);
student[i],sizeof(structstudent),1,fp2)!
student[i],sizeof(structstudent),1,fp);
if(i==n)
book[i].turefalse=1;
还书完毕,按任意键返回...\n"
return1;
你没有借这样的书,任意键返回...\n"
没这样的卡,和管理员联系,按任意键返回...\n"
lendcount()
inti,n=0;
if((fp=fopen("
))==0)
{printf("
文件中没有数据!
按任意键返回...\n"
return(0);
卡号借出的书籍\n"
%d%s\n"
student[i].carnum,student[i].lendbook);
n=n+1;
目前共有%d本书借出\n"
n);
按任意键...\n"
returnn;
addcar()
inti=0;
卡号:
car[i].carnum);
性别:
car[i].sex);
姓名:
car[i].studentname);
班级:
car[i].studentclass);
fwrite(&
car[i],sizeof(structcar),1,fp);
输入完毕,任意键返回...\n"
delcar()
charchoice;
fp2=fopen("
要删除的卡号(不存在则不作改动):
if(car[i].carnum!
=carnum)
car[i],sizeof(structcar),1,fp2);
fclose(fp2);
确认删除(Y/N)!
choice);
if(choice=='
y'
||choice=='
Y'
)
car[i],sizeof(structcar),1,fp2)!
操作超成功!
\n按任意键返回...\n"
else
操作已取消!
carcount()
第%d张卡\n"
i+1);
卡号性别姓名班级\n"
\t\t\n"
%d%6s%10s%3d\n\n"
car[i].carnum,car[i].sex,car[i].studentname,car[i].studentclass);
目前共有%d个学生。
addbook()
charchoice='
;
while(choice=='
书号:
book[i].booknum);
book[i].bookname);
作者:
book[i].bookcreat);
单价:
%f"
book[i].bookprice);
请你设定书的状态(1在架/0不在):
book[i].turefalse);
是否要输入下本书(y/n)\n"
delbook()
charbookname[10],choice;
if(strcmp(bookname,book[i].bookname)!
=0)
确认删除(y/n)\n"
changebook()
fp2=fop
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 图书 管理 系统