您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 设计及方案 > C语言图书馆管理系统课程设计报告
《高级语言程序设计》课程设计报告设计题目:**高校图书馆信息管理系统姓名:专业:计算机科学与技术班级:指导老师:2012年01月01日摘要绪论问题定义(或系统分析)总体设计与详细设计调适与测试总结与心得附录附录一源代码附录二参考文献**高校图书馆管理系统摘要【设计题目】图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等.试设计一图书信息管理系统,使之能提供以下功能:1)系统以菜单方式工作2)图书信息录入功能(图书信息用文件保存)--输入3)图书信息浏览功能--输出4)查询和排序功能:(至少一种查询方式)--算法5)按书名查询6)按作者名查询7)图书信息的删除与修改(可选项)*绪论【设计目的】1.通过本次课程设计对c语言的充分编程和实际应用进一步熟悉和巩固c语言语法知识和程序设计的基本方法。2.因为编程具有细致繁琐的特点,训练大家的编程素质,养成耐心细致的习惯。3.锻炼思维能力,养成多思考的习惯,同时有助于培养团队意识4.了解大型程序的编写过程,为以后编写大型程序和开发软件打下基础。【设计要求】1.掌握面相对象程序设计的功能抽象和数据抽象方法,掌握类,对象的使用的方法;2.掌握数据类型的使及不同程序方式的应用.3.掌握函数使用技巧,包括函数类型的选择,含参数的传递方式等;4.掌握使用数组,指针,引用,文件等编程的方法.5.掌握C++流类库的使用.6.掌握C++模板的使用;7.掌握中小型规模程序的设计,开发,调试的全过程.问题定义(或系统分析)【设计思路】根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中去,所以应该提供下个结构体和文件的输入等操作:在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的。总体设计与详细设计【总体设计】图1系统功能模块图【详细设计】1.主函数主函数设计要求简洁,只提供部分提示语和函数的调用【程序】头函数名:#includestdio.h#includestdlib.h#includestring.hstructbookinf{intnum;//登录号charbname[20];//书名charwname[10];//作者名charclanum[14];//分类号charpubcom[10];//出版单位charpubtime[10];//出版时间floatprice;//价格};(1)来到图书信息管理系统页面voidindex()图书馆管理系统数据输入数据修改删除数据添加查找浏览{charinput;printf(\n\n\t\t\t*****************************\n);printf(\t\t\t图书信息管理系统\n);printf(\t\t\t*****************************\n\n\n);printf(------------------------------------------------------------------------------\n);printf(\t按任意键进入\n\t);input=getchar();}(2)来到功能菜单页面voidadm_servelist(){voidbook_add();voidbook_view();voidchange();voiddel();voidbook_search();voidlogin();voidpwchange();intin;charinput;do{printf(\n\n\n\t--欢迎使用信息管理系统--);printf(\n\n\t1.图书信息录入\n);printf(\t2.图书信息浏览\n);printf(\t3.图书信息查询\n);printf(\t4.图书信息删除\n);printf(\t5.图书信息修改\n);printf(\t6.退出管理模式\n);printf(\n\t请选择服务种类:);scanf(%d,&in);if(in!=1&&in!=2&&in!=3&&in!=4&&in!=5&&in!=6){printf(\n\t没有这项服务~\n);printf(\t按任意键重新选择);input=getchar();}}while(in!=1&&in!=2&&in!=3&&in!=4&&in!=5&&in!=6);switch(in){case1:book_add();break;case2:book_view();break;case3:book_search();break;case4:del();break;case5:change();break;case6:login();break;}}(3)图书信息录入功能模块voidbook_add(){voidadm_servelist();voidbook_add();inti=0,j;FILE*fp;charinput;structbookinfbooks;structbookinfbook_taxis[30];printf(\n\n\n\t---请输入图书信息---\n\n);printf(\t登录号:);scanf(%d,&books.num);printf(\n\t书名:);scanf(%s,books.bname);printf(\n\t作者名:);scanf(%s,books.wname);printf(\n\t分类号:);scanf(%s,books.clanum);printf(\n\t出版单位:);scanf(%s,books.pubcom);printf(\n\t出版时间:);scanf(%s,books.pubtime);printf(\n\t价格:);scanf(%f,&books.price);if((fp=fopen(book.txt,r))!=NULL){do{fread(&book_taxis[i],sizeof(structbookinf),1,fp);i=i+1;}while(!feof(fp));fclose(fp);for(j=0;j=i;j++)if(books.num==book_taxis[j].num){printf(\n\n\n\t对不起,这个编号已经使用过了~\n);printf(\t按任意键返回管理菜单~);input=getchar();adm_servelist();break;}}if((fp=fopen(book.txt,r))==NULL){fp=fopen(book.txt,w);}else{fclose(fp);fp=fopen(book.txt,a);}fwrite(&books,sizeof(structbookinf),1,fp);fclose(fp);printf(\n\n\n\t信息输入完毕~按任意键继续\n);input=getchar();adm_servelist();}(4)图书信息浏览功能模块voidbook_view(){voidadm_servelist();voidbook_view();intinp,i=0,n=0;FILE*fp;charinput;structbookinfbookview[20];if((fp=fopen(book.txt,r))==NULL){printf(\n\n\n\t数据尚未初始化~~\n\n\t请在管理菜单中增加图书信息~~\n);printf(\n\t按任意键返回管理菜单\n\t);input=getchar();adm_servelist();}else{do{fread(&bookview[i],sizeof(structbookinf),1,fp);i=i+1;}while(!feof(fp));fclose(fp);do{printf(\n\t--------共有%d条记录--------,i-1);printf(\n\n\t登录号:%d\n,bookview[n].num);printf(\n\t书名:%s\n,bookview[n].bname);printf(\n\t作者名:%s\n,bookview[n].wname);printf(\n\t分类号:%s\n,bookview[n].clanum);printf(\n\t出版单位:%s\n,bookview[n].pubcom);printf(\n\t出版时间:%s\n,bookview[n].pubtime);printf(\n\t价格:%f\n,bookview[n].price);printf(\n\n\t1.上一页\t2.下一页\t3.回目录\n);printf(\n\t请选择:);scanf(%d,&inp);switch(inp){case1:{if(n==0){printf(\n\t已到达首页\n\t按任意键重新选择);input=getchar();}elsen=n-1;break;}case2:{if(n==i-2){printf(\n\t已到达最末页\n\t按任意键重新选择);input=getchar();}elsen=n+1;break;}case3:{adm_servelist();break;}default:{printf(\n\t没有这项服务\n\t按任意键重新选择);input=getchar();}}}while(inp!=3);}}(5)图书信息修改与删除功能模块修改:voidchange(intx){intinp,i=0,j;voidbook_search();FILE*fp,*fp1;charinput;structbookinfbooks,book_taxis[20];do{printf(\n\n\n\t注意:您确定要修改该记录吗?\n);printf(\n\t1.是\t2.否\n);printf(\n\t请输入:);scanf(%d,&inp);if(inp!=1&&inp!=2){printf(\n\t对不起~没有这项服务~\n);printf(\t按任意键重新选择\n\t);input=getchar();}}while(inp!=1&&inp!=2);if(inp==2)book_search();if(inp==1){printf(\n\n\n\t---请输入图书信息---\n\n);printf(\t登录号:);scanf(%d,&books.num);printf(\n\t书名:);scanf(%s,books.bname);printf(\n\t作者名:);scanf(%s,books.wname);printf(\n\t分类号:);scanf(%s,books.clanum);printf(\n\t出版单位:);scanf(%s,books.pubcom);printf(\n\t出版时间:);scanf(%s,books.pubtime);printf(\n\t价格:);scanf(%f,&books.price);if((fp1=fopen(book.txt,r))!=NULL){do{fread(&book_taxis[i],sizeof(structbookinf),1,fp1);i=i+1;}while(!feof(fp1));fclose(fp1);for(j=0;jx;j++)if(books.num==book_taxis[j].num){printf(\n\n\n\t对不起,这个编号已经使用过了~\n);printf(\t按任意键返回管理菜单~);printf(0);input=getchar();book_search();break;}for(j=x+1;ji-2;j++)if(books.num==book_taxis[j].num){printf(\n\n\n\t对不起
本文标题:C语言图书馆管理系统课程设计报告
链接地址:https://www.777doc.com/doc-8025830 .html