程序设计报告_第1页
程序设计报告_第2页
程序设计报告_第3页
程序设计报告_第4页
程序设计报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计报告程序设计报告全文共8页,当前为第1页。程序设计报告全文共8页,当前为第1页。程序设计报告题目:商店库存治理系统学生姓名:院系、班级:学号:联系电话:Email:完成日期:

程序设计报告全文共8页,当前为第2页。利用的开发工具:,codeblocks程序设计报告全文共8页,当前为第2页。包括的文件:1、2、3、4、conio.h对题目的明白得:拿到题目,我第一想到模块化程序设计,将任务分成假设干模块,我分成了8个模块,分别为load函数,用于生成文件和记录数据;printfxx函数,用于输出界面内容;chuangjian函数,用于成立商品档案;bianji函数,用于修改商品信息;add函数,用于添加新商品;del函数,用于删除商品信息;show函数,用于显示商品信息;tongji函数,用于统计商品销售额,剩余量和毛利;search函数,用于查询商品信息;end即终止。这些模块彼此独立运行,通过文件指针进行商品信息的修改并保留,每一个函数又分不同的选项,别离进行不同的操作,比如,查找分为按剩余量,种类和名称查找;显示函数分为按原先顺序显示,按销售额大小顺序显示,按毛利大小显示;编辑函数按种类和名称修改等。第二,关于数据描述,我用了结构体,在排序查询时,用结构体整体互换的方式,提高程序的执行效率;在主函数中,通过函数挪用来实现特定功能。如此某个功能的异样可不能阻碍整个函数,在debug时,更易找到bug。所用到的编程知识点:编译预处置:包括头文件的挪用;函数的概念,声明与挪用,本程序中,函数的概念均为空类型,没有返回值;在主函数前将函数声明,在主函数后编写挪用函数,是比较成熟的编程风格。概念文件指针,通过文件指针实现文件的打开,读写和保留,spdata为商品库存信息文件,temp为临时文件,用整形变量count记录信息量。主函数用switch函数选择要进行的操作,用break跳出,提高了程序的执行效率,Printfxx用for循环实现※的输出,减少了代码量;用system(“cls”)实现清屏功能,达到分屏显示的目的;用fflush(stdin)来实现缓冲区残留数据的清除,避免缓冲区数据对以下程序的阻碍用if函数选择方式和判定条件,用while函数实现对商品信息的读写,选择法排序10、fread,fwrite,fopen,fclose,的用法11、结构体指针的应用(th+i)->number,编程结构的严谨,包括文件打开时的if((spdata=fopen("D:\\spdata","ab+"))==NULL) { printf("打开文件失败!"); exit(0); }程序。12、与用户友好化的界面与运行时的互动如:printf("\n还要继续添加要输入的数据吗?(y继续/n停止):");printf("\n是不是保留?(y保留/n不保留)");13、格式输入输出函数的应用和字符串输入函数的挪用。14、模块化程序设计;15、用结构体整体互换的方式实现两个结构体的位置互换(这是结构体特有的不同于数组的独特的地方);16、用全局变量count不断更新信息数量。四、要紧数据结构主函数主函数main()添加记录add删除记录del显示记录show查找search编辑edit创建记录chuangjian统计要紧函数功能说明:main()函数:要紧执行程序功能的函数,在一个程序中只有一个;chuangjian()函数:成立商品库存档案并保留;bianji()函数:实现对商品信息的修改;add()函数:对商品进行添加操作,添加了不同操作选项,如是不是继续,是不是保留,实现与用户的互动;程序设计报告全文共8页,当前为第3页。del()函数:删除商品信息,细节同add函数;程序设计报告全文共8页,当前为第3页。show()函数:显示商品信息,并按原顺序,销售额大小和毛利大小进行显示;tongji()函数:统计销售额,剩余量和毛利;开始S开始Show();Add()Del()Bianji()Chuangjian()输入choicechoicetongji532641结束(以上函数均为空类型,无返回值)五、程序的要紧流程图:主函数8787endSendSearch()当每项功能终止后,回到主菜单进行新的选择和操作!开始开始输入choicechoice输入处理返回主菜单0输入ccy输入cnc保存ynk==10ynadd();函数流程图:要紧能实现数据的输入和保留!程序设计报告全文共8页,当前为第4页。程序设计报告全文共8页,当前为第4页。程序设计报告全文共8页,当前为第5页。开始程序设计报告全文共8页,当前为第5页。开始输入ii返回主菜单输入name1输入cata2读入数据!or.name1=?cata=?y将数据写入临时文件nspdata是否结束n输入cyc将临时文件拷到spdata结束yndel();的流程图:由于通过名称删除和通过种类编号删除的流程差不多,通过上面的流程图咱们能够看出来,因此我把他们整合到一张图里,在这进程中,他们并非是同时进行的!而是只进行其中的一个!通过名称删除就不进行通过类别编号删除!流程图就只介绍这几个比较重要的函数!六、操作进程截图显示程序设计报告全文共8页,当前为第6页。程序设计报告全文共8页,当前为第6页。界面显示创建信息编辑信息增加信息注意数据更新程序设计报告全文共8页,当前为第7页。程序设计报告全文共8页,当前为第7页。显示信息七、碰到的要紧问题:1、文件的利用:开始时采纳的是在主函数中利用文件指针,但无法保留文件,后来在每一个函数中均利用文件,spdata存储商品档案,temp临时存储商品档案,countn函数存贮添加商品档案,程序能够运行。2、结构体互换时,开始利用的是结构体成员的逐个互换,结果报错,改良后将结构体整体互换,程序能够运行。3、开始只用了一个人文件,没有考虑文件容量问题,后来改成三个文件,解决此问题,同时又增强了层次性。4、如何不按固定模式跳出循环,如不受循环条件数量的限制,解决方式是用全局变量count,不断更新信息数量,同时用“是不是继续”等增强与用户的互动,以增强信息的准确性。八、典型BUG及解决1、代码用语标准,解决方式是依照报错位置逐个修改(有赖于codeblocks的定位)2、结构体的引用,解决方式用结构体引用的标准方式或用指针3、结构体成员概念为char类型时没有指定字符数组长度,系统报错,解决方式是将char类型的成员指定结构体数组的长度4、选择法排序没有加互换判定条件,解决方式加判定条件if(i!=index)5、没有加load函数,无法生成文件,解决方式是补充load函数6、由于功能较多,使多个功能利历时屏幕混乱解决用system(“cls”)清屏7、文件读写用法存在问题,解决阅读教材,从头更正8、数据类型不统一问题,解决方式,按报错位置统一数据类型九、所用编程技术1、用全局变量count不断更新库存2、用for循环减少代码量3、充分利用结构体的特殊性4、界面清楚与用户的互动十、体会1、C语言是运算机程序设计的重要理论基础,在咱们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习讲义上的知识是不够的,还要常常自己动手,有较强的实践能力。只有多动手,常常编写程序,才能发觉咱们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。在编程中我就碰到了许多困难,并耐心的更正才能将程序写好。程序设计报告全文共8页,当前为第8页。2、这次设计中,我的收成还有确实是学会了用流程图来表达自己的方式,并依照流程图来慢慢实现程序的功能。开始的时候,我画流程图很是困难,需要一个多小时才能清楚的依照自己的方式画出图来,后来画多了,就加倍了解它的功能,十分驾轻就熟,能够比较快而准确的画出来。程序设计报告全文共8页,当前为第8页。3、我学会了用模块化结构设计解决问题,将一个大问题分成假设干小问题。4、在编程进程中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论