图书管理系统课程设计报告

稳重熟男 范文 报告范文
精选回答

目录

第一章

课题分析1

1.1

需求分析1

1.2

功能分析2

1.3

设计思路2

1.4

开发环境4

第二章

总体设计5

2.1

总体工作原理5

2.2

系统框图5

第三章

详细设计10

3.1

管理员登录模块11

3.2

菜单选择模块15

3.3

图书信息录入模块15

3.4

图书信息浏览模块17

3.5

图书信息查询模块21

3.6

图书信息删除模块24

3.7

图书信息修改模块27

3.8

主程序27

第四章

程序调试及运行结果35

4.1程序调试35

4.2

运行结果35

设计总结37

参考文献38

第一章

课题分析

1.1

需求分析

图书馆管理系统是一个高度集成的图书信息处理系统,通过将图书馆的各种功能进行整合,从而达到显示检索信息,提高工作效率,降低管理成本等目的。一个典型的图书管理系统应该能够管理所有的图书种类,图书信息以及提供各种图书信息的检索查询功能。通过该系统的自动化管理,能够大大减少图书馆管理人员,还能减少管理人员的工作任务,从而降低管理开销和成本。

管理员可以方便进行图书信息管理。包括图书信息以及图书分类的添加,修改,删除。

1.2

功能分析

根据以上需求分析,我所设计的图书馆管理系统有7个功能模块,分别是管理员登录系统模块、菜单选择模块、图书信息录入功能模块、图书信息浏览功能模块,图书信息查询功能模块、图书信息删除功能模块、以及图书信息修改功能模块。

管理员登录系统模块:该模块主要负责管理员选择是否登陆以及输入账号和密码。

菜单选择模块:该模块主要负责提示选择需要进行的操作。

图书信息录入功能模块:该模块主要负责录入图书信息,如图书分类号、图书名称、作者、出版社等信息。

图书信息浏览功能模块:该模块主要负责浏览录入的信息。

图书信息查询功能模块:该模块主要负责通过分类号查询图书信息。

图书信息删除功能模块:该模块主要负责通过分类号删除图书信息。

图书信息修改功能模块:该模块主要负责通过分类号修改图书信息。

退出系统时,图书信息自动保存到bookinf.txt文件中。

1.3

设计思路

图书管理系统是一个内部人员使用的系统,只有图书管理员才能使用,进行图书的录入,浏览,查询,删除等操作。所以应该把图书信息用结构体形式输入,在程序中需实现图书信息录入,浏览,查询,删除和修改等功能的操作,最后在退出系统子程序中调用保存文件程序,实现录入信息的存储。需要建立相应的模块来实现;另外还需提供键盘式选择菜单实现功能,在运行时达到所要目的。

1.4

开发环境

C-Free是一款C/C++集成开发环境(IDE)。目前有两个版本,收费的C-Free

5.0

专业版和免费的C-Free

4.0

标准版。

C-Free中集成了C/C++代码解析器,能够实时解析代码,并且在编写的过程中给出智能的提示。C-Free提供了对目前业界主流C/C++编译器的支持,你可以在C-Free中轻松切换编译器。可定制的快捷键、外部工具以及外部帮助文档,使你在编写代码时得心应手。完善的工程/工程组管理使你能够方便的管理自己的代码。

C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。

C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

第二章

总体设计

2.1

总体工作原理

根据题目要求,可以将系统分为六个模块:

(1)

管理员登录系统模块。

(2)

菜单选择模块。

(3)

图书信息录入功能模块。

(4)

图书信息浏览功能。

(5)

图书信息查询功能。

(6)

图书信息的删除和修改。

各个模块独立完成功能,在主程序里面用switch语句完成整个系统功能。

2.2

系统框图

管理员登录系统模块

菜单选择模块。

菜单选择模块。

菜单选择模块。

菜单菜单选择模块。

(1)

择模块。

图书信息录入功能模块

图书信息浏览功能模块

图书信息查询功能模块

图书信息的删除功能模块

图书信息管理系统

图书信息的删除功能模块

第三章

详细设计

3.1

管理员登录模块

void

index()

{

char

name[20];

char

password[20];

//name[20]=“elvira“;

//password[20]=“gssb122213“;

FILEfp;

book

a={“\0“,“\0“,“\0“,“\0“,“\0“,“\0“,0.0,0};

if(access(“bookinf.txt“,0))

//如果文件不存在,则初始化文件格式

{

if((fp=fopen(“bookinf.txt“,“w“))==NULL)

{

printf(“file

creat

failure!“);

exit(0);

}

}

else

//如果文件存在,则打开文件追加信息

{

if((fp=fopen(“bookinf.txt“,“a+“))==NULL)

{

printf(“file

open

error!“);

exit(0);

}

}

printf(“\n\n\t请输入管理员帐号:“);

scanf(“%s“,name);

printf(“\n\n\t请输入密码:“);

scanf(“%s“,password);

do

{

if((strcmp(name0,name)==0)

break

;

}

else

{

printf(“输入帐号或密码错误,请重新输入!“);

printf(“\n\n\t请输入管理员帐号:“);

scanf(“%s“,name);

printf(“\n\n\t请输入密码:“);

scanf(“%s“,password);

}

fclose(fp);

}while(1);

}

流程图:开始

输入管理员帐号和密码

输入正确与否

进入功能菜单页面

结束

N

3.2

菜单选择模块

void

menu()

{

printf(“\t====================欢迎进入图书馆系统!=============================\n\n“);

printf(“\t\t*****************1.录入图书信息********************\n“);

printf(“\t\t*****************2.浏览图书信息********************\n“);

printf(“\t\t*****************3.查找图书信息********************\n“);

printf(“\t\t*****************4.删除图书信息********************\n“);

printf(“\t\t*****************5.修改图书信息********************\n“);

printf(“\t\t********************6.退出*************************\n“);

printf(“\t\t*********选择那一项,请按1、2、3、4、5、6**********\n“);

}

流程图:

3.3

图书信息录入模块

void

insert()

{

book

temp;

book

a={“\0“,“\0“,“\0“,“\0“,“\0“,“\0“,0.0,0};

printf(“请输入图书信息\n“);

printf(“图书分类号

书名作者

出版社

出版时间

状态

价格

数量\n“);

scanf(“%s%s%s%s%s%s%lf%d“,temp.num,temp.name,temp.author,temp.press,temp.time,temp.status,data.push_back(temp);

printf(“插入图书信息成功!\n“);

}

void

browse()

{

printf(“图书分类号

书名作者

出版社出版时间

状态

价格

数量\n“);

for(int

i

=

0;i::iterator

iter;

printf(“请输入所要删除图书的中图分类号:“);

scanf(“%s“,num);

int

k;

for(int

i

=0

;i

if

(strcmp(data.at(i).num,num)==0)

{

for(iter

=

data.begin(),k

=

0;k

<

i;

k++,iter++);

data.erase(iter);

}

}

流程图

3.7

图书信息修改模块

void

modify()

{

printf(“请输入所要修改图书的分类号:“);

char

num[15];

scanf(“%s“,num);

for

(int

i

=

0;i

{

if

(strcmp(data.at(i).num,num)==0)

{

printf(“请输入图书信息,即将记录修改为:\n“);

printf(“图书分类号书名作者出版社出版时间状态价格数量\n“);

scanf(“%s

%s

%s

%s

%s

%s

%lf

%d“,data.at(i).num,data.at(i).name,data.at(i).author,data.at(i).press,data.at(i).time,data.at(i).status,}

}

}

流程图:

3.8

主程序

int

main()

{

ini();

int

choice0,choice;

menu0();

printf(“请选择服务项目:“);

scanf(“%d“,switch(choice0)

{

case

1:

index();

do

{

menu();

printf(“请选择服务项目:“);

scanf(“%d“,switch(choice)

{

case

1:insert();break;

//save();break;

case

2:browse();break;

case

3:find();break;

case

4:deleter();

browse();break;

case

5:modify();break;

case

6:leave();break;

default:printf(“输入数据错误,请从新输入!“);

}

}while(1);

case

2:

leave();

default:printf(“输入数据错误,请从新输入!“);

}

return

0;

}

第四章

程序调试及运行结果

4.1程序调试:(1).程序没错,能运行,但是修改或删除过后,录入信息不会发生变化,在朋友的帮助下,知道是remove(“bookinf.txt“);rename(“f.txt“,“bookinf.txt“)这两个函数有问题,不过改了很多都没办法,最后没用这两个函数。

(2).在完善程序时出现几个小错误,通过追踪等手段修改成功。

4.2

运行结果

(1)

设计总结:这次的课程设计主要使用C语言知识来设计一个图书管理系统,而对于这个知识我们曾经都开了课程,并且进行了系统的学习。我曾经自认为C语言还学得不错,因为书上的东西差不多都弄懂了,然而这次课程设计我却发现书上的东西我几乎忘得差不多了,一个很简单的语句都不知道怎么去写,甚至连怎样新建工程和文件都忘了。我恍然间发觉自己做的很差,对于已经学的东西没有很好地进行运用,以至于很多已经学了的东西都已经忘记了。虽然如此,但我通过参考网站上的程序,以及一些朋友的帮助,我基本完成了程序,虽然不完美,但是我还是很高兴。

通过这两个星期的课程设计,是我对所学知识有了更深一步的理解与掌握,理论与实践也能更好地结合在一起,这一过程中我遇到了很多困难,但这更使我觉得其中的乐趣和那种战胜困难后的成就感。同时感到学无止境,在今后的学习和工作中,我会不断地充实自己。

参考文献

清风徐来 2022-07-03 13:47:18

相关推荐

人不如旧 衣不如新的意思

人不如旧,衣不如新的意思是:衣服是新的好,朋友是旧的好。(因此旧的东西或朋友不可轻易舍弃)形容事物的前后比较。“衣不如新,人不如故”可以用作宾语、定语,一般常用作书面语。这句话最早出自于《晏子春秋·第五卷内篇杂...
展开详情

无人与我是什么

无人与我,意思是:没有人和我一起。“无人”,是一个汉语词汇,是没有人才、没有人、没人在的意思,出自《史记·范雎蔡泽列传》:“秦王屏左右,宫中虚无人。”...
展开详情

集中注意力的基础是

集中注意力的基础是对大脑进行科学的锻炼,促使脑神经变得发达和强壮。注意力是指人的心理活动指向和集中于某种事物的能力。“注意”,是一个古老而又永恒的话题。俄罗斯教育家乌申斯基曾精辟地指出:“注意是我们心灵的唯一门...
展开详情

一年之计在于春,一日之计在于晨是什么意思

这句话的意思是:只有在春天辛勤劳动才能获得丰收,一天最宝贵的时间是早晨。这句话一般用于激励人刻苦学习,充分利用学习时间,达到提升自我的目的!出处有:1、南朝·梁·萧绎《纂要》:“一年之计在于春,一日之计在于晨。...
展开详情

古人读书的方法

读书有很多种方法,适合自己的才是最好的,让我们来看看古代名人都是怎么读书的,并从中借鉴一些好的读书方法。1、董遇:“三余”读书法汉代的著名学者董遇提倡利用“三余”时间读书。他说:“冬者岁之余,夜者日之余,雨者晴...
展开详情

精选推荐更多>

什么是今体书法之鼻祖

隶书是今体书法之鼻祖。
隶书是汉字的一种字体,有秦隶、汉隶等,一般认为由篆书发展而来,字形多呈宽扁,横画长而竖画短,讲究“蚕头燕尾”、“一波三折”。
根据出土简牍,隶书始创于秦朝,传说程邈作隶,汉隶在东汉时期达到顶峰,上承篆书传统,下开魏晋、南北朝,对后世书法有不可小觑的影响,书法界有“汉隶唐楷”之称。
隶书是汉字中常见的一种庄重的字体,书写效果略微宽扁,横画长而直画短,讲究“蚕头燕尾”、“一波三折”。它起源于秦朝,在东汉时期达到顶峰,书法界有“汉隶唐楷”之称。也有说法称隶书起源于战国时期。
隶书是相对于篆书而言的,隶书之名源于东汉。隶书的出现是中国文字的又一次大改革,使中国的书法艺术进入了一个新的境界,是汉字演变史上的一个转折点,奠定了楷书的基础。隶书结体扁平、工整、精巧。到东汉时,撇、捺、点等画美化为向上挑起,轻重顿挫富有变化,具有书法艺术美。风格也趋多样化,极具艺术欣赏的价值。
隶书基本是由篆书演化来的,主要将篆书圆转的笔划改为方折,因为在木简上用漆写字很难画出圆转的笔划,所以隶书的书写速度更快。

我非生而知之者好古敏以求之者也什么意思

“我非生而知之者,好古,敏以求之者也”的意思:我不是生来就有知识的人,而是爱好古代的东西,勤奋敏捷地去求得知识的人。出自《论语·述而篇》:“子曰:‘我非生而知之者,好古,敏以求之者也。’”
译文:孔子说:“我不是生来就有知识的人,而是爱好古代的东西,勤奋敏捷地去求得知识的人。”
《论语·述而篇》是《论语》的篇章之一,共包括38章,是学者们在研究孔子和儒家思想时引述较多的篇章之一,共包含六方面的内容,提出了孔子的教育思想和学习态度,孔子对仁德等重要道德范畴的进一步阐释,以及孔子的其他思想主张。

改造国民性什么意思

改造国民性,汉语词组,拼音为gǎi zào guó mín xìng,意思是改变打造人民,使他们变得有气质,有血性。
出自闫玉刚创作的作品《改造国民性——走近鲁迅》。此书通过介绍鲁迅通过文学、革命来改造国民的精神、思想,唤醒一个民族的血性,强调鲁迅对当时社会和后世的影响。
鲁迅(1881年9月25日-1936年10月19日),中国文学家、思想家和革命家。原名周树人,字豫才,浙江绍兴人。出身于破落封建家庭。青年时代受进化论、尼采超人哲学和托尔斯泰博爱思想的影响。1902年去日本留学,原在仙台医学院学医,后从事文艺工作,企图用以改变国民精神。1905—1907年,参加革命党人的活动,发表了《摩罗诗力说》、《文化偏至论》等论文。
鲁迅一生在文学创作、文学批评、思想研究、文学史研究、翻译、美术理论引进、基础科学介绍和古籍校勘与研究等多个领域具有重大贡献。他对于五四运动以后的中国社会思想文化发展具有重大影响,蜚声世界文坛,尤其在韩国、日本思想文化领域有极其重要的地位和影响,被誉为“二十世纪东亚文化地图上占最大领土的作家”。

成吉思汗四个字的寓意

“成吉思汗”四个字寓意着至高无上的荣耀,“成吉思”在蒙古语中的意思是“伟大、宽阔”,“汗”就是蒙古族的首领,也可以指权利、荣誉。成吉思汗是大蒙古国的开国君主,也是中国历史上著名的军事家、政治家。成吉思汗胸怀宽广、眼界开阔,一生立下了许多赫赫有名的战功,被评价为“一代天骄”。
孛儿只斤·铁木真(1162年5月31日—1227年8月25日),蒙古帝国可汗,尊号“成吉思汗”,意为“拥有海洋四方”。世界史上杰出的政治家、军事家。1162年出生在漠北草原斡难河上游地区,取名铁木真。1206年春天建立大蒙古国,此后多次发动对外征服战争,征服地域西达中亚、东欧的黑海海滨。1227年在征伐西夏的时候去世,之后被密葬。 1265年十月,元世祖忽必烈追尊成吉思汗庙号为太祖。1266年十月,太庙建成,制尊谥庙号,元世祖追尊成吉思汗谥号为圣武皇帝。1309年十二月,元武宗海山加上尊谥法天启运,庙号太祖。从此之后,成吉思汗的谥号变为法天启运圣武皇帝。
常见热点问答
热点搜索
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200
作文大全
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200