C语言程序设计图书馆管理系统Word文档下载推荐.docx

上传人:b****2 文档编号:3484265 上传时间:2023-05-01 格式:DOCX 页数:19 大小:118.35KB
下载 相关 举报
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第1页
第1页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第2页
第2页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第3页
第3页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第4页
第4页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第5页
第5页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第6页
第6页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第7页
第7页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第8页
第8页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第9页
第9页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第10页
第10页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第11页
第11页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第12页
第12页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第13页
第13页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第14页
第14页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第15页
第15页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第16页
第16页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第17页
第17页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第18页
第18页 / 共19页
C语言程序设计图书馆管理系统Word文档下载推荐.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计图书馆管理系统Word文档下载推荐.docx

《C语言程序设计图书馆管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言程序设计图书馆管理系统Word文档下载推荐.docx(19页珍藏版)》请在冰点文库上搜索。

C语言程序设计图书馆管理系统Word文档下载推荐.docx

3.1.9删除图书信息--------------------------------15

修改图书信息--------------------------------15

测试与调试--------------------------------13

3.2.1概述--------------------------------14

3.2.2程序测试--------------------------------14

5归纳总结==============================================3

开发经验--------------------------------16

实训中遇到的问题及解决方法-------------------------16

设计中的不足之处---------------------------------16

感想和心得体会---------------------------------16

6参考资料=================================16

前言

课程设计环节是应用型本科院校非常重要的一个教学环节,是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练。

通过课程设计,不仅能够使学生得到系统的技能训练,巩固和加强所学得专业理论知识,而且能够培养学生工程意识、创新能力、团队精神等综合素质,培养学生的设计能力和解决实际问题的能力。

C语言由于其强大的功能,丰富的表达能力,高效的代码,良好的移植性和灵活性,自1972年问世以来,经久不衰,即使现在出现了面向对象的程序设计方法和开发工具,但它仍然是人们学习程序设计的首选语言,用它训练和提高编程技术,以及开发应用程序等。

我们通过《C语言程序设计》这门课程的学习,已经能编写解决小问题的程序,对程序的开发也有了初步的认识,还掌握了C语言的基本语法,这一过程确确实实令我们感到欣喜,有点计算机可以完成自我任务的成就感。

但是,对于程序设计而言,学习C的步伐不应该停留于此。

我们最终的目的应该是掌握开发大型综合程序的方法,即遵循软件工程的开发步骤和结构化程序设计思想,用C语言开发出解决复杂问题的大型综合程序。

可是对于多数学生来说,学习了C语言后,除了应付各种考试之外,别无它用,对TurboC语言丰富的函数知之甚少,加上DOS环境所限,因而对C语言兴趣不大,也感到C语言比较难以掌握。

本实训就是为了让学生在学完C语言后进一步了解C语言的知识,掌握C语言在软件开发方面的使用方法,希望通过此次实训,不仅能提高学生学习C语言的兴趣,更为今后学习其它专业知识及开发程序打下坚实的基础。

本指导书中有些内容借鉴了互联网上相关程序的设计思想,在此对相关者表示衷心的感谢。

由于时间、经验及水平的原因,不当、不足之处,请大家提出宝贵意见。

编者

图书馆管理系统

一.实训目的:

1.巩固C语言的三种基本结构、数组、函数调用的基本知识;

2.掌握利用C语言编写程序的基本方法,提高C语言编程技巧,培养分析问题、解决问题的能力;

3.熟练掌握C语言的编译、调用方法。

二.实验内容

主菜单

增加图书信息

查找图书信息

修改图书信息

退出图书管理

删除图书信息

1、问题定义

创建一个图书馆管理系统。

假设系统中每本图书只包括图书名字、图书书号、图书出版社、图书作者等信息。

程序的运行效果如图所示,选择任意菜单中的数字,实现相应功能。

图图书管理系统功能需求

在问题定义阶段要考虑题目的可行性和需求分析,接下来进入开发阶段,完成系统设计和系统实现的任务。

2.系统设计

2.1总体设计

采用模块化的程序设计方法,即将较大的任务按照一定的原则分为一个个较小的任务,然后分别设计各个小任务。

需要注意的是划分出来的模块应该相对独立但又相关,且容易理解。

可以用模块化层次结构图(即模块图)来分析其任务的划分,一般从上到下进行,最上面一层是主模块,下面各层是其上一层模块的逐步细化描述。

本图书管理系统采用了数组来实现,如下图所示,它由五大功能模块组成:

•增加图书信息模块。

通过输入图书的书名、书号、出版社、作者来实现增加信息。

•查找图书信息模块。

根据增加的图书的书名来查找图书的信息。

•删除图书信息模块。

根据增加的图书信息记录通过查找定位找到信息进行删除。

•修改图书信息模块。

根据增加的图书信息记录通过查找找到该书信息进行修改。

详细设计

2.2.1数据结构设计

图书馆信息结构体

结构体structbook将用于储存图书的基本信息,它将作为文件的数据域。

Structbook/*定义结构体*/

{

charName[20];

/*书名*/

charNumber[20];

/*书号*/

charpublish[20];

/*出版社*/

charauthor[10];

/*作者*/

}book[500];

这样就定义了一个数组的结构

2.2.2主控main()函数执行流程

2.2.3增加信息模块:

主要实现图书信息的增加功能。

2.2.4查找信息模块:

主要实现图书查找书籍的功能。

2.2.5删除信息模块:

主要实现图书删除图书记录的功能

2.2.6修改信息模块:

主要实现修改增加后的图书信息功能。

2.2.7函数功能述

•add()

函数原型:

voidadd();

add()函数用于在增加图书信息的功能。

•chazhao()

函数原型:

chazhao();

chazhao()函数用于在查找图书信息的功能。

•del()

del();

del()函数用于在删除图书信息的功能。

•xiugai()

原型函数:

xiugai();

xiugai()函数用于在修改图书信息的功能。

主函数main()

整个成绩管理系统控制部分。

voidmain()/*整个图书管理系统控制部分*/

inti;

do/*控制返回菜单*/

{

Menu();

printf("

请输入要实现的功能"

);

scanf("

%d"

&

i);

if(i<

=4&

&

i>

=0)/*请输入0到4之间的数字*/

switch(i)

case1:

add();

break;

case2:

chazhao();

case3:

del();

case4:

xiugai();

case0:

exit(0);

}

else

对不起,请重新输入并按回车确定\n\n"

}while

(1);

注:

图书馆信息管理系统的控制部分。

3、系统实现

3.1编码

3.1.1程序预处理

包括定义结构体、常量和变量、声明部分,并对它们进行初始化工作。

#include<

>

/*标准函数输入输出函数库*/

/*标准函数库*/

/*字符串函数库*/

/*^TTT^TTT^^TT^TT^TT^T函数声明部分T^TTT^T^TT^TT^TT^TT^T*/

/*增加*/

voidchazhao();

/*查找*/

voiddel();

/*删除*/

voidxiugai();

/*修改*/

voidexti();

/*退出*/

voidMenu();

/*菜单*/

/*T^^TT^TT^TT^TT^T定义结构体部分T^TTT^TT^TT^TT^TT^TT^T*/

structbook/*定义结构体*/

3.1.2主函数main()

main()函数主要实现了对整个程序的运行控制,以及相关功能模块的调用。

3.1.3主菜单界面

printf("

━━━━━━━━━━━━欢迎使用图书管理系统━━━━━━━━\n"

┏———————————————菜单—————————————┓\n"

││\n"

│按'

1'

:

增加图书信息│\n"

2'

查找图书信息│\n"

3'

删除图书信息│\n"

4'

修改图书信息│\n"

0'

退出图书管理│\n"

┗—————————请选择你需要的操作————————┛\n"

<

==================>

\n"

电信工程专业06\n"

用户进入系统后,输入要添加的书籍信息。

voidadd()/*增加功能*/

inti,j;

请输入要增加图书的图书数量,按回车键结束\n"

j);

for(i=0;

i<

j;

i++)

请输入要增加图书的图书名字,按回车键结束="

%s"

book[i].Name);

请输入要增加图书的图书书号,按回车键结束="

book[i].Number);

请输入要增加图书的图书出版社,按回车键结束="

book[i].publish);

请输入要增加图书的图书作者,按回车键结束author="

book[i].author);

}

用户进入系统后,按信息记录进行查找该图书的书籍信息。

voidchazhao()/*查找功能*/

intj=0;

请输入书的name="

/*请输入要查找图书的书名*/

Name);

for(j=0;

j<

500;

j++)/*找到要查找图书的书名*/

if(strcmp(book[j].Name,Name)==0)

{

┏━━━━━━━┳━━━━━━━━┳━━━━━┳━━━━━┓\n"

┃书名┃书号┃出版社┃作者┃\n"

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n"

%s┃%s┃%s┃%s┃\n"

book[j].Name,book[j].Number,book[j].publish,book[j].author);

break;

else{printf("

抱歉,未找到相应书籍\n"

}/*如果查找到图书的信息就输出该图书信息,否则输出sorry,未找到相应书籍*/

删除图书信息

用户进入系统后,按条件输入要删除的图书信息。

voiddel()/*删除功能*/

请输入图书的书名,name="

/*按*/

/**/

j++)/**/

if(strcmp(book[j].Name,Name)==0)/*将定位到你所要查找图书的位置*/

for(;

book[j].Name[0]!

='

\0'

;

j++)

book[j]=book[j+1];

/*将查找到的图书的后一本图书的信息覆盖这本图书的信息*/

book[j].Name[0]='

/*给结构体最后一个图书加上结束符*/

修改图书信息

用户进入系统后,按条件输入要修改的图书信息。

voidxiugai()/*修改功能*/

请输入要修改图书的number="

/*请输入要修改图书的书号*/

Number);

if(strcmp(book[j].Number,Number)==0)/*定位到你所要修改图书的位置,然后修改该书籍的相关信息*/

请输入要修改图书的图书名字,按回车键结束="

book[j].Name);

请输入要修改图书的图书书号,按回车键结束="

book[j].Number);

请输入要修改图书的图书出版社,按回车键结束="

book[j].publish);

请输入要修改图书的图书作者,按回车键结束author="

book[j].author);

3.2测试与调试

概述

一般情况下,为解决一个问题所编写的程序代码较长,可能包括几百条甚至成千上万条语句。

在检查并排除所有语法错误后,还会有不易发现的逻辑错误,因此要对程序进行认真仔细的测试与调试。

测试是通过运行程序发现错误的过程,常见的错误有数据溢出、数组越界、进入死循环、语句顺序颠倒、多加“;

”或少加“{}”等等。

调试则是确定测试中找到的错误性质并改正错误的过程。

测试与调试通常交替进行,即测试——调试——再测试——再调试。

能检查出尚未发现的、各种不同类型错误的测试才是成功的测试。

测试程序需要测试用例,测试用例可用如下公式表示:

测试用例=测试数据+预期结果。

好的测试用例应该是用尽可能少的测试数据发现尽可能多的错误,即发现错误的概率要大。

要选择合适的测试数据,使系统在运行时尽量能执行到每条语句,以测试各指令是否正确。

还应分别测试输入合法数据与非法数据时,程序的运行情况,。

对于合法数据,还要考虑数据的一般性与特殊性,如求最大值的问题,应测试最大值在最前面、最后面、中间某一位置的情况。

测试程序时,用监视窗口可以随时查看变量或表达式的值,有时还可以将部分程序代码用注释符暂时括起来,缩短程序,以便压缩出错代码的范围。

程序测试

在主菜单中选择1

当用户输入1并按回车键后,即可进入增加图书信息功能。

其输入记录过程如图所示。

图增加图书信息

在主菜单中选择2

当用户输入2并按回车键后,即可进入查找图书信息界面。

其查找过程如图所示,这里按书名查找了一条书名为图书的记录。

图查找图书信息

在主菜单中选择3

当用户输入3并按回车键后,即可进入删除界面。

其删除记录过程如图所示,可按书名进行删除记录。

图删除图书信息

在主菜单中选择4

当用户输入4并按回车键后,即可进入修改图书信息界面。

其修改记录过程如图所示。

图修改学生记录

在主菜单中选择0

当用户输入0并按回车键后,即可执行退出管理程序的操作,。

4、系统维护

经测试与调试确认软件无错时,开发就告一段落,这时可以交付软件供用户使用,但是在软件的使用过程中还会面临更加漫长的工作,即软件维护。

一般维护的工作有:

更改使用中发现的错误;

为适应实际环境而对程序进行修改;

为满足新的需求而对程序作必要的改进等等。

5、归纳总结

5.1开发经验

通过对本题目的开发,体会到要掌握以下几点内容。

5.2实训中遇到的问题及解决方法

在这次的实训中,主要遇到的问题是编译环境的不同对程序也不同。

还有各个函数的应用不够明确。

5.3设计中尚存的不足之处

关于这次的程序,也有挺多不足的地方。

首先,我觉得程序还不够完善,有些地方甚至有点乱;

其次,有些地方好像功能有点重复了;

最后,就是该程序界面不够美观大方,缺少很多基本的功能。

5.4感想和心得体会

通过这次实训,C语言是一本需要严谨的态度来学习。

在程序中一个分号就会导致整体程序无法运行,函数的调用及相关知识要掌握其中的应用知识,才能做出更好地程序,这次实训给了我对C语言产生了更多的兴趣。

6、参考资料

[1]谭浩强.C程序设计(第三版).清华大学出版社,2005

[2]李凤霞.C程序设计辅导与实训清华大学出版社2001

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2