计算机实习报告C语言部分C语言大作业.docx

上传人:b****5 文档编号:12708378 上传时间:2023-04-21 格式:DOCX 页数:48 大小:592.52KB
下载 相关 举报
计算机实习报告C语言部分C语言大作业.docx_第1页
第1页 / 共48页
计算机实习报告C语言部分C语言大作业.docx_第2页
第2页 / 共48页
计算机实习报告C语言部分C语言大作业.docx_第3页
第3页 / 共48页
计算机实习报告C语言部分C语言大作业.docx_第4页
第4页 / 共48页
计算机实习报告C语言部分C语言大作业.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

计算机实习报告C语言部分C语言大作业.docx

《计算机实习报告C语言部分C语言大作业.docx》由会员分享,可在线阅读,更多相关《计算机实习报告C语言部分C语言大作业.docx(48页珍藏版)》请在冰豆网上搜索。

计算机实习报告C语言部分C语言大作业.docx

计算机实习报告C语言部分C语言大作业

C语言报告

 

开发背景以及任务的提出:

(程序代码见最后附页)

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。

信息管理系统是一个不断发展的新型学科,企业要生存要发展,要高效率地把企业活动有机地组织起来,就必须加强企业管理,即加强对企业内部的各种资源(人、财、物等)的有效管理,建立与自身特点相适应的信息管理系统。

随着人类社会的发展,人类对知识的需求也不断地增长。

在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就必不可少了。

为此作者利用C语言,在VisualC环境下,以WINDOWS32位作为系统平台开发一套界面友好,操作简单,功能强大完善,扩展性升级性良好的图书馆管理系统。

系统简介:

本文介绍了在VisualC环境下,运用C语言,采用“自上而下地总体规划,自下而上地应用开发,整体应用结构化模块化”的开发策略开发的一个方便实用具有良好扩展性的图书馆管理系统。

通过分析传统的人工管理图书馆的不足,创建了一套行之有效的计算机管理图书馆的方案。

模块化结构化的编成思想使本系统具有非常好的扩展性,对后期应用过成中遇到的问题可以很方便的修改添加。

在开发过程中,这种思想也起到了非常大的作用,对系统的更新完善起到了非常大的作用。

文章介绍了图书管理信息系统的系统实现部分列出了几个主要的程序框图,并附带了一些主要的窗口和程序。

本系统界面友好,活泼生动,有背景音乐,操作简单,比较实用。

系统开发过程:

编程思想分析:

整个软件生命周期中,开发所占的费用和时间都很小。

后期维护工作一般要占整个软件生命周期的80%以上。

所以系统分析很重要,一个好的系统分析可以减少很多后期维护工作。

因此本系统采用模块化和结构化的编成思想使本系统具有非常好的扩展性,极大的方便了在开发过程中对系统的删改,添加等操作,为后期的调试以及今后的升级改造提供了极大的方便。

由于采用模块化和结构化的方式,该系统的后期维护十分方便,可以在现有的程序检索手段基础上直接调用查看底层文件,也为不断添加新功能提供可能。

事实上,在系统开发过程中作者正是不断发现系统的缺陷,不断完善,有了好的创意就不断添加新的模块,可以说模块化结构化的设计思路为系统开发提供了极大便利。

系统原理分析:

1.现行系统简介:

作为图书馆的管理系统,它首先要担当起图书馆的资源管理重任,开发这样的系统必须对图书馆的工作流程有所了解。

最基本的图书馆管理系统要完成图书的采编,旧书的删除,读者的图书查询,还有借阅系统。

下面以一所学校的图书馆为例子进行分析,画出图书馆的组织结构图如下:

 

图书馆各个部门负责的主要业务如下:

(1)采编组主要负责图书采编工作,包括购置新书、打印编目、增加数量。

(2)查询室主要负责读者查询工作,包括可借图书(按图书类别、图书名称或图书作者查询);新书目录(按图书类别、日期查询)。

(3)借阅组主要负责图书流通、查询统计、借阅查询等工作。

(4)阅览室主要负责读者阅览工作,包括:

阅览各种杂志、报纸、阅览各种工具书。

2.现行系统问题分析:

该图书馆工作大部分还是进行着手工管理,工作起来效率很低,由于不可避免的人为因素,经常造成数据的遗漏、误报。

计算机信息化管理有着储存信息量大、速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。

3.解决方案:

基于以上的对问题的分析,利用计算机给我们提供信息,及时地调整学校图书馆图书结构,并且对学生们的借阅过程形成一整套动态的管理就十分必要了。

学校图书馆规模相对于商业图书馆小,但要有着完善的图书信息,对每一册书要有详细的记录信息,功能上对系统的需求是全面的。

因此对用户的需求可分为四个方面:

一方面是图书馆管理员通过计算机来管理各类图书,进行编号,调整图书结构,增加图书库存,适应学生的需求;二方面是学生们能通过计算机来查询浏览图书馆中的图书,来确定自己需要的书籍,为借阅做好准备;三方面是工作人员对学生们的借书证发放;四方面也是图书馆的核心工作,对图书的借阅管理。

这四个方面形成了学校图书馆一个工作整体,采用计算机自动化信息处理,可方便快捷地共享信息、交流信息,高效地协同工作。

在软、硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的管理各种图书信息。

硬件的配置要求不能太高,这样可以很好的适应当前的学校图书馆。

在开发方式上对系统的需求,由于学校图书馆是一种无商业利益的,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用作为系统开发的指导思想。

同时为了适应学生群体的要求,系统的界面要活泼,操作要简单,能够调动学生和管理员的兴趣。

本系统通过对windows底层文件和静态库的调用,依然用C语言做到了变幻多彩的界面和优雅动人的背景音乐。

系统设计:

系统总体结构设计:

如果要完成一个完整的图书管理系统,需要的相关信息很多。

由于种种条件的限制,同时考虑到开发成本,所以本系统仅实现基本的管理功能。

并不能完全满足上面例子所描述的图书馆,使用前应进行二次开发。

1.系统目标设计:

系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。

能够对图书进行注册登记,也就是将图书的基本信息(如:

书名、作者、出版社、进库量等)预先存入数据库中,供以后检索。

能够对借阅人进行登记,包括记录借阅人的姓名、编号、借阅数目、归还时间等信息。

提供方便的查询方法。

如:

以书号、书名、作者、出版社等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;提供库存信息,显示可借阅数目。

通过管理员用户名和密码验证进行授权可以对图书馆的数据库进行修改,完成新书的采编入库,旧书销毁功能,以方便对图书馆书籍资源的管理。

提供较为完善的差错控制与友好的用户界面,尽量避免误操作。

系统有漂亮的欢迎界面,提供全程的背景音乐。

2.系统功能分析

根据以上功能,将图书管理系统的数据分为:

数据输入部分:

主要包括图书基本信息的录入、借阅人基本信息的录入。

数据输出部分:

主要是各种查询,包括:

根据图书信息(如书名、作者、出版社、库存等)查阅图书及其借阅信息等。

数据处理部分:

主要涉及借阅和归还的处理,如一本书借出后,必须在数据库中将该书的库存量减少,以防出现数据库中有书但图书馆无书的情况,同时能够根据需要显示已借阅的信息;一本书归还后,同样必须在数据库中将其库存增加,以便再次借出。

3.系统模块化设计:

为达到上述的要求和功能,改程序由5个菜单及其系统组成。

分别为欢迎界面menu0()、主菜单mainmenu()、图书信息子菜单menu1()、图书查询子菜单menu2()、借阅系统子菜单menu3()。

含有如下多个函数:

1.欢迎菜单多彩循环控制系统menu0()。

功能:

运用时间控制技术和Windows系统的调用,对欢迎界面进行多种颜色的循环变化;

2.主菜单下的主界面系统main1()

功能:

与主菜单配合,根据用户选择调用其他子系统、子函数;

3.图书馆信息系统tsgxx(),

功能:

与menu2菜单配合,根据用户选择调用其子系统、子函数;

4.结束系统函数jieshuxitong()

功能:

结束系统,显示退出界面,退出系统;

5.图书进库函数tsjinku()

功能:

在通过密码函数验证后进行库存的编辑,运用了文件、数组、链表、指针等,创建图书馆txt文件;

6.库存清除函数shanchu()

功能:

对图书进库函数tsjinku()创建修改的文件根据管理员操作进行删除作业,同样需要密码函数验证;

7.管理员密码验证函数pastword1()、pastword2()

8.功能:

对用户进行权限认证,只有知道密码的图书馆管理员才可以对图书馆的库存资料进行修改操作,服务图书进库函数tsjinku()和库存清除函数shanchu();

9.图书查询系统函数chaxunts()

功能:

配合图书查询子菜单menu2(),根据用户选择进行分类查询;

10.显示库存函数xianshikucun()

功能:

显示图书馆全部图书资源;

11.统计图书文本个数函数tjzs()

功能:

统计每本图书的在库数量,配合借阅系统随时更新图书的库存量;

12.统计读者文本个数函数tjdzzs()

功能:

配合借阅系统,更新读者信息和图书库存,借书函数的重要子函数;

13.借阅系统函数jieshuxitong()

功能:

调用借阅系统子菜单menu3(),根据用户选择调用子函数;

14.借书函数jieshu()

功能:

完成对借书操作的各个函数的调用,完成借书带来的读者信息文件建立和对图书馆库存信息的修改,是整个系统最复杂最庞大的部分;

15.还书函数huanshu()

功能:

与借书函数jieshu()类似,完成还书带来的对各个文件的修改,完成还书的登记;

16.显示借书情况函数duzheyilang()

功能:

根据结束函数和还书函数的操作,显示读者信息文件reader.txt;

17.背景音乐函数PlaySound("C:

\\DocumentsandSettings\\Administrator\\桌面\\40953004\\c语音大作业\\北科大图书馆里系统\\summer.wav",NULL,SND_FILENAME|SND_ASYNC)

功能:

播放指定位置的WAV音频歌曲作为系统的背景音乐,调用了Windows的底层静态库文件。

 

4.结构图:

 

程序图标:

程序测试

1.欢迎界面:

2.主菜单:

3.选择1后的图书信息子菜单:

4.选1后进入管理员用户名和密码验证:

5.正确输入用户名和密码后进入采编入库操作:

可以根据需要进行循环输入

6.错误输入用户名或密码时,任意键可以返回原菜单:

7.清除库存的密码验证与上述一样

8.清除库存操作:

9.图书查询状态:

10.书号查询,书名查询,作者查询界面:

 

11.查询的两种结果:

12.库存一览:

13.返回主菜单查看借阅系统:

 

14.借书登记:

15.返回查看库存一览:

哈利波特的库存量变成了1!

链表操作全部成功!

16.查看借阅情况

17.还书登记:

 

18.返回查看借阅情况变化:

19.返回查看库存一览:

注意!

哈利波特的库存又变为2了!

库存变化正常!

20.退出系统:

 

用户使用说明书:

将文件夹40953004粘贴到桌面,不要进行任何改动,打开文件夹c语音大作业,将

快捷方式北科大图书馆里系统粘贴到桌面上再打开或直接双击打开,系统开始运行。

所有操作按系统菜单显示即可。

 

实习心得体会

可以说这一次计算机实习是我人生中一次难忘的经历,第一次用自己的思想和努力完成一件作品,也是第一次为了计算机作业或者说是一件作品而彻夜不眠。

在实习之前,我本以为计算机实习会很简单轻松,只是将过去学过的东西重新做一遍,或者是在书上或者网上随便抄一个代码,除了练习打字速度以外,毫无意义。

但当实习开始时,看到实习要求的我改变了看法,老师的要求严格却不拘谨,几乎没有给我们范围和题目,看似更容易抄了,却让我真的不知道该怎么抄,索性真的认认真真完成老师交给我们的任务,真真正正也是第一次按自己的兴趣完成作业。

当慢慢按着自己的思想一次又一次调试更改把东西做出来,并通过自己不断迸发出的灵感进行修改完善的时候,那种满足感和自豪感真的难以言表。

更重要的是,这次实习让我体会到计算机的强大,计算机知识的博大,曾经觉得Excel很简单,C语言也就那么回事都是老掉牙的东西,可真做东西了,才发现Excel原来这么强大,我们学的东西太欠缺了太局限了。

也让我深刻体会到什么叫做自学,以及网络的优势。

以C语言作业为例,我灵感突发,想要给我的系统加一个背景音乐,这个从没有学过,别人任何人都没有,我自己也不知道用这种古老的编程语言能否实现,于是就在网上求助XX,还真的找到了很多关于静态库的知识和介绍,由于自己编程时候思想很清晰所以修改很方便,就把自己编写的音乐语句加了进去,可是总是错误,一遍一遍修改一遍一遍分析,最终实现了我的那个灵感,当把自己做的系统给同学们看的时候,心里真的很开心。

这就是自学的魅力吧~

在编程和Excel编写过程中,除了知识欠缺外,还发现了很多问题,最重要的就是我体会到了细心的重要性!

很多时候都是自己不够细心才导致整个系统不能正常运行,一遍一遍调试,浪费很多时间。

通过这次实习,我初步认识到了计算机软件的强大功能及其在实际生活中的重要作用,使我认识到我掌握的知识还很少,远远不能满足今后运用的需要,更使我端正学习态度,继续努力,要不断在实践中发现问题,改正问题。

 

附:

程序代码

注:

此代码为带有音乐及管理员密码验证的最终版本,采取模块化编写,各部分功能可以扩展。

#include"stdio.h"

#include

#include

#pragmacomment(lib,"Winmm.lib")/*调用音频静态库*/

#include

#include

#include"stdlib.h"

#include"conio.h"

#include"string.h"

#include"math.h"

#defineLENsizeof(structlibrary)

#defineLEN1sizeof(structreader)

#defineNULL0

structlibrary/*图书馆结构体*/

{intshuhao,xcl;/*定义整形变量书号和进库量*/

charname[20],author[20],chuban[20];/*定义字符串变量图书的名称,作者,出版社*/

structlibrary*next;/*指针域*/

};

structreader/*读者结构体*/

{

intzhenghao;/*图书证号码*/

charmingzi[20],riqi[20],zname[20];/*字符串读者名字归还日期图书名字*/

structreader*next;

};

voidmainmenu()/*声明主菜单*/

{system("cls");

printf("********************************************************************************");

printf("*^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^*");

printf("\t\t\t北京科技大学图书馆管理系统\n\n");

printf("\t\n");

printf("\t\t\t\t1.图书信息\n\n");

printf("\t\t\t\t2.借阅系统\n\n");

printf("\t\t\t\t3.退出系统\n\n");

printf("\t\t\t请按键选择,回车确定\n");

printf("*^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^*");

printf("********************************************************************************");

printf("\t\t\t============================\n");

printf("\t\t\tI声明!

I\n");

printf("\t\t\tI北京科技大学图书馆管理系I\n");

printf("\t\t\tI统的数据资源以及程序代码由I\n");

printf("\t\t\tI信息工程学院所有。

I\n");

printf("\t\t\tI本系统由北京科技大学信息I\n");

printf("\t\t\tI工程学院开发,并保留知识产I\n");

printf("\t\t\tI权,源代码受《中华人民共和I\n");

printf("\t\t\tI国专利法》保护,如有人截取I\n");

printf("\t\t\tI、篡改、剽窃,本学院将保留I\n");

printf("\t\t\tI申诉权。

I\n");

printf("\t\t\tII\n");

printf("\t\t\tI北京科技大学信息工程学院I\n");

printf("\t\t\t============================\n");

return;

}

voidmenu0()

{

time_ts_time;

time_te_time;

srand((int)time(0));

printf("\n\n\n\n\t\t欢迎您使用北京科技大学图书馆管理系统!

\n\n\n\n");

printf("\t\t\t============================\n");

printf("\t\t\tI声明!

I\n");

printf("\t\t\tI北京科技大学图书馆管理系I\n");

printf("\t\t\tI统的数据资源以及程序代码由I\n");

printf("\t\t\tI信息工程学院所有。

I\n");

printf("\t\t\tI本系统由北京科技大学信息I\n");

printf("\t\t\tI工程学院开发,并保留知识产I\n");

printf("\t\t\tI权,源代码受《中华人民共和I\n");

printf("\t\t\tI国专利法》保护,如有人截取I\n");

printf("\t\t\tI、篡改、剽窃,本学院将保留I\n");

printf("\t\t\tI申诉权。

I\n");

printf("\t\t\tII\n");

printf("\t\t\tI北京科技大学信息工程学院I\n");

printf("\t\t\t============================\n");

printf("\n\n\n\n\t\t\t请任意键两次进入系统\n");

system("COLOR2f");

Sleep(500);

system("COLOR3e");

Sleep(500);

system("COLOR4d");

Sleep(500);

system("COLORd4");

Sleep(500);

system("COLORe3");

Sleep(500);

system("COLORf2");

Sleep(500);

system("COLOR2f");

system("Pause>nul");

return;

}

voidmenu1()/*显示图书馆信息菜单*/

{system("cls");

printf("********************************************************************************");

printf("*^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^*");

printf("\t\t\t\t1.采编入库\n\n");

printf("\t\t\t\t2.清除库存\n\n");

printf("\t\t\t\t3.图书查询\n\n");

printf("\t\t\t\t4.库存一览\n\n");

printf("\t\t\t\t5.返回上一层\n\n");

printf("\t\t\t请按键选择,回车确定\n");

printf("*^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^*");

printf("********************************************************************************");

return;

}

voidmenu2()/*声明查询菜单*/

{system("cls");

printf("********************************************************************************");

printf("*^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^*");

printf("\t\t\t\t1.书号查询\n\n");

printf("\t\t\t\t2.书名查询\n\n");

printf("\t\t\t\t3.作者查询\n\n");

printf("\t\t\t\t4.出版社查询\n\n");

printf("\t\t\t请按键选择,回车确定\n");

printf("*^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^*");

printf("********************************************************************************");

return;

}

voidmain()/*主函数,调用main1,由于为了结构顺序将自函数在主函数后面声明*/

{voidmain1();

PlaySound("D:

\\王闻博lab840953004\\声音图书馆\\Debug\\summer.wav",NULL,SND_FILENAME|SND_ASYNC);/*声明播放微软音乐流媒体背景函数*/

menu0();

getch();system("cls");

main1();}

voidmain1()/*main1函数*/

{voidtsgxx();/*声明图书馆信息函数*/

voidjieshuxitong();/*声明结束系统函数*/

charchoose;

mainmenu();

scanf("%c",&choose);

switch(choose)/*功能函数选择循环判断*/

{case'1':

tsgxx();break;

case'2':

jieshuxitong();break;

case'3':

system(

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

当前位置:首页 > 农林牧渔 > 农学

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

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