C语言课程设计实验报告名称:图书信息管理系统设计姓名:洪静怡学号:1211200222班级:通信1202学院:信息与电子工程学院日期:2013.07.05目录一、实验环境------------------------------------------------------------------------------------------------------1二、实验目的和要求---------------------------------------------------------------------------------------------11、实验目的:----------------------------------------------------------------------------------------------------12、实验要求:----------------------------------------------------------------------------------------------------1三、实验内容和结果---------------------------------------------------------------------------------------------21、程序整体功能-------------------------------------------------------------------------------------------22、程序组成及各模块/函数功能-----------------------------------------------------------------------33、重要数据结构,重要模块/函数算法;----------------------------------------------------------4①读取数据模块:-----------------------------------------------------------------------------------4②菜单模块:-----------------------------------------------------------------------------------------4③浏览模块:-----------------------------------------------------------------------------------------5④查找模块:-----------------------------------------------------------------------------------------6⑤增加模块:-----------------------------------------------------------------------------------------7⑥删除模块:-----------------------------------------------------------------------------------------8⑦修改模块:-----------------------------------------------------------------------------------------9⑧排序模块:----------------------------------------------------------------------------------------11⑨保存、退出模块:-------------------------------------------------------------------------------124、程序的运行和测试结果------------------------------------------------------------------------------13(1)初始界面---------------------------------------------------------------------------------------13(2)菜单界面测试:------------------------------------------------------------------------------13(3)浏览功能测试---------------------------------------------------------------------------------14(4)查询功能测试---------------------------------------------------------------------------------14(5)增加功能测试---------------------------------------------------------------------------------15(6)删除功能测试---------------------------------------------------------------------------------16(7)修改功能测试---------------------------------------------------------------------------------17(8)排序功能测试---------------------------------------------------------------------------------18四、实验中的问题及心得------------------------------------------------------------------------------------19五、附录(程序清单)---------------------------------------------------------------------------------------20六、评分----------------------------------------------------------------------------------------------------------311图书管理系统设计同组(所有)学生:洪静怡通信1202学号1211200222实验地点:现代教育技术中心301实验日期和时间:2013年7月1日-7月5日实验类别:课程设计实验类型:设计性一、实验环境运行的操作系统:windowsXP编程工具:MicrosoftVisualC++6.0集成开发环境:桌号:机器的IP地址:二、实验目的和要求1、实验目的:(1)使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作算法。(2)使学生进一步掌握程序设计、编写、调试能力。(3)使学生了解软件开发的基本步骤和内容。2、实验要求:完成一个图书信息管理系统设计程序,具体内容如下:(1)在内存中用链表记录,在硬盘上用二进制文件保存。(2)设计完的程序能够以命令行或者菜单形式增加、删除、更新和查询数据的内容。数据内容能够排序以方便查询。(3)数据库中应该有至少20条记录。2三、实验内容和结果1、程序整体功能检测目标文件,读入数据用户操作界面(菜单)图书信息管理系统If判断yse后,函数DesplayMenu()函数switch()进行选择显示所有书籍的信息按书籍名查询按作者名查询增加书籍删除书籍按书籍名修改书籍信息按登录号修改书籍信息按价格排序并输出信息保存后退出32、程序组成及各模块/函数功能2.1功能模块设计(浏览,查找,增加,删除,排序,保存)2.2接口模块设计浏览功能(显示书籍信息)typedefstructbook{CharbookNumber[10];charbookName[20];charbookconcernName[20];charwriterName[20];floatmark1;floatmark2;Charkind;structbook*next;}book;打开文件(fp=fopen())新建单链表、结点用fscanf读入数据并放入结点用户操作界面(菜单)函数switch()选择case1:OutputInformation();浏览case2:DesplayInfoBybookName();查找case3:DesplayInfoBywriterName();查找case4:p=MallocNode();GetInformation(p);InsertOneNode(p);增加case5:DeleteNodeBybookNumber();删除case6:ChangeMarkByName();修改case7:ChangeMarkByNumber();修改case8:CompositorByMark1();排序case9:SaveLinkToFile();保存、退出43、重要数据结构,重要模块/函数算法;①读取数据模块:从文件中读取书籍信息到链表中voidReadInfoFormFile(void){FILE*fp;book*p;fp=fopen(new.txt,rb);if(!fp){printf(文件不存在,请创建文件后重新开启!!!\n);system(pause);return;}p=MallocNode();while(fread(&p,sizeof(book),1,fp)0){InsertOneNode(p);p=MallocNode();}fclose(fp);}②菜单模块:显示菜单,根据用户的输入完成相应的功能voidDesplayMenu(void){book*p;logo(请选择相应功能);printf(\n\n\n);printf(******************************************************************************\n);printf(图书信息管理系统\n\n);printf(1显示所有书籍的信息\n);printf(2按书籍名查询\n);printf(3按作者名查询\n);printf(4增加书籍\n);printf(5删除书籍\n);printf(6按书籍名修改书籍信息\n);printf(7按登录号修改书籍信息\n);5printf(8按价格排序并输出信息\n);printf(9保存后退出\n);printf(******************************************************************************\n\n\n);printf(请选择操作:);scanf(%d,&choose);/*取得用户的选择*/switch(choose){case1:OutputInformation();/*显示所有书籍的信息*/break;case2:DesplayInfoBybookName();break;case3:DesplayInfoBywriterName();/*根据用户输入的登录号显示该信息*/break;case4:p=MallocNode();/*先申请一个新结点*/GetInformation(p);/*要求用户输入信息到新结点中*/InsertOneNode(p);/*将新结点加到链表中*/