图书馆信息管理系统实验报告内容摘要:
天连续编程,我也积累了不少以前没有的经验,遇到错误也不那么惧怕了, 还从 一些同学那里学到了不少编程技巧和好习惯,不得不说我得感谢学校给我们这样一个连续足够的实践来强化 C 语言编程能力。 而且我越来越对编程有兴趣了,当程序正常运行那一刻真恨不得对全世界人说我成功了。 现在我再说说本次课程设计我的心得体会 : 课堂上要讲授许多关于 c 语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。 然而要使用 c 语言这个工具解决实际问题,又必须掌握它。 通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握 c 语言的语法规定。 对于 一些内容自己 认为在课堂上听懂了,但上机实践中 才发现问题很多。 也只有上机操作才能认识到自己课本学的与实践的差距。 开 始 选择修改项 是否修改 输出 修改信息 是否继续 结 束 开 始 输入新信息 是否继续 输出新信息 结 束 开 始 选择删除项 是否删除 输出剩余信息 是否继续 结 束 是 否 是 否 是 是 否 否 是 否 然而 学习 c 语言不能停留在学习它的语法规则,而是利用学到的知识编写 c 语言程序,解决实际问题。 也就是 把 c 语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解 决问 题。 也 只有通过上机才能检验自己是否掌握 c语言、自己编写的程序是否能够正确地解题。 一个 c 语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。 所谓 环境 就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能 进行程序开发工作。 通过上机实验,熟练地掌握 c 语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。 同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。 完成程序的编写,决不意味着万事大吉。 你认为万无一失的程序,实际上机运行时可能不断出现麻烦。 如编译程序检测出一大堆错误。 有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。 开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。 程序的调试是一个技巧性很强的工作,对于初学者来说,尽快 掌握程序调试方法是非常重要的。 有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。 上机是学好程序语言的必经之路,也是最快捷的,即使花费一整天时间来看书可能还不如安安心心在那里编写几个程序更能理解所学的东西。 通过本次课程设计我认识到学习是个积累的过程,只有有了量的积累才可能会有质的飞跃,多实践远胜于空想,没有做不到,只有不想做。 参考文献: C 语言程序设计 (第二版) 王曙燕 /主编 科学出版社 深入体验 C 语言项目开发 薛小龙 /主编 清华大学出版社 C 语言程序 设计习题与实验指导 王曙燕 /主编 科学出版社 附录: 源代码 (略,详见电子版实验报告) include include include include define PRINT1 printf(*****************************************************************************\n) define PRINT2 printf(图书编号 图书名称 图书作者 图书类型 图书出版社 图书出版时间 (年 月 日 )图书数量 \n) define PRINT3 printf( %d %s %s %s %s %d%d%d %d\n,book[i].num, book[i].name,book[i].writer,book[i].type,book[i].publish,book[i].ear,book[i].,book[i].,book[i].amount) define PAGE 3 define MAX 300 int sum。 //用来记录图书数目 (全局变量) struct DATE//定义日期结构体类型 { int year。 int month。 int day。 }。 struct BOOK//定义图书结构体类型 { int num。 //图书编号 char name[10]。 //图书名称 char writer[8]。 //图书作者 char type[10]。 //图书类型 char publish[40]。 //图书出版社 struct DATE publish_time。 //图书出版时间 int amount。 //图书数量 }book[MAX]。 //存放 MAX 个图书信息记录的结构体数组 //录入模块 void input() { int i=0,s=MAX。 char choice。 printf(\n\n **** 录入图书信息 **** (最多 %d 种 )\n,s)。 printf( *******************************\n)。 do { printf(\n 第 %d 种图书 ,i+1)。 printf(\n ★输入图书编号 :)。 scanf(%d,amp。 book[i].num)。 if(book[i].num==0) break。 printf(\n ★输入图书名称 :)。 scanf(%s,book[i].name)。 printf(\n ★输入图书作者 :)。 scanf(%s,book[i].writer)。 printf(\n ★输入图书类型 :)。 scanf(%s,book[i].type)。 printf(\n ★输入出版社 :)。 scanf(%s,book[i].publish)。 printf(\n ★出版时间 (yyyymmdd):)。 scanf(%d%d%d,amp。 book[i].,amp。 book[i].,amp。 book[i].)。 printf(\n ★输入图书总量 :)。 scanf(%d,amp。 book[i].amount)。 i++。 printf(\n ☆ 要继续输入吗 ?(Y/N):)。 choice=getch()。 if(choice==39。 N39。 ||choice==39。 n39。 ) break。 }while(iMAX)。 printf(\n ****%d 种图书信息输入完毕 !****\n,i)。 sum=i。 printf(\n 按任意键返回主菜单 !)。 } //保存模块 void save() { FILE *fp。 int i=0。 char filename[10]。 printf(\n 输入要保存的文件名称 :)。 scanf(%s,filename)。 if ( (fp=fopen(filename, wb)) == NULL) { printf(\n\n****写文件错误 !****\n\n)。 } if(fwrite(amp。 book[i],sizeof(book[MAX]),1,fp)!=1) printf(****写文件错误 !****\n)。 fclose(fp)。 } //读取模块 void read() { FILE *fp。 int i=0。 char filename[10]。 printf(\n 输入要保存的文件名称 :)。 scanf(%s,filename)。 if ( (fp=fopen(filename, r)) == NULL) { printf(\n\n****读文件错误 !****\n\n)。 } while(!feof(fp)) { fread(amp。 book[i],sizeof(book[MAX]),1,fp)。 if(book[i].num==0) break。 else i++。 } fclose(fp)。 sum=i。 } //输出模块 void output() { int i=0,j=0,page=1。 system(cls)。 //清屏 printf(\n\n ****图书信息表 **** 第 %d 页 \n\n,page)。 PRINT2。 PRINT1。 do { if(book[i].num!=0) { j++。 if(j%PAGE!=0) { PRINT3。 PRINT1。 } else { PRINT3。 PRINT1。 if(book[i+1].num!=0) { printf(按任意键继续 !)。 printf(\n\n **** 图书信息表 **** 第 %d 页\n\n,++page)。 PRINT2。 PRINT1。 } } } i++。 } while(book[i].num!=0)。 printf(\n)。 printf(按任意键返回主菜单 !)。 } /***** 更 新 图 书 信 息 模 块*****/ //删除模块 void del() { int i,j,del_num,b=0。 read()。 printf( 输出要删除的图书编号 :)。 scanf(%d,amp。 del_num)。 for(i=0。 isum。 i++) { if(book[i].num==del_numamp。 amp。 book[i].num!=0) {for(j=i。 jsum。 j++) {book[j]=book[j+1]。 } sum。 break。 } else b++。 } PRINT1。 PRINT2。 for(i=0。 isum。 i++) {PRINT3。 printf(\n)。 } if(sum==b) { printf( 该图书不存在 )。 printf( 按任意键返回 )。 } } //添加模块 void append() { int i,flag=0。 char choice。 i=sum。 read()。 printf(\n\n 添加一种新图书 \n)。 do { printf(\n ★新图书编号 :)。 scanf(%d,amp。 boo。图书馆信息管理系统实验报告
相关推荐
n6 PROMPT 按专业查询 DEFINE BAR 4 OF _0xg1eevn6 PROMPT 按班级查询 ON SELECTION BAR 1 OF _0xg1eevn6 do form ajsxhcqdj ON SELECTION BAR 2 OF _0xg1eevn6 do form axmcqdj ON SELECTION BAR 3 OF _0xg1eevn6 do form
.............. 14 附录 B:需求确认 ......................................................... 15 第 1章 背景 项目来源 当下随着人们对书籍阅读的需求量的增大,图书馆的规模也日渐扩大,书籍的数量和种类也在增长,对书籍的管理也成为一个难题,随着互联网的普及和数据库技术的便捷,为图书馆的书籍管理提供了很好的条件和工具。
的图样或文件的代号(含文件的尾注号)。 建议 在代号后注明图样或文件的名称(工艺或工序卡片需增注工序名称)。 对于 代号需更改的,填写更改前的代号。 3 c)“更改前”栏:图样、文件更改前 原来 的要求,对于图样 必要时 应注明视图名称或部位、技术要求序号,形状改变 前的 局部图形及相关标注 (未更改的应不标注) ;对于文件应注明 页次、 章节条号(图、表号) 及 原 来 表达的词句或数据。
加,删除和修改以及对书籍的借阅、归还等功能。 系统的功能具体有如下几个方面: 图书管理功能模块:该模块主要提供是图书类别管理(添加图书类别、修改图书类别和删除图书类别)和图书信息管理(添加图书信息、修改图书信息、删除图书信息和查询图书信息)。 图 书因使用过久或信息过时需做下架处理 , 或者在读者借阅书籍时发生遗失的情况下需做遗失处理 , 这些都需要修改数据库关于书籍的信息。
图书馆 编目部 流通部 管理部 财务部 验收部 采购部 馆长 ③ 机构任务描述 通过对图书馆现有管理制度的调查,了解管理信息系统的大体制作方向。 同时根据已登记数据进行改进以及调整。 最终作出满足图书馆出纳员的管理信息系统。 任务完成。 ④功能、机构联系表 采购部 验收部 编目部 流通部 管理部 财务部 图书采购计划制定 * √ √ X X 图书借出计划制定 √ √ * X X 图书采购及入库
{ ((char *)amp。 s,sizeof(teacher))。 ((char *)amp。 s,sizeof(teacher))。 } ()。 ()。 cout此记录已物理删除 endl。 } void func03() { ofstream output()。 studentteacher s。 cout输入数据 endl。 cout学生人数:。 cinn。 for(int i=0。