您好,欢迎访问三七文档
1共35信息技术工程学院课程设计Ⅰ报告课程名称C语言课程设计_题目名称图书信息管理系统学生学院_信息技术工程学院专业班级_计算机科学与技术_学号2011091151学生姓名范贤伟指导教师马瑜2012年12月日12共351、设计目的与要求.............................................................................................31、题目与设计要求........................................................................................31.1需求分析...............................................................................................31.2总体设计.................................................................................................31.3详细设计..................................................................................................32、本程序涉及的知识点...............................................................................62、功能设计............................................................................................................72.1、总体设计...............................................................................................72.2、功能流程图.............................................................................................72.3、详细设计...............................................................................................83、程序实现..........................................................................................................183.1程序实现时应考虑的问题.................................................................183.2XX模块核心代码.................................................................................184、测试分析..........................................................................................................244.1测试结果及分析....................................................................................245、总结:...............................................................................................................356、参考文献:.....................................................................................................3623共35图书信息管理系统设计1、设计目的与要求1、题目与设计要求1.1需求分析系统以菜单方式工作,提供键盘式选择菜单以实现功能选择;图书信息采用文件保存,因而要提供文件的输入输出操作;要实现图书信息的浏览功能,则要提供信息显示操作;要实现图书信息查询功能,则要提供查找操作(提供按书名、作者名查询两种查询方式);要实现图书信息删除、修改功能则要提供文件记录的删除、修改操作。1.2总体设计整个系统被设计为图书信息输入和输出模块、图书信息浏览模块、图书信息查询模块和图书信息删除与修改模块。1.3详细设计设计图书信息结构体和图书的基本信息操作:structbook/*图书信息结构定义*/{intnum;/*图书编号*/charname[40];/*书名*/charauthor[40];/*作者名*/charclassNo[40];/*分类号*/charpublisher[40];/*出版单位*/charpubTime[40];/*出版时间*/charprice[40];/*价格*/}temp;typedefstructbookLIB;LIBlib[N];voidinput()/*输入函数*/{FILE*fp;inti;charm[3];fp=fopen(book,ab);/*建立一个新二进制文件*/34共35for(i=all;iN;i++){all++;printf(请输入图书信息:\n);printf(编号:\n);scanf(%d,&lib[i].num);printf(书名:\n);scanf(%s,lib[i].name);printf(作者:\n);scanf(%s,lib[i].author);printf(分类号:\n);scanf(%s,lib[i].classNo);printf(出版社:\n);scanf(%s,lib[i].publisher);printf(出版时间:\n);scanf(%s,lib[i].pubTime);printf(价格:\n);scanf(%s,lib[i].price);a:printf(yes/no是否继续?\n);printf(1:yes\n);printf(2:no\n);scanf(%s,m);if(atoi(m)==1)/*将m转换成整型数*/continue;elseif(atoi(m)==2)return;else{gotoa;}fclose(fp);}}voidoutput()/*输出函数*/{FILE*fp;inti;fp=fopen(book,rb);printf(================================================================================\n);printf(图书列表\n);printf(-------------------------------------------------------------------------------\n);printf(编号\t书名\t作者名\t分类号\t出版社\t出版时间\t价格\n);for(i=0;fread(&lib[i],sizeof(structbook),1,fp)==1;i++)45共35{printf(%d\t%s\t%s\t%s\t%s\t%s\t%s\n,lib[i].num,lib[i].name,lib[i].author,lib[i].classNo,lib[i].publisher,lib[i].pubTime,lib[i].price);}fclose(fp);}voidsave()/*文件保存*/{inti;if((fp=fopen(book,wb))==NULL){printf(cannotopenthefile);exit(1);}for(i=0;iall;i++){if(fwrite(&lib[i],sizeof(LIB),1,fp)!=1){printf(cannotwrite!);exit(1);}printf(保存成功\n);}fclose(fp);}voidpaixu()/*按编号从小到大排序*/{FILE*fp;inti,s;structbookfla;fp=fopen(book,rb);for(s=1;fread(&lib[s],sizeof(structbook),1,fp)==1;s++);……见模块核心代码voidchazhao()/*书名和作者名查找*/{inti,flag;charm[3];charname[30];fp=fopen(book,rb);……见核心模块代码voiddel()/*删除函数*/{FILE*fp;56共35inti,flag,n,j,s;fp=fopen(book,rb+);/*以读/写的方式打开一个已存在的二进制文件*/……见模块核心代码voidxiugai()/*修改函数*/{inti,n;charnum;intflag=0;FILE*fp;fp=fopen(book,rb);rewind(fp);/*把文件指针fp重新指向文件的开始处*/……见模块核心代码(一)输入图书信息通过菜单选择从键盘输入图书信息,根据提示选择是否继续输入。输入的图书信息通过选择菜单保存在book文件中。(二)输出图书信息通过菜单选择从文件book中用‘rb+’方式输出图书信息。(三)文件保存以菜单方式选择保存,如果文件不存在,打开文件失败,否则保存成功。(四)图书信息的改变通过菜单选择排序、删除、修改进行图书资料的改动,首先要读取文件(fread)。(五)退出系统2、本程序涉及的知识点2.1程序涉及数组,字符串的定义;2.2结构体,指针2.3函数调用2.4宏定义2.5文件读写。67共352、功能设计2.1、总体设计1.工程流程图(我做的是:数据修改、删除、查找)开始输出界面录入数据选择操作数据显示保存数据数据查找管理员选择1数据修改数据删除数据排序数据显示读者选择2数据查找选择3结束78共352.3、详细设计#includestdio.h/*输入输出函数*/#includestring.h/*字符串操作函数*/#includestdlib.h/*数值转换函数*/#includeconio.h/*控制台输入输出函数*/#defineN10/*宏定义参数为形参*/structbook/*图书信息结构定义*/{intnum;/*图书编号*/charname[40];/*书名*/charauthor[40];/*作者名*/charclassNo[40];/*分类号*/charpublisher[40];/*出版单位*/charpubTime[40];/*出版时间*/charprice[40];/*价格*/}temp;typedefstructbookLIB;LIBlib[N];FILE*fp;intall=0;voidinput();voidoutput();voidsave();voiddel();voidchazhao();voidxiugai();voidpaixu();voidmain(){intn;printf(\n================================================================================\n);printf(\t\t\t欢迎进入玉溪师范学院图书信息管理系统\n);printf(\
本文标题:图书信息管理系统
链接地址:https://www.777doc.com/doc-7268837 .html