欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言图书馆管理系统课程设计报告(共16页).doc

    • 资源ID:5437552       资源大小:125.50KB        全文页数:16页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言图书馆管理系统课程设计报告(共16页).doc

    精选优质文档-倾情为你奉上高级语言程序设计课程设计报告 设计题目:*高校图书馆信息管理系统 姓 名: 专 业: 计算机科学与技术班 级: 指导老师: 2012年01月01日 l 摘要l 绪论l 问题定义(或系统分析)l 总体设计与详细设计l 调适与测试l 总结与心得l 附录附录一 源代码附录二 参考文献*高校图书馆管理系统² 摘要【设计题目】图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等.试设计一图书信息管理系统,使之能提供以下功能:1)系统以菜单方式工作2)图书信息录入功能(图书信息用文件保存)-输入3)图书信息浏览功能-输出4)查询和排序功能:(至少一种查询方式)-算法5)按书名查询6)按作者名查询7)图书信息的删除与修改(可选项)*² 绪论【设计目的】1. 通过本次课程设计对c语言的充分编程和实际应用进一步熟悉和巩固c语言语法知识和程序设计的基本方法。2. 因为编程具有细致繁琐的特点,训练大家的编程素质,养成耐心细致的习惯。3. 锻炼思维能力,养成多思考的习惯,同时有助于培养团队意识4. 了解大型程序的编写过程,为以后编写大型程序和开发软件打下基础。【设计要求】1. 掌握面相对象程序设计的功能抽象和数据抽象方法,掌握类,对象的使用的方法;2. 掌握数据类型的使及不同程序方式的应用.3. 掌握函数使用技巧,包括函数类型的选择,含参数的传递方式等;4. 掌握使用数组,指针,引用,文件等编程的方法.5. 掌握C+流类库的使用.6. 掌握C+模板的使用;7. 掌握中小型规模程序的设计,开发,调试的全过程.² 问题定义(或系统分析)【设计思路】根据题目要求,应当把图书信息用结构体形式输入,再定义一个全局变量和文件指针进行整个程序的运行,然后把图书信息送到文件中去,所以应该提供下个结构体和文件的输入等操作:在程序中需要实现图书信息录入,浏览,查询,删除和修改等功能的操作,所以需要建立相应的模块来实现:另外还需提供选择菜单实现功能,在运行时达到所要求的目的。² 总体设计与详细设计 【总体设计】图书馆管理系统数据输入数据修改删除数据添加查找浏览图1 系统功能模块图 【详细设计】1. 主函数主函数设计要求简洁,只提供部分提示语和函数的调用【程序】头函数名:#include<stdio.h>#include<stdlib.h>#include<string.h>struct bookinf int num;/登录号 char bname20;/书名 char wname10;/ 作者名 char clanum14;/ 分类号 char pubcom10;/出版单位 char pubtime10;/ 出版时间 float price;/价格;(1) 来到图书信息管理系统页面void index() char input; printf("nnttt*n"); printf("ttt 图书信息管理系统n"); printf("ttt*nnn"); printf(" -n"); printf("t<按任意键进入>nt"); input=getchar(); (2)来到功能菜单页面void adm_servelist() void book_add(); void book_view(); void change(); void del(); void book_search(); void login(); void pwchange(); int in; char input; do printf("nnnt-欢迎使用信息管理系统-"); printf("nnt1.图书信息录入n"); printf("t2.图书信息浏览n"); printf("t3.图书信息查询n"); printf("t4.图书信息删除n"); printf("t5.图书信息修改n"); printf("t6.退出管理模式n"); printf("nt请选择服务种类:"); scanf("%d",&in); if (in!=1&&in!=2&&in!=3&&in!=4&&in!=5&&in!=6) printf("nt没有这项服务n"); printf("t按任意键重新选择"); input=getchar(); while (in!=1&&in!=2&&in!=3&&in!=4&&in!=5&&in!=6); switch (in) case 1: book_add(); break; case 2: book_view(); break; case 3: book_search(); break; case 4: del(); break; case 5: change();break; case 6: login(); break; (3)图书信息录入功能模块void book_add() void adm_servelist(); void book_add(); int i=0,j; FILE *fp; char input; struct bookinf books; struct bookinf book_taxis30; printf("nnnt-请输入图书信息-nn"); printf("t登录号:"); scanf("%d",&books.num); printf("nt书名:"); scanf("%s",books.bname); printf("nt作者名:"); scanf("%s",books.wname); printf("nt分类号:"); scanf("%s",books.clanum); printf("nt出版单位:"); scanf("%s",books.pubcom); printf("nt出版时间:"); scanf("%s",books.pubtime); printf("nt价格:"); scanf("%f",&books.price); if (fp=fopen("book.txt","r")!=NULL) do fread(&book_taxisi,sizeof(struct bookinf),1,fp); i=i+1; while(!feof(fp); fclose(fp); for (j=0;j<=i;j+) if (books.num=book_taxisj.num) printf("nnnt对不起,这个编号已经使用过了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(struct bookinf),1,fp); fclose(fp); printf("nnnt信息输入完毕按任意键继续n"); input=getchar(); adm_servelist();(4)图书信息浏览功能模块void book_view() void adm_servelist(); void book_view(); int inp,i=0,n=0; FILE *fp; char input; struct bookinf bookview20; if (fp=fopen("book.txt","r")=NULL) printf("nnnt数据尚未初始化nnt请在管理菜单中增加图书信息n"); printf("nt<按任意键返回管理菜单>nt"); input=getchar(); adm_servelist(); else do fread(&bookviewi,sizeof(struct bookinf),1,fp); i=i+1; while (!feof(fp); fclose(fp); do printf("nt-共有%d条记录-",i-1); printf("nnt登录号: %dn",bookviewn.num); printf("nt书名: %sn",bookviewn.bname); printf("nt作者名: %sn",bookviewn.wname); printf("nt分类号: %sn",bookviewn.clanum); printf("nt出版单位: %sn",bookviewn.pubcom); printf("nt出版时间: %sn",bookviewn.pubtime); printf("nt价格: %fn",bookviewn.price); printf("nnt1.上一页t2.下一页t3.回目录n"); printf("nt请选择:"); scanf("%d",&inp); switch (inp) case 1: if (n=0) printf("nt已到达首页nt按任意键重新选择"); input=getchar(); else n=n-1; break; case 2: if (n=i-2) printf("nt已到达最末页nt按任意键重新选择"); input=getchar(); else n=n+1; break; case 3: adm_servelist(); break; default: printf("nt没有这项服务nt按任意键重新选择"); input=getchar(); while (inp!=3);(5)图书信息修改与删除功能模块修改: void change(int x) int inp,i=0,j; void book_search(); FILE *fp,*fp1; char input; struct bookinf books,book_taxis20; do printf("nnnt注意:您确定要修改该记录吗?n"); printf("nt1.是t2.否n"); printf("nt请输入:"); scanf("%d",&inp); if (inp!=1&&inp!=2) printf("nt对不起没有这项服务n"); printf("t按任意键重新选择nt"); input=getchar(); while (inp!=1&&inp!=2); if (inp=2) book_search(); if (inp=1) printf("nnnt-请输入图书信息-nn"); printf("t登录号:"); scanf("%d",&books.num); printf("nt书名:"); scanf("%s",books.bname); printf("nt作者名:"); scanf("%s",books.wname); printf("nt分类号:"); scanf("%s",books.clanum); printf("nt出版单位:"); scanf("%s",books.pubcom); printf("nt出版时间:");scanf("%s",books.pubtime); printf("nt价格:"); scanf("%f",&books.price); if (fp1=fopen("book.txt","r")!=NULL) do fread(&book_taxisi,sizeof(struct bookinf),1,fp1); i=i+1; while(!feof(fp1); fclose(fp1); for (j=0;j<x;j+) if (books.num=book_taxisj.num) printf("nnnt对不起,这个编号已经使用过了n"); printf("t按任意键返回管理菜单"); printf("0"); input=getchar(); book_search(); break; for (j=x+1;j<i-2;j+) if (books.num=book_taxisj.num) printf("nnnt对不起,这个编号已经使用过了n"); printf("1"); printf("t按任意键返回管理菜单"); input=getchar(); book_search(); break; book_taxisx=books; fp=fopen("book.txt","w"); for (j=0;j<i-1;j+) fwrite(&book_taxisj,sizeof(struct bookinf),1,fp); fclose(fp); printf("nnt信息修改完成!按任意键返回"); input=getchar();book_search(); 删除:void del(int y) char input; FILE *fp; int inp,i=0,j; struct bookinf book_taxis20; void book_search(); void adm_servelist(); do printf("nnnt注意:您确定要删除该记录吗?n"); printf("nt1.是t2.否n"); printf("nt请输入:"); scanf("%d",&inp); if (inp!=1&&inp!=2) printf("nt对不起没有这项服务n"); printf("t按任意键重新选择nt"); input=getchar(); while (inp!=1&&inp!=2); if (inp=2) book_search(); if (inp=1) if (fp=fopen("book.txt","r")!=NULL) do fread(&book_taxisi,sizeof(struct bookinf),1,fp); i=i+1; while(!feof(fp); fclose(fp); if (i>2) fp=fopen("book.txt","w"); for (j=0;j<y;j+) fwrite(&book_taxisj,sizeof(struct bookinf),1,fp); fclose(fp); fp=fopen("book.txt","a"); for (j=y+1;j<i-1;j+) fwrite(&book_taxisj,sizeof(struct bookinf),1,fp); fclose(fp); else remove("book.txt"); printf("nnt记录已删除!nnt按任意键返回nt"); input=getchar(); adm_servelist(); (6)图书信息查询功能模块void book_search() void adm_servelist(); void id_search(); void wr_search(); void bn_search(); char input; FILE *fp; int inp; if (fp=fopen("book.txt","r")=NULL) printf("nnnt数据尚未初始化nnt请在管理菜单中增加图书信息n"); printf("nt<按任意键返回管理菜单>nt"); input=getchar(); adm_servelist(); else do printf("nnnt1.按图书登录号查询n");printf("nt2.按图书作者查询n"); printf("nt3.按图书名查询n"); printf("nt4.回到主菜单n"); printf("nnt请选择查询类别:"); scanf("%d",&inp); if (inp!=1&&inp!=2&&inp!=3&&inp!=4) printf("nnt没有这项服务nt按任意键重新选择"); input=getchar(); while (inp!=1&&inp!=2&&inp!=3&&inp!=4); fclose(fp); switch (inp) case 1: id_search(); break; case 2: wr_search(); break; case 3: bn_search(); break; case 4: adm_servelist(); break; ² 调试与测试² 总结与心得对程序的设计要有充分的逻辑性,将该程序的大纲罗列出来,同时要充分了解该程序所需的编程语言,通过这次课程设计我们能把课本上的知识充分的应用到实践中来。在本次课程设计中要区分相似函数的功能,减少调试时间,打开文件的方式特别重要,调试程序时很可能是一个符号难死人那,因此编程时要非常的细心编程需要长时间练习。这次课程设计让我掌握了许多的有用知识。首先通过不断地学习和锻炼更加熟练地掌握应用软件Microsoft Visual C+ 6.0 了。设计正确及合适的程序对于我们初学者来说是很大的难题,出现一丁点儿错误就得非很大的努力去修改,正式者一步步一点点的努力让我对C语言游乐更深的认识。同时我掌握了解决问题的方法,这无论是对以后的学习、生活都有无比重要的价值。专心-专注-专业

    注意事项

    本文(C语言图书馆管理系统课程设计报告(共16页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开