C++购买到最多地巧克力_第1页
C++购买到最多地巧克力_第2页
C++购买到最多地巧克力_第3页
C++购买到最多地巧克力_第4页
C++购买到最多地巧克力_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

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

文档简介

1、Word格式温馨提示程序语言:C、C+、C#、Python (红色字体 表示本课设使用的 程序设计语 言)图形功能选项: Win32控制台程序(黑框、文本界面) 、Win32程序、MFC、 Win Form、DirectXIO (黑体标明 表示本课设的 程序图形类别,默认为非图形界 面Win32控制台程序)数据结构:基础类型、数组、链表、双向链表、搜索树(非平衡二叉树)、平衡二叉树、链表与平衡二叉树相结合、堆栈、队列、串、图(黑体标明 表示本课设使用的数据结构)C+语言项:STL库(黑体标明 表示使用 C+的STL库)编译环境:Windows 7 64位旗舰版(Linux及其他环境 请谨慎下载

2、)集成开发环境: Visual C+ 6.0、DEVC+、CodeBlocks、Visual Studio 2015 均可通过编译。(浅蓝色字体表示无法通过编译)分多头文件编译:否(所有代码基本都包含在一个文件内,如需试验头文件功能,请自行参考相关文献)内容说明:1、 课设题目及预览内容将在第二页开始展示。2、代码行数:92行3、 目录 所示内容,本文基本涵盖,如无内容,会在本页进行说明。4、 附录 绝对包含 用户使用手册 及程序完整源代码和详细注释。5、如需下载 其他 头文件(例如 DirectX需另行配置),本文会在此进 行说明。6、 本文撰写内容仅供学习参考,另外,由于本人水平有限,编写

3、之处难 免存在错误和纰漏,恳请各位老师或同学批评指正。-1 -专业资料格式-3 -专业资料题目:购买到最多的巧克力格式o«tfHe.brt Hot甲詁I 二 | 苫£(M Fem* V«w了张忙覆券可兑换一拱巧立力.。元丄阵抄二克= E钦0汁比事静“美汪町蜒或乃茯巧玄力,冨余空恠忙穆粹>1中南民族大学计算机科学学院本科课程设计设计名称:任务书购买到最多的巧克力指导教师:徐科下达时间: 2017-5-5学生姓名:学 号:专 业:计算机科学与技术(根据自己专业)一、课程设计的基本要求根据所学知识,编写指定题目的C/C+语言程序,并规范地完成课程设计报告。通过课程

4、设计,加深对 C/C+语言程序设计课程所学知识的理解,熟练掌 握和巩固 C/C+语言的基本知识和语法规范,包括:数据类型(整形、实型、字 符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、 赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);库函数应用(时间函数、绘图函数以及文件的读写操作函数等);复杂任务功能分解方法(自顶向下逐步求精、模块化设计、信息隐藏等)。学会编制结构清晰、风格良好、数据结构适当的C/C+语言程序,从而具备利用计算机编程分析解决综合性实际问题的初步能力。具体要求如下:1、采取模块化方式进行程序设计,要求程序的功能设计、数据结构设计及整体结构

5、设计合理。学生也可根据自己对题目的理解增加新的功能模块(视情况可另外加分)。2、系统以菜单界面方式(至少采用文本菜单界面,如能采用图形菜单界面更好)工作,运行界面友好,演示程序以用户和计算机的对话方式进行。3、程序算法说明清晰,理论分析与计算正确,运行情况良好,实验测试数据无误,容错性强(能对错误输入进行判断控制)。4、编程风格良好(包括缩进、空行、适当注释、变量名和函数名见名知意,-5 -专业资料Word格式程序容易阅读等);5、写出规范的课程设计报告,具体要求见相关说明文档。二、课程设计的主要内容假设我们可以从自动售货机购买巧克力,一次1美元。每块巧克力都有一个优惠券。我们可以从自动售货机

6、用7张优惠券兑换一块巧克力。我们想知道一点:如果我们有 n美元,那么一共能够吃到多少块巧克力,包括优惠券兑换到的巧克 力,以及还有多少张富余的优惠券。例如,如果我们有 20美元,我们最开始用 20美元购买20块巧克力。这样一 来,我们可以获得 20张优惠券。14张优惠券可以兑换 2块巧克力。这两块巧克力 又含有两张优惠券,所以,再加上最初剩下的6张优惠券,就一共有 8张优惠券。这样一来,我们又可以用其中的7张优惠券兑换最后一块巧克力。最后,我们得到23块巧克力和两张富余的优惠券。进一步,如果更改了自动售货机兑换一块巧克力所需的优惠券张数,比如由7张改为需要9张才能进行兑换。因此你需要解决这样一

7、个问题,有n美元,m张优惠券兑换一块巧克力,最后最多可以得到多少块巧克力,以及富余优惠券数量。针对这个问题写一个递归解决方案,从用户那里接受购买巧克力所花的美元数,然后输出花完这些钱后所得的巧克力块数,并尽量多换优惠券。编写的递归 函数将基于所得到的优惠券的数量。功能要求及说明:(1)使用菜单选择操作,提示用户进行相应操作;(2)对从键盘上接受到的数据,以及运行得到的结果, 要输出保存到outfile.txt 文件中;(3) 在完成上述两个基本功能的基础上,能够使用图形界面显示自动售货机以及得到相应巧克力和优惠券的示意图。(选做,根据情况给予最后总评加分)/源码:#i nclude<io

8、stream>#i ncludevconi o.h>#i nclude<fstream>#in cludevwin dows.h>usingnamespace std;class Menupublic :Menu() :dollar(O), coup onNu m(7), chocolates(O), coup on Rema inin g(0) char ShowMenu();/ / 显示单void Input();/ 输入int Calculation( int dollar ); / / 递归void Save(); / / 保存文件privateintdo

9、llar;/拥有多少美兀intcoup onNum;/需要多少张优惠券才能购买巧克力intchocolates;/可购买巧助intcoup on Rema ining;/ /剩余优惠券;char Men u:ShowMe nu()system( "cls");cout << endl << en dl;cout << "tt"y< endl;cout << "tt1.输入"<< endl;cout << "tt"y< endl;co

10、ut << "tt2.保存"<< endl;cout << "tt"y< endl;cout << "tt0.退出"<< endl;cout << "tt"y< endl;retur n_getch();int Men u:Calculati on( int dollar )if ( dollar / couponNum + dollar % couponNum) < couponNum) coup on Rema ining

11、 =dollar/ coup onNum + dollar% coup onNum;/ 取得剩余优惠券张数retur ndollar/ coup onNum;elseretur n(Calculati on(dollar / coup onNum + dollar % coup onNum) + dollar /coup onNu m);voidMen u:l nput()system( "cls");cout << "请输入美元:”;cin >> dollar;cout << "请多少张优惠券可以兑换一块巧克力:ci

12、n >> coup onNum;if (couponNum <= 0) /防止错误输入导致程序奔溃cout << "优惠券张数输入错误,默认为7张。"coup onNum = 7;chocolates = dollar + Calculatio n( dollar);cout << endl << "最多可兑换 ” << chocolates << "块巧克力 ” << endl;cout << endl << "富余优惠券&quo

13、t;<< coup on Rema ining<< "张"<< en dl;_getch();void Men u:Save()ofstream out; / 输出流system( "cls");out.open("outfile.txt", ios :out | ios :app);out << endl<< "t"<< couponNum<< ” 张优惠券可兑换一块巧克力。” << endl;out <<

14、 dollar << "美元可购买 ” << chocolates << "块巧克力,富余 ” << couponRemaining << "张优惠券"out.close();cout << "保存成功,请打开 outfile.txt查看结果。”;_getch();intmain( void )char select;Me nu M;do switch (select = M.ShowMe nu() case '1' :M.I nput();breakcase 2 :M.Save(); break default :break ; while ( 'O'!= select);retur n0;三、课程设计的进程安排1. 2017年5月5日(第11周)之前:布置并下达课程设计

温馨提示

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

最新文档

评论

0/150

提交评论