欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    高级语言程序设计报告.docx

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

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

    高级语言程序设计报告.docx

    1、高级语言程序设计报告高级语言程序设计报告(基于数组的图书管理系统)班 级: 姓 名: 时 间: 2012年 6月 1.课题分析编写目的:C语言程序设计上机设计是C语言程序设计的一重要环节,课程设计能提高同学们程序设计能力,使同学们初步掌握程序设计的基本方法和调试技能。通过上机设计掌握基本的编程语言,会使用简单的程序结构进行编程,能够通过小组的配合完成对简单实际问题进行程序化语言程序设计。需求概述:设计一个图书信息管理系统,使之能提供以下功能:1) 密码登录保护2) 图书信息添加3) 图书信息查找4)图书信息修改和保存5) 图书信息删除6)图书按图书序号排序需求说明:图书信息包括图书编号、图书的

    2、书名,作者名、出版社、出版日期等信息,并且要求图书编号不重复;录入的的图书基本信息以数组的形式保存在文件中,并可以对其进行添加、查询、修改、删除等基本操作;图书信息的显式有一定的规范格式;对图书信息应能够分别按图书书名及按图书作者名两种方式进行,要求能返回所有符合条件的图书信息;对图书信息的修改应逐个地进行,一本图书的信息的更改不影响其他的图书信息记录;所设计的系统应以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并要求在此过程中能够尽可能的兼容用户使用过程中的异常情况,并能够根据不同的情况进行不同的应对。2.总体设计编写目的:根据课题设计要求,提出问题的解决方案,以软

    3、件系统的体系结构和数据结构为基础以已学过的C语言编程知识写出书面文档总体设计说明书,为程序的详细设计做准备,为详细设计做铺垫。总体设计:1. 该系统可以按功能进行模块划分,其模块图如下:密码密码图书添加退 出按书名查找按作者名查找密码图书管理界面图书查找图书删除图书排序按编号排序系统模块图其中:图书馆管理界面以上为密码保护登陆模块,该模块完成对用户身份的识别(会员/非会员)并针对不同用户做出不同的反应;图书信息添加模块完成图书基本信息的输入功能,输入图书信息包括图书编号、图书的户名,作者名、出版社、出版日期等信息图书信息查找模块完成对已录入的图书信息的显示;图书信息查询模块完成图书基本信息的查

    4、询,查询时对应有按图书书名查询和按图书作者名查询两种方式;图书信息删除模块完成图书信息按照图书编号删除的功能;图书馆菜单选择模块完成用户命令的接收,此模块也是图书信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能;2. 数据结构本系统中主要的数据结构就是图书的基本信息,包括图书编号、图书的书名,作者名、出版社、出版日期等信息,在处理过程中各项可以作为一本图书的不同属性来进行处理3.程序流程系统的执行应从密码登录保护开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及处理。系统的流程图如下:删除信息输入信息删除

    5、信息排序查询方式按书名按作者结 束开始否菜单选择输入查询排序密码输入密码输入密码输入否是是否系统流程图3.详细设计对应于总体设计时的系统功能模块图,各个功能模块的处理逻辑如下:(1)密码保护登陆模块:打开文件登录界面 if密码正确; 进入图书馆管理菜单界面; else再次输入密码 while(密码再次输入正确) 进入图书馆管理菜单界面else重复第三次输入while(密码输入正确) 进入图书馆管理菜单界面else 直接跳出程序(2)图书信息添加模块:打开图书信息添加界面;while (请输入相关信息 )读入图书相关信息;将读入的图书信息添加到以数组形是保存的文件中;提示是否继续输入;继续输入返

    6、回上层;else 选择退出;关闭图书信息添加界面,返回主菜单;(3)图书信息查找模块: 打开图书信息查找界面 while (选择需要查找的方式);if选择按图书名查找;do输入图书名;if图书信息存在;显示图书书名对应的图书全部信息;else显示该书信息不存在或无法找到;else选择按图书作者名查找;do输入图书作者名;if图书信息存在;显示图书书名对应的图书全部信息;else显示该书信息不存在或无法找到;关闭图书信息查找界面,返回主菜单(4)图书信息删除模块:打开图书信息删除界面while(输入你要删除的图书编号);是否继续?if继续删除,返回上层输入图书编号删除信息;else选择退出图书信

    7、息删除界面;关闭图书信息删除界面,返回主菜单(5)图书书目排序模块:选择打开图书排序界面whileif选择以图书编号排序;选择,显示排序以编号从大到小排序;else选择退出排序选择界面;关闭图书信息排序界面,返回主菜单(6)菜单管理模块给出信息提示;绘制菜单(包含图书信息添加、图书信息查找、图书信息删除、图书排序、主菜单退出选项);提示菜单选择并读入到变量;根据读入变量的值调用不同的模块函数;数据结构:图书信息: typedef struct char number10;/书号 char name20;/书名 char author20;/作者 char publish50;/出版社 char

    8、 time20;/出版时间图书编号: library.booklibrary.count.number图书书名: library.booklibrary.count.name图书作者名: library.booklibrary.count.author图书出版社: library.booklibrary.count.publish图书出版日期: library.booklibrary.count.time4.C语言程序设计源程序清单#include#include#include#includetypedef struct char number10;/书号 char name20;/书名 c

    9、har author20;/作者 char publish50;/出版社 char time20;/出版时间mbook;typedef struct int count;/书的本数 mbook book100;/最大可有100本书mlibrary;mlibrary library;void save()/保存图书信息。 FILE *fp; if(fp=fopen(D:library.txt,a)=NULL) printf(n不能保存图书信息n); return; fwrite(library.book,sizeof(library.book0),library.count,fp); fclos

    10、e(fp);void putin() /*定义添加函数*/ int y=1; system(cls); while(y) printf(t请输入您的书籍的书号:); scanf(%s,library.booklibrary.count.number); printf(t请输入书名:); scanf(%s,library.booklibrary.count.name); printf(t请输入作者名:); scanf(%s,library.booklibrary.count.author); printf(t请输入出版社:); scanf(%s,library.booklibrary.count

    11、.publish); printf(t请输入出版时间:); scanf(%s,library.booklibrary.count.time); library.count+; printf(n是否继续录入(1.继续;0,退出录入):); fflush(stdin); scanf(%d,&y); if (y!=1) y=0; break; save();void search_by_name() /*定义按书名查找*/ char s220; int i=0,a=1; printf(n请输入要查找的书名: ); fflush(stdin); scanf(%s,s2); printf(图书号t图书名

    12、t作者名t出版社t出版日期n); for(;ilibrary.count;i+) if(strcmp(s2,library.booki.name)=0) a=0; printf(%st%st%st%st%sn,library.booki.number,library.booki.name,library.booki.author,library.booki.publish,library.booki.time); if(a) printf(cannot found!); fflush(stdin); getchar();void search_by_author() /*定义按作者名查找*/

    13、char s320; int i=0,a=1; printf(请输入要查询的书的作者: ); fflush(stdin); scanf(%s,s3); printf(图书号t图书名t作者名t出版社t出版日期n); for(;ilibrary.count;i+ ) if(strcmp(s3,library.booki.author)=0) a=0; printf(%st%st%st%st%sn,library.booki.number,library.booki.name,library.booki.author,library.booki.publish,library.booki.time)

    14、; if(a) printf(cannot found!); fflush(stdin); getchar();void search() /*定义查找函数*/ int a; system(cls); /*进行清屏*/ printf(tt*n); printf(开始查询n); printf(ttt1-search_by_namen); printf(ttt2-search_by_writern); printf(ttt0-exitn); printf(tt*n) ; printf(tt请选择你想要的查找方式:); fflush(stdin); scanf(%d,&a); switch(a) c

    15、ase 1: search_by_name(); break; case 2: search_by_author(); break; case 0: return; void del() /*定义删除函数*/ int i; char number10; system(cls); /*清屏*/ printf(n Please type in the number of the book you want to delete:); fflush(stdin); scanf(%s,number); for (i=0;ilibrary.count;i+) if(strcmp(number,librar

    16、y.booki.number)=0)break; if (i!=library.count) for(;ilibrary.count-1;i+) strcpy(library.booki.name,library.booki+1.name); strcpy(library.booki.number,library.booki+1.number); strcpy(library.booki.publish,library.booki+1.publish); strcpy(library.booki.author,library.booki+1.author); strcpy(library.bo

    17、oki.time,library.booki+1.time); library.count-; else printf(n cannot found!n); save(); fflush(stdin); getchar();void arrange(char a,char b) char c20; strcpy(c,a); strcpy(a,b); strcpy(b,c);void sort_by_number() int i,j; i=0; j=0; for(i=0;ilibrary.count-1;i+) for(j=0;j0) arrange(library.bookj+1.number

    18、,library.bookj.number); arrange(library.bookj+1.name,library.bookj.name); arrange(library.bookj+1.author,library.bookj.author); arrange(library.bookj+1.publish,library.bookj.publish); arrange(library.bookj+1.time,library.bookj.time); save(); printf(图书号t图书名t作者名t出版社t出版日期n); for(i=0;i=2) exit(0); print

    19、f(密码错误请重新输入:); num+; break; while(floag=0&num3);void main() int a; fun(); do printf(nnnnntttt图书信息管理系统ttttn); printf(tt*n); printf(ttt1 -图书信息添加n); printf(ttt2 -图书信息查找n); printf(ttt3 -图书信息删除n); printf(ttt4 -图书信息排序n); printf(ttt0 -退出图书信息系统n); printf(tt*n); printf(ttPlease Enter Choose: ); fflush(stdin)

    20、; scanf(%d,&a); switch(a) case 1: putin(); break; case 2: search(); break; case 3: del(); break; case 4: sortlist(); break; case 0: printf(nn退出nn); break; default: printf(n序号错误n); while(a!=0); save();5.测试与调试问题一、图书信息初始添加模块:图书信息包括图书编号、图书的书名,作者名、出版社、出版日期等信息,该模块以建立的动态指针为基础,来实现操作。当点击进入或会按照提示输入相关信息,当未按照格式

    21、输入相关信息时出现输出错误。解决方案:(1)查找是否存在图书编号、图书的书名,作者名、出版社、出版日期等信息在输入过程中超出了程序本身定义的位数。若如此,那么找到相关源程序更改源程序设定的限定位数。(2)查找是否存在图书编号、图书的书名,作者名、出版社、出版日期等信息再输入过程中是否格式与相关格式不符。若如此,查找所输入信息输入错误原因,按照源程序设定格式输入相关信息即可。问题二、图书排序模块:图书信息排序基于“冒泡法”对图书编号进行从大到小进行排序,在进行排序过程中,正确操作后却发现排序为乱码。解决方案: (1)查找是否为源程序发生错误,如果是源程序发生错误就修改源程序,并按照原始设定正确操

    22、作,进行相关操作。(2)检查输入信息时是否有误,如:图书编号相同的情况,如有类似情况删除信息后重新输入,然后进行排序。(3)检查用于排序的循环结构是否有误。问题三、图书信息查找模块在输入相关图书编号之后发现无法显示相关图书与其信息解决方案:(1)查找是否为源程序发生错误,如果是源程序发生错误就修改源程序,并按照原始设定正确操作,进行相关操作。(2)检查是否为我们在需要查找时输入的序号有错误,或者是在输入信息是该书号对应的书籍本数不唯一甚至更多。6.各模块程序及执行结果密码输入:密码输入错误第一次:主菜单界面;图书信息添加界面:选择图书查询方式界面:选择图书排序界面:图书排序结果显示界面:选择删

    23、除界面:7.心得体会与组内评价心得体会:这次课程设计让我们掌握了许多有用的知识。首先通过不断地学习和锻炼更加熟练地掌握应用软件Microsoft Visual C+ 6.0 了。设计正确及合适的程序对于我们初学者来说是很大的难题,出现一点儿错误就得费很大的努力去修改,正是这一步步一点点的努力让我们对C语言有了更深的认识。同时我掌握了解决问题的方法,这无论是对以后的学习、生活都有无比重要的价值。在设计中,每个同学都会遇到一些困难,或多或少,这些困难常常让我心情烦躁,比如不能清晰的建立设计模块,不会修改出现的错误等等,然后我向同学寻求帮助,向他们学习,最终通过自己努力建立了模块。程序中肯定还存在着某些不可避免的问题,我们希望在以后的学习和应用中不断提高自己的能力,攻克遇到的困难。组内评价:参考文献C程序设计(第二版) 谭浩强 清华大学出版社C语言程序设计 田祥松 西安电子科技大学出版社C语言课程设计 黄明等 电子工


    注意事项

    本文(高级语言程序设计报告.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开