C语言图书管理系统程序设计分析报告Word格式.docx
《C语言图书管理系统程序设计分析报告Word格式.docx》由会员分享,可在线阅读,更多相关《C语言图书管理系统程序设计分析报告Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
![C语言图书管理系统程序设计分析报告Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/24/01a35238-7ba9-4905-9d90-18581b94e1fd/01a35238-7ba9-4905-9d90-18581b94e1fd1.gif)
1)复习、巩固C语言的基础知识,进一步加深对C语言的理解和掌握。
2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力。
3)培养学生在项目开发中团队合作精神、创新意识及能力。
2.要求:
1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;
可以加以其他功能或修饰,使程序更加完善、合理。
2)系统设计要实用,编程简练,可用,功能全面。
3)说明书、流程图要清楚。
4)记录设计情况(备查,也为编写设计说明书作好准备)。
5)要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。
6)设计上交内容:
设计报告一份(按格式书写);
源程序一份,能编译成可执行文件并能正常运行。
二、本组课题及本人任务
课题:
图书信息管理系统设计
图书信息包括:
登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
试设计一图书信息管理系统,使之能提供以下功能:
1.系统以菜单方式工作。
2.图书信息录入功能(图书信息用文件保存)--输入。
3.图书信息浏览功能--输出。
4.查询和排序功能:
(至少一种查询方式)--算法。
a.按书名查。
b.按作者名查询。
本人任务:
负责设计和编写图书信息管理系统的修改图书信息部分。
三、程序功能简介
本系统是以visualC++6.0环境下用C语言开发的一个图书管理系统。
本系统具有图书信息录入、浏览、删除、修改、查找(包括按书名、作者查找)功能。
其中图书信息包括登录号、书名、作者名、分类号、出版单位、出版时间、价格,并且对信息以文件形式储存。
另外本系统具备实用性的同时代码逻辑谨慎清晰易懂,且界面美观。
四、主体内容
1.设计分析
本系统共分为一个主页面模块(主函数部分),五个功能模块(功能函数)分别为图书信息录入、图书信息浏览、图书信息查询、图书信息删除、图书信息修改。
设计时应该先写好主函数、定义好全局变量和功能函数,再对五个功能函数进行设计。
在每个功能函数和主函数应中加入控制条件使用户可以随时退出系统,并在用户输入指令错误的时候给予提醒和退出选项。
小组中的五个人分别承担一个功能模块进行设计。
并在每个人设计完成后通过主函数进行链接调试正确后方为完成。
2.程序结构(流程图)
3.各模块的功能及程序说明
A、录入模块:
本模块主要执行信息录入功能。
B、浏览模块:
本模块主要是执行把已有信息输出浏览功能。
C、查询模块:
本模块主要是执行按书名和按作者名查找图书信息的功能。
D、删除模块:
本模块主要执行删除图书信息的功能。
E、修改模块(本人设计模块):
本模块主要执行图书信息修改功能。
在用户选择该功能后。
首先,系统会弹出已存在信息列表并让用户选择所要修改的信息项目。
然后,当用户选定要修改的信息后会弹出信息目录,用户需按顺序依次修改信息内容。
最好当所有信息项目都修改完成之后,按回车键会在窗口上输出修改后的内容。
4.源程序
#include<
stdio.h>
string.h>
stdlib.h>
conio.h>
#defineMAX100
structStudent
{
intnum;
/*登录号*/
charname[100];
/*书名*/
charauthor[100];
/*作者名*/
charfn[100];
/*分类号*/
charplace[100];
/*出版单位*/
charday[100];
/*出版时间*/
floatmoney;
/*价格*/
}stu[MAX];
main()/*主函数*/
voidInput();
/*输入*/
voidDisplay();
/*输出*/
voidFind();
/*查找*/
voidModify();
/*删除*/
voidChange();
/*修改*/
intn;
for(;
;
)
{
printf("
\n"
);
printf("
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"
※※\n"
※欢迎来到图书信息管理系统※\n"
※主菜单※\n"
※▲1.图书信息录入▲※\n"
※▲2.图书信息浏览▲※\n"
※▲3.图书信息查询▲※\n"
※▲4.图书信息删除▲※\n"
※▲5.图书信息修改▲※\n"
※▲6.退出系统▲※\n"
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n"
请输入选择项(1-6):
"
scanf("
%d"
&
n);
\n\n\n\n"
if(n>
0&
&
n<
7)
{
switch(n)
{
case1:
Input();
break;
case2:
Display();
case3:
Find();
case4:
Modify();
case5:
Change();
case6:
printf("
※※※※※※※※※※※※※※※※※※※※※※※※\n"
※谢谢使用!
※\n"
※再见!
exit(0);
}
}
else
printf("
※输入错误!
※请退出!
break;
}
}
voidFind()/*查找*/
{
FILE*fp;
inti;
intchoose,t;
charans[100];
do
1.按书名查找\n"
2.按作者名查找\n"
返回主菜单(其他数字)\n"
scanf("
choose);
if(choose==1)
输入所查书名:
scanf("
%s"
ans);
t=-1;
if(choose==1)
for(i=0;
i<
MAX;
i++)if(strcmp(ans,stu[i].name)==0)
{
t=i;
fp=fopen("
student"
"
rb"
for(i=0;
fread(&
stu[i],sizeof(structStudent),1,fp)==1;
i++)
printf("
%d%s%s%s%s%s%f\n"
stu[t].num,stu[t].name,stu[t].author,stu[t].fn,stu[t].place,stu[t].day,stu[t].money);
}
if(t==-1)printf("
不存在该信息\n"
elseif(choose==2)
输入所查作者名:
if(choose==2)
if(strcmp(ans,stu[i].author)==0)
{t=i;
printf("
elsereturn;
}while
(1);
voidDisplay()/*输出*/
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"
图书列表\n"
-----------------------------------------------------------\n"
登录号书名作者名分类号出版单位出版时间价格\n"
---------------------------------------------