图书管理程序课程设计报告C语言.docx

上传人:b****1 文档编号:235686 上传时间:2022-10-07 格式:DOCX 页数:58 大小:135.24KB
下载 相关 举报
图书管理程序课程设计报告C语言.docx_第1页
第1页 / 共58页
图书管理程序课程设计报告C语言.docx_第2页
第2页 / 共58页
图书管理程序课程设计报告C语言.docx_第3页
第3页 / 共58页
图书管理程序课程设计报告C语言.docx_第4页
第4页 / 共58页
图书管理程序课程设计报告C语言.docx_第5页
第5页 / 共58页
点击查看更多>>
下载资源
资源描述

图书管理程序课程设计报告C语言.docx

《图书管理程序课程设计报告C语言.docx》由会员分享,可在线阅读,更多相关《图书管理程序课程设计报告C语言.docx(58页珍藏版)》请在冰豆网上搜索。

图书管理程序课程设计报告C语言.docx

《高级语言课程设计》

图书登记管理程序

题目:

班级:

软件5班

学生学号:

201031000504

学生姓名:

***

指导老师:

***

提交时间:

***

成绩:

评分项目

得分

功能完整性(30分)

界面美观性(10分)

设计合理性(10分)

创新性(10分)

答辩表现(40分)

评语:

华南农业大学信息学院

图书登记管理程序分析

1系统分析

1.1问题描述

图书登记管理程序能够帮助图书管理员切实高效的登记管理图书信息,管理员将全部图书信息存储在系统中,系统能够提示明显信息,从而管理员能对新增,丢失,修改,借阅的图书信息和借书用户信息做必要的登记,并且该系统设有密码,能够一定程度上阻止无关人员操作系统。

1.2系统功能分析

系统主要分成两大功能,图书管理和用户管理。

在图书管理方面,分为增加新图书,删除图书,修改图书信息,查询图书信息,统计图书信息,借阅图书,归还图书等七大功能。

在查询图书信息功能上,又细分为按ISBN号,作者,名称,出版社,出版日期,图书类别查询。

在统计图书信息功能上,又细分为按ISBN号范围,出版日期范围,价格范围查询。

在用户管理方面,分为查询用户信息,修改用户信息,增加用户,删除用户,修改图书管理密码等五大功能。

1.3开发平台及工具介绍

本系统主要利用C语言的基本知识,使用MicrosoftVisualC++软件来编写程序代码,该软件适合初学者使用,能够帮助程序员快速查找出错误,给出明确提示,从而更加高效的开发出图书登记管理系统。

2系统设计

2.1系统总体结构设计

系统程序中图书信息,用户信息,密码信息都是以结构体的形式表示,并且每一个结构体都分别嵌套在三个链表中,从而能够实现信息的增减功能。

2.2系统各个功能模块及功能模块之间关系设计

首先系统功能模块分别有创造图书信息、用户信息、密码信息模块。

读取图书信息、用户信息、密码信息模块。

保存图书信息、用户信息、密码信息模块。

输入图书信息、用户信息、密码信息模块。

增加图书信息、用户信息模块。

删除图书信息、用户信息模块。

修改图书信息、用户信息、图书管理密码模块。

查询图书信息、用户信息模块。

统计图书信息模块。

借阅图书模块,归还图书模块。

输出图书信息、用户信息模块。

各个模块之间相互存在相互调用的关系,大模块调用小模块,层层调用。

2.3数据存储的设计(文件等)

图书信息,用户信息,密码信息分别存储在三个文件上。

实现信息从文件写入链表,信息从链表存储在文件中。

2.4界面设计

程序的各项功能在程序运行时,以菜单的方式执行。

各个菜单中都有明确的提示,使管理员轻松的使用本系统。

在主菜单中选择所需功能,再在各二级菜单中选择,以此类推,直至选到所需要的功能。

当不需要当前菜单时,还可以返回上一级菜单,重新进行选择,并且系统设置清除界面功能,避免已经没有的信息界面仍然出现。

3系统实现

模块的流程图如下:

Y

退出系统

C 输入密码

进入图书登记程序系统

A判断是否存在存储密码,图书,用户信息的文件

B创造存储信息的文件

N

 N

D选择操作内容

管理图书信息

管理用户信息

E输入管理图书内容

F输入管理用户内容

判断输入内容1

判断输入内容2

判断输入内容1

增加图书

修改图书

统计图书

归还图书

借阅图书

查询图书

删除图书

按图书类别

按ISBN号

查询图书

按作者

按名称

按出版社

按出版日期

统计图书

按出版日期

按ISBN号

判断输入内容2

查询用户信息

修改用户信息

增加用户化

删除用户

修改密码

按价格

部分关键程序代码如下:

A:

headss=readFiless(headss);

if(!

headss)

{

createFiless();

headss=readFiless(headss);

}

head=readFile(head);

if(!

head)

{

createFile();

head=readFile(head);

} heads=readFiles(heads);

if(!

heads)

{

createFiles();

heads=readFiles(heads);

}

B:

voidcreateFile()/*创造图书信息函数*/

{

bookdata;

FILE*fp;

if((fp=fopen("book.dat","wb"))==NULL)

{

printf("存储图书信息的文件未找到!

\n");

exit(0);

}

printf("请输入图书信息,当输入足够图书时,以ISBN号为0结束!

\n");

readNode(&data);

while(strcmp(data.ISBN,"0")!

=0)

{

fwrite(&data,sizebook,1,fp);

readNode(&data);

}

fclose(fp);

}

voidcreateFiles()/*创造用户信息函数*/

{

peopledatas;

FILE*fps;

if((fps=fopen("people.dat","wb"))==NULL)

{

printf("存储用户信息的文件未找到!

\n");

exit(0);

}

printf("请输入用户信息,当注册足够用户时,以用户号码为0结束!

\n");

readNodes(&datas);

while(datas.num)

{

fwrite(&datas,sizepeople,1,fps);

readNodes(&datas);

}

fclose(fps);

}

voidcreateFiless()/*创造密码函数*/

{

accessdatass;

FILE*fpss;

if((fpss=fopen("access.dat","wb"))==NULL)

{

printf("存储密码信息的文件未找到!

\n");

exit(0);

}

readNodess(&datass);

fwrite(&datass,sizeaccess,1,fpss);

fclose(fpss);

}

C:

intenter(structnodess*headss)/*进入系统函数*/

{

structnodess*q=headss;

charcodes[80];

createprints();

scanf("%s",&codes);

if(strcmp(q->datass.code,codes)==0)

return1;

else

{

printf("输入密码错误,系统已退出!

\n");

return0;

}

}

D:

switch(choice)

{

case1:

heads=readFiles(heads);

head=bookmenu(head,heads);

break;

case2:

heads=readFiles(heads);

heads=peoplemenu(heads,head,headss);

break;

case0:

break;

default:

printf("输入错误,请再输入一遍!

\n");

}

E:

switch(choice)

{

case1:

printf("请输入你要增加图书的信息!

\n");

readNode(&data);

head=InsertOrder(head,data);

break;

case2:

printf("请输入你要删除图书的ISBN号!

\n");

scanf("%s",&ISBNS);

head=Delete(head,ISBNS);

break;

case3:

printf("请输入你要修改图书的ISBN号!

\n");

scanf("%s",&ISBNS);

head=correct(head,ISBNS);

break;

case4:

searchManage(head);

break;

case5:

statist(head);

break;

case6:

printf("请输入你要借阅图书的ISBN号!

\n");

scanf("%s",&ISBNS);

heads=readFiles(heads);

head=borrowbook(head,ISBNS,heads);

break;

case7:

printf("请输入你要归还图书的ISBN号!

\n");

scanf("%s",&ISBNS);

heads=readFiles(heads);

head=returnbook(head,ISBNS,heads);

break;

case0:

system("cls");

break;

default:

printf("输入错误,请再输入一遍!

\n");

break;

}:

F:

switch(choice)

{

case1:

printf("请输入你要查询用户的号码!

\n");

scanf("%lf",&nums);

searchManages(heads,nums,head);

break;

case2:

printf("请输入你要修改用户的号码!

\n");

scanf("%lf",&nums);

heads=corrects(heads,nums);

break;

case3:

printf("请输入你要增加用户的号码!

\n");

readNodes(&datas);

heads=InsertOrders(heads,datas);

printf("增加用户成功!

\n");

break;

case4:

printf("请输入你要删除

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1