为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

孕妇与蜂蜜

2017-09-01 5页 doc 16KB 11阅读

用户头像

is_841159

暂无简介

举报
孕妇与蜂蜜购买到最多的巧克力一目的利用所学知识,编写出可以解决从自动售货机出购买巧克力时,已知1美元可以购得一块巧克力。如果我们有n美元,且设置m张优惠券可以兑换一块巧克力,那么最多能够得到多少块巧克力,其中包括优惠券换到的巧克力,以及还有多少张富余的优惠券这一问题,最后将从键盘上键入的内容和输出数据保存到outfile.txt文件夹中。通过这次课程设计,加深对《C语言程序设计》课程所学知识的理解,熟练掌握和巩固C语言的基本知识和语法规范,学会编制结构清晰、编程风格良好、数据结构适当的C语言程序,从而具备利用计算机编程分析解决综合性实际...
孕妇与蜂蜜
购买到最多的巧克力一目的利用所学知识,编写出可以解决从自动售货机出购买巧克力时,已知1美元可以购得一块巧克力。如果我们有n美元,且设置m张优惠券可以兑换一块巧克力,那么最多能够得到多少块巧克力,其中包括优惠券换到的巧克力,以及还有多少张富余的优惠券这一问,最后将从键盘上键入的内容和输出数据保存到outfile.txt文件夹中。通过这次课程,加深对《C语言程序设计》课程所学知识的理解,熟练掌握和巩固C语言的基本知识和语法规范,学会编制结构清晰、编程风格良好、数据结构适当的C语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。二需求分析1、输入数据(1)输入您所拥有的美元金额n;(2)能够兑换一块巧克力的的优惠券张数m。2、输出数据(1)输出最后得到的巧克力块数(2)富余优惠券的数量3、程序所达到的功能从自动售货机处购买巧克力时,已知1美元可以购得一块巧克力。如果我们有n美元,且设置m张优惠券可以兑换一块巧克力,那么一共能够吃到多少块巧克力,包括优惠券兑换到的巧克力,以及还有多少张富余的优惠券,并且将输出数据保存到outfile.txt文件中。三概要设计1、程序核心所解决的问题(1)兑换后富余优惠券数=兑换巧克力剩余的优惠券数+兑换得到巧克力所带来的优惠券(2)最多拥有的巧克力数=美元购买的巧克力数+优惠券兑换到巧克力的总数2、各成员函数的功能、各数据成员的含义(1)main函数;voidmain(){ intm,n,a[2]; charc=0;ofstreamoutfile;outfile.open("myfile.txt");while(c!='#'){cout<<"请输入金额:";cin>>n;cout<<"请输入可以用多少优惠券兑换一块巧克力:"; cin>>m; a[0]=0; a[1]=n;(定义兑换之后剩余的优惠券数a[0],最多拥有的巧克力数a[1])用于最终输出程序结果(2)Fun函数;intfun(intm,intn,inta[],ints){ if(n<m) { a[0]=n; } else { a[1]+=n/m; n=n/m+n%m; returnfun(m,n,a,2); }}(定义整型美元金额n,能够兑换一块巧克力的的优惠券张数m,定义数组a[],定义形参s)用于判断拥有的美元金额数n是否小于所设定的m张优惠券兑换一块巧克力的数目:如果小于则输出兑换后剩余的优惠券数为n,最多拥有的巧克力数为n;如果拥有的美元金额数n大于所设定的m张优惠券兑换一块巧克力的数目,则所拥有的巧克力数=a[1]+n/m,n=n/m+n%m,接着返回Fun函数(3)#include<fstream>文件流类;ofstreamoutfile;outfile.open("myfile.txt")outfile<<"兑换之后剩余的优惠券数为"<<a[0]<<endl<<"最多拥有的巧克力数为"<<a[1]<<endl;outfile.close();将从键盘上入的内容和输出数据保存到myfie.txt文件中。四详细设计1、伪代码intfun(intm,intn,inta[],ints)//定义函数fun,定义整型美元金额n,能够兑换一块巧克力的的优惠券张数m,定义数组a[],定义形参s{ if(n<m)//如果拥有的美元金额n数小于所设定的m张优惠券兑换一块巧克力的数目 { 则输出兑换后剩余的优惠券数为n } else//如果拥有的美元金额数n大于所设定的m张优惠券兑换一块巧克力的数目 { a[1]+=n/m;//则所拥有的巧克力数=a[1]+n/m n=n/m+n%m; returnfun(m,n,a,2);//返回函数fun }}voidmain(){ intm,n,a[2];//定义兑换之后剩余的优惠券数a[0],最多拥有的巧克力数a[1] charc=0;ofstreamoutfile;outfile.open("myfile.txt");//输出到文件myfile.txtwhile(c!='#'){cout<<"请输入金额:";输入拥有的美元金额n输入可以用多少优惠券兑换一块巧克力:";输入所设定的几张优惠券能够兑换巧克力的数目m a[0]=0; a[1]=n; fun(m,n,a,2); 输出"兑换之后剩余的优惠券数为"<<a[0]<<endl<<"最多拥有的巧克力数为"<<a[1]<<endl; outfile<<"兑换之后剩余的优惠券数为"<<a[0]<<endl<<"最多拥有的巧克力数为"<<a[1]<<endl; c=getchar(); c=getchar();}outfile.close();}2、流程图五调试分析1、调试过程中出现的问题在visculC++6.0环境下调试,调试过程中发现第一次所编写的程序虽然在结构算法方面没有什么大的问题但是只能够循环一次,如果输入的所拥有美元金额n与设置的m张优惠券兑换一块巧克力数相差较大那么输出结果就是错误的。如下图:从中明显可看出输出结果不正确,如果2张优惠券就可以兑换一块巧克力那么最后富余的优惠券数绝对是小于2的。并且在第一次检查程序时没有将最后的输出结果保存到outfile.txt文件中。2、解决为了能够得到正确的输出结果,首要的就是解决程序只能够循环一次的问题。于是通过询问同学并再次翻阅课本有关章节后,我认为应该在程序中添加了一个循环,通过几次修改调试后程序得以运行成功。通过查阅网上资料在程序中添加了头文件及相应代码使得程序最后从键盘上接受到的数据以及运行得到的结果可以输出保存在outfile.txt文件中。六测试结果1、测试输入一系列可行的所拥有的美元金额n与能兑换一块巧克力所需的优惠券张数m的值输出结果是否正确。2、测试数据拥有的美元金额n兑换一块巧克力的优惠券张数兑换后富余的优惠券数最多拥有的巧克力数110211922072233255131434644055553686664387七用户使用说明1、操作步骤打开qkl文件夹点击里面第二个文件qkl。打开后点击保存并进行调试。界面出现“请输入您拥有的美元金额:”从键盘上输入您所拥有的美元金额数n。按回车。界面出现“请输入可以用多少优惠券兑换一块巧克力:”从键盘上输入您需要的多少张优惠券兑换一块巧克力的数目m。按回车。界面出现运算结果。按回车。界面又出现“请输入您拥有的美元金额:”从键盘上输入您所拥有的美元金额数n。………..以此往复便可求得一系列从自动售货机处购买巧克力时,已知1美元可以购得一块巧克力。如果我们有n美元,且设置m张优惠券可以兑换一块巧克力,那么最多能得到多少块巧克力,包括第一次用美元购买的巧克力和之后用优惠券兑换的巧克力及富余优惠券的张数。2、查看结果若想在文件中查看从键盘上键入的一系列m、n的值只需打开qkl文件夹中myfile.txt便可查到。如下图:八课程设计总结课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.通过这次课程设计,不仅暴露了我在学习中的一些不足也使我在多方面都有所提高。同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。在这次设计过程中,锻炼了自己单独设计以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正。在实际的上机操作过程中,不仅是让我们了解数据结构的理论知识,更重要的是培养解决实际问题的能力,所以相信通过此次实习可以提高我们分析设计能力和编程能力,为后续课程的学习及实践打下良好的基础。在这次短短的课程实践里,对“学无止境”这句话,理解更深了,只有不断的学习,才会发现问题,才会引起思考,没有问题才是最大的问题。同时,一定要踏实,将问题落到实处,不要拖延,不懂就虚心请教他人,学会合作。本次课程设计,我深刻的认识到要做好一件事,必须要认真的对待,一直都相信那句话“不是你做不好,是你花的心思太少”,有些事,你可以选择把它做好,一定要踏实认真切勿敷衍!每件事都一样,没有捷径可走,必须要自己动手,自己努力,是问题总有解决的办法,就看你够不够认真。尤其是像对于课程编程这类问题,更需要有一个好的态度和足够的耐心。
/
本文档为【孕妇与蜂蜜】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索