课程设计报告课程名称C语言程序设计课题名称图书信息管理系统专业机械电子班级1101班学号姓名指导教师2012年12月19日湖南工程学院课程设计任务书课程名称C语言程序设计课题图书信息管理系统专业班级学生姓名学号指导老师审批任务书下达日期2012年12月19日任务完成日期2012年12月29日一、设计内容与设计要求1.设计内容:图书信息管理系统设计涉及的知识点:①掌握并熟练运用C语言的基本数据类型与各种表达式,程序的流程控制语句;②掌握数组的基本概念。熟练掌握一维数组、二维数组的应用、掌握字符数组与字符串的关系以及字符串的简单处理。③掌握函数的定义,函数的返回值,函数的调用,函数的形式参数和实际参数之间的关系;掌握变量的作用域与生存期,了解函数的作用域。④掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示,结构体变量的赋值含义,结构体与指针、函数的关系。⑤掌握文件、文件类型指针的基本概念,熟练掌握文件的打开与关闭以及文件的建立、读写等有关操作。2.设计要求:1)用C语言实现系统;利用结构体数组实现图书信息的数据结构设计;系统的各个功能模块要求用函数的形式实现;应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观。2)建立一个图书信息数据库,文件名为book.txt,并从该文件中读取数据;3)图书信息管理系统应能提供以下功能:①系统以菜单方式工作②图书信息显示功能;能以表格形式显示图书库中所有信息,且应有表头。③图书信息追加功能;追加一条(或多条)新记录,要求在追加过程中有相应的提示信息,完成追加后能重新排序和显示;④图书信息查询功能;a.按书名查询;b.按单价查询;c.按出版单位查询;d.按出版时间查询e.按分类号查询;f.按入库时间查询要求系统在上述查询方式中至少应有两种以上的查询方式,且能显示符合条件的所有记录。⑤图书信息的删除;要求可按指定的图书编号和指定的图书书名两种定位方式删除图书记录。⑥图书信息的修改;要求能按指定的图书编号和按指定的图书书名两种定位方式进行修改,且可以按用户要求修改记录中除图书编号和书名以外的指定内容,并重新显示;⑦图书信息的统计:能按指定的图书分类号或按指定的单价两种方式分别进行统计,并将统计的结果以及被统计的图书信息用表格的形式显示;⑧能按图书单价排序(降序)⑨要求在删除模块、修改模块和查询模块中若找不到所需的记录时,系统设计中应有一定的提示信息。4)说明:(1)要求将修改后的数据写入到一个新的数据文件newbook.txt中。(2)对系统有兴趣的同学可以在实现基本要求的基础上,完善系统的其它功能。5)图书信息管理系统采用一个结构体数组,图书信息包括:图书编号、分类号、书名、作者名、出版单位、出版时间、入库时间、价格等,其数据库结构如下:intbh/*图书编号*/intflh/*分类号*/charsname[15]/*书名*/charzname[10]/*作者名*/charcbdw[20];/*出版单位*/charcbdate[8]/*出版时间*/charrkdate[8]/*入库时间*/doubledj/*单价*/注意:图书编号不能重复且不少于4位数字,各项字符串的长度要求在4~10之间,数据库应有10条或多于10条以上的记录。6)要求:⑴要求每个学生必须独立思考,认真并按时完成本课程设计所包含的所有内容;⑵要求学生必须按照课程设计报告的完整格式说明设计内容,设计任务分析过程和算法,给出程序流程图和全部源程序;⑶设计报告的完整格式应包括以下部分的内容:①系统设计总体思路;②系统的主要功能;③系统功能模块的划分(要求画出总体模块框图);④主要功能的实现和各个程序模块说明(每个功能模块的框图、系统主模块的流程图,各个功能模块至少要有一个主要的流程图);⑤程序调试过程及各模块调试中相应的部分截图;⑥课程设计总结与体会(不少于500字)。⑦课程设计参考文献;⑧程序清单;⑷课程设计周内,凡规定的集中上机时间必须到机房调试程序;(5)设计完成后必须参加答辩,并按要求演示程序,提交课程设计报告和有关电子文档。7)分组及安排所选题目根据学生班号和学号确定,(班号+学号)%6+1。如你的班号为01班、学号为01,则所选题目号为:(1+1)%6+1=3,即课题号为3。8)成绩评定①程序设计方案是否合理;②程序设计是否正确;③调试结果;④设计说明书的质量高低;⑤答辩时回答问题情况;⑥课程设计周表现情况;总评成绩记入“课程设计成绩评分表”。二、进度安排第16周星期四14:00——17:00讲课、布置任务第17周星期一8:00——12:00机房上机调试程序星期二8:00——12:00机房上机调试程序星期三19:00——22:00机房上机调试程序星期四8:00——12:00机房上机调试程序、答辩附:课程设计报告排版、打印和装订要求1.课程设计报告装订顺序:封面、任务书、目录、正文、附件、评分表。按A4大小的纸张排版和打印。2.设计报告的页码从目录之后开始使用;3.正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22磅。正文中程序清单(英文)用英文字体TimesNewRoman,单倍行间距。4.正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试(各模块至少有一个程序调试的截图);五、总结(不少于500字);六、参考文献;t、附件(包含所有程序的原代码,且程序中应有必要的注释)。八.正文总字数要求在5000字以上(不含程序原代码)。5.设计报告中任务书和评分表不需重新排版。目录一.系统的主要思路.....................................................2二.系统的主要功能......................................................11.显示功能.........................................................12.追加功能.........................................................13.修改模块.........................................................14.删除模块.........................................................15.查询模块.........................................................16.统计模块.........................................................37.排序模块.........................................................38.退出模块.........................................................3三.系统功能模块的划分..................................................21.总体模块功能框图.................................................2四.总流程图............................................................21.总流程图.........................................................22.八大模块的流程图.................................................5五.程序调试..........................................................121.显示模块........................................................132.追加模块........................................................143.修改模块........................................................164.删除模块........................................................185.查询模块........................................................206.统计模块........................................................247.排序模块........................................................238.退出模块........................................................25六.心得与体会........................................................26七.参考文献..........................................................26八.附件..............................................................27一.系统的主要思路此系统事用C语言实现一个图书馆信息管理系统;利用结构体数组实现图书馆信息的数据结构;例如,删除图书信息、追加图书信息、修改图书信息、图书信息的统计等等;系统的各个功能调用各个函数的形式实现;并提供一个界面来调用,各个功能的操作。首先我们要对系统操作就必须先创建一个数据库,用来存放各图书的信息,如:图书编号、分类号、书名、作者名、出版单位、出版时间、入库时间、单价等。并用读函数fscanf读取数据,然后才能进入主控程序。然后,运行该程序显示的为主菜单界面,并且主菜单界面显示调用各个功能函数的功能键;通过提示用户,调用各个功能操作。按下相应的功能键,就会进入相应的功能模块系统,并进行相应的操作。程序操作完并正常退出后,系统又会调用写函数fprintf将修改过的数据存入一个新的文件。图书馆信息管理系统存放了每种图书的图书编号、分类号、书名、作者名、出版单位、出版时间、入库时间、单价的数据库。每本书的信息定义在一个结构体变量中。其结构如下:系统通过显示程序、追加程序、查询程序、删除程序、修改程序、排序程序来实现图书馆信息管理系统的显示功能、追加功能、查询功能、删除功能、修改功能、排序功能和统计功能。各个功能的调用通过主函数中的switch语句来实现。二、系统的主要功能1.显示模块Disp()通过设计此模块,来实现图书馆图书信息的显示。以便于浏览图书信息。2.追加模块Appe()通过设计此模块,以便当加入新的图书信息的时候,来实现新图书信息的加入。3.修改模块Modi()通过设计此模块,当要对某一信息进行修改时,可以通过此模块来进行修改。并且可以按用户指定的信息进行修改。4.删除模块Dele()通过设计此模块,可以按用户指定的图书编号和指定的图书书名进行图书记录的删除。5.查询模块Query()通过设计此模块,可以按图书编号和书名来查询图书库的所有的信息,并可以显示所查询的图书信息。6.统计模块Total()通过设计此模块,当输入所要统计的图书的单价或分类号时,可以按图书的单价和分类号进行统计,并显示统计之后的图书总数。7.排序模块Sort()通过设计此模块,来实现书