#中南大学C++课程方案实践kok电子竞技_第1页
#中南大学C++课程方案实践kok电子竞技_第2页
免费预览已结束,剩余22页可下载查看

下载本文档

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

kok电子竞技:文档简介

1、课程设计实践kok电子竞技设计题目:简易计算器姓名:专业班级:学号:指导老师:上课地点:上 课 时 间1 / 19设计要求 :1设计思想 1程序代码 1调试过程 10运行结果 11 心得目录体会16设计要求 :用 visual C+ 程序设计一个简易的计算器,具有多种功能。例如加 减乘除、阶乘、温度转换等。设计思想为了方便起见,我主要是以类和对象来进行设计,将各个功能化成 各个小类,然后综合的用 main 主函数来运行以保证程序的稳定可靠 性程序代码#include#include#include#includeusing namespace stdclass showpublic:void showt

2、ime(2/ 19cout*coutvv1加减乘除运算2.复数乘法运算endl。coutvv3素数判断vv4.最小公倍数,最大公约数 vvendl。coutvv5一元二次方程求解 vvsetw(20vv6.求阶乘vvendl。coutvv7排列组合求解vvsetw(26vv8.温度转换vvendl。coutvvendlvv* kok电子竞技权所有 * 盗kok电子竞技不究 * 本代码最终解释权归 fengkj 所有*vvendl。class jiajianint i。double a,b,s。public:void print(coutvv1加 法 运 算 vvt2减 法 运 算 vvt3乘 法运 算vvt4除法运算

3、 vvendl欢迎使用i。coutvv请输入两个数 a,bva。 coutvvb=。 cinb。switch(icase 1:s=a+b。 coutvvavv+vvbvv=vvs 。break。case 2:s=a-b。 coutvvavv-vvbvv=vvs 。break。case 3:s。 s=a*b。 coutvvavv*vvbvv=vvs 。break。case 4:if(b=0coutvv 数 据 错 误 ! 。 elses=a/b 。coutvvavv/vvbvv=vvs 。 break。default:coutvv代号数据错误,请重输。goto here。class fushu4

4、/ 19float a,b,c,d,j,k。public:void getin(coutvv请输入两个复数:vvendl。coutvvx=_+_i。cinab。coutvvy=_+_i。cincd。void multi(j=a*c-b*d 。 k=b*c+a*d 。 void print(if(k0coutvvx+y=vvjvv+vvkvvivvendl 。 elseif(kv0coutvvx+y=vvjvv-vv-kvvivvendl。elsecoutvvx+y=vvjvvendl 。 。class sushupublic:long t。void get(coutvv请输入一个待验证的数 x

5、:。cint。int prime(long x5/ 19long i。for(i=2。 ivx/2。 i+6/ 19if(x%i=0return 2 。return 3。void print(long x。 x=t。 if(prime(x=2coutvvtvv不是素 数。else coutvvtvv1是素数。class gongbeishulong x,y,max,min。public:void get(coutvv请输入两个正整数 x,y:vvendl。coutvvx=。 cinx。 coutvvy=。 ciny。void jisuan(long m,n,r,t。m=x。 n=y。t=m*n

6、 。if(mvnr=m 。 m=m。 n=r。 while(r=m%n!=07/ 19m=n。8/ 19n=r。max=n。min=t/n。void print(coutx 和 ycoutvv请输入方程的系数 a,b,c:vvendl。coutvva= 。 cina。 coutvvb= 。 cinb。 c=。cinc。 void jisuan(float i。 i=b*b-4*a*c 。 t=0。 s=0。if(i=0 x1=(-b+sqrt(i/(2*a。sqrt(i/(2*a。elsex1=-b/(2*a 。x2=-b/(2*ai/(2*a 。 t=-sqrt(-i/(2*a 。 void

7、 print(大公约数coutvv常数x2=(-b-。 s=sqrt(-9/ 19coutvv方程的解为:vvendl。coutx1=x1+titx2=x2+scoutvv请输入待阶乘的数:n=。cinn。 void jisuan(int i。s=1。for(i=1。 ivn。 i+s*=i 。void print(coutvv阶乘结果为:vvn!=vvs。class pailieint n,r 。10/ 19public:void get(ak: coutvv请输入排列组合数:C(n,r、P(n,r:vvendl。 coutvvn=。cinn。coutvvr=。cinr。if(nvrcout

8、vv数据错误,请重新输入!。goto ak。int jiecheng(int xint i,s=1。 for(i=1。 iv=x。 i+s*=i 。 return s。 void print(coutvv排列数 P=vvjiecheng(n/jiecheng(n-rvv,vv组合 数C=vvjiecheng(n/(jiecheng(r*jiecheng(n-r。 。class wenduint i。float n,s。public:void get(coutvv请选择温度转换方向:0 摄氏转华氏 1.华氏转摄氏:。cini。11/ 19coutvv请输入温度:。cinn。void zhuanh

9、uan(s=0。if(!is=32+n*1.8。else s=(n-32/1.8 void print(if(!icoutvv摄氏温度为:nC,int i,pp=1,ss=1。while(ppsystem(cls。show v。v.showtime(。qq: coutvv请输入您要进行运算的编码:。cini。switch(icase 1:g1: jiajian aa。aa.print(。coutvv重新计算请按 1,否贝 U 请 按12/ 190 。 cinss。 if(ssgoto g1。 else break。case 2:g2: fushu bb。 bb.getin(。 bb.multi

10、(。 bb.print(。 coutvv重新计算请按 1, 否贝 请按 0。 cinss。 if(ssgoto g2。 else break。case 3:g3: sushu cc。cc.get(。cc.print(。coutvv重新计算请按1,否则请按 0 。 cinss。 if(ssgoto g3。 else break。case 4:g4: gongbeishu dd。 dd.get(。 dd.jisuan(。 dd.print( 。coutvv重新计算请按 1,否则请按 0。cinss if(ssgoto g4。 elsebreak。case 5:g5: qiujie ee。 ee.g

11、et(。 ee.jisuan(。 ee.print(。 coutvv重 新计算请按 1,否则请按 0。 cinss。 if(ssgoto g5。 else break。case 6:g6: jiecheng ff。ff.get(。ffjisuan(。ff.print(。coutvv重 新计算请按 1,否则请按 0。 cinss。 if(ssgoto g6。 else break。case 7:g7: pailie gg。gg.get(。gg.print(。coutvv重新计算请按 1,否则请按 0。 cinss。 if(ssgoto g7。 else break。case 8:g8: wend

12、u hh 。 hh.get(。 hh.zhuanhuan(。 hh.print( 。coutvv重新计算请按 1,否则请按 0。cinssD if(ssgoto g8。 elsebreak。default:coutvv数据错误!请输入 18 之间的一个整数。goto qq。coutvv返回主菜单请按 1,退出程序请按 0。cinpp。13/ 19调试过程因为学的知识不是很多,也不是很熟练,在最开始的时 候老是范一些小错误,而且很多语法错误,比如忘了写分号 。逊趾判闯啥汉爬。而且忘了写全 就会出现很多个错 误,在一个庞大的程序里面找这些错误再一一改正,很可能 还是不能运行,但是多加一个 就很

13、可能全部错误都搞定! 调试的时候很多地方都是牵一发而动全身,特别是修改的时 候,修改一个变量就得把其他部分的都改掉,不然就会一直 出现错误。还经常忘了定义变量就用,不过看英文提示面前 能看懂,也能找到相应的错误。在把语法小错误解决之后就剩下运行了,但是运行的情 况不容乐观,很多地方呢不是我想要的结果。例如在加减乘 除那里,因为当时变量粗心的定义为 long ,得出的数总是为 整数,后来改正为 float 后问题就解决了,还有就是开始界 面里的序列号对不齐,后来尝试着用setw( 来解决,尝试 多次后得以解决。在老师的建议之下通过包含stdlib.h 头文件和调用 systemjcls涵数成功的

14、做到进行一次计算之后清理屏 幕的效果。14/ 19运行结果I KA 计算器占:XET*kok电子竞技权所有诅kok电子竞技不究*本代码最终解释权归兔吨kj所有的”11加和请输入您要进存运算苗编码:.通过输入编码来选择计算类型。例如输入1.f 运数簷换刖丢乘转afaf畧聚温W. 算加素一排1 1 3 3 5 5 7 7求1 1十除更合蔚严本代眄释权归 Z 有I法运算沢乘法运算筑除进运算回M M M M M H求算1 1运除更合囂1010素-排B1313 5 5 7 7M M M M所算霊軀仃范-“!幕输一请请15/ 19方法同上继续进行输入代码的操作16/ 19最大公约数24H H H H H H M加癖除运算 y 鬻

15、汕呈求解?-排列组合求如兰严吁士的曹腹权所有潞kok电子竞技不究*本代码最终解释权0enM所有 匸耀馨囲亍豐強醫 沢乘法运算 乩除注运算 请输X代号:和输入两个数髒bI=I回 | K:HH.exe一一算-召数换1乘转昨S-集温1T -1-加稣除运算 化排列组合求显HHH H H M K藩严代码最細释权归 i 所有法运算皐乘法运算轧除法运算请建入您矍进 请输X代号:L输入两个数aL-12.Sb=13.16_B K:HMH.exe约公大最f 算-f 运数换计霎乘转 B B聚温It It*-*- V V攵24 4 6 6 8 817/ 19重新计算输入1,否则输入 0.这里我输入 0 然后出賞世严?腿权廓克滥kok电子竞技

16、不究*本代码最终解释权0snflkj所有.I麋覆豐触醫3-乘法运算4-除注运算请输犬代号:请输入两个数髒ba=12-5b=13.1612.5*13.16=164.511返回主菜单请按苏1输入 1i-HTB/ki r 请输入两个数髒ba-12 .Sb=13.1612.5*13.16=164.5重新计算请按1.否则请按0算运匚-除懐算-二运数换沪寥乘转邨昌聚温欢:;加 K:H Ms.exe遛期最大公约数:澀转换十輕二士否则请按盹I程序请按陷加素一求算1运5,除懐合18/ 19回到主菜单,并清理屏幕。其他函数基本同上,在演示一个,例如4.最小公倍数最大公约数HH工约一一公大最算-运数换肝霎乘转睦畧聚

17、温2 2 4 46 6 8 8.腹权所有 锻腋不究*本代码最终解释权归兔砂kj所有.请趣入您要进生运算崗编码:4请喘人两个止鑒数护K:计算除更合1313 5 5 7 71匚王眸19/ 19冷加.腹权所有 噬kok电子竞技不究*本代码最终解释权归弘科kj所有.请麵入您要进症运算萌编码沁请询人两个止鑒数淇x=32尸軀.心得体会 K:tt Mi.exe亦素一排1313 5 5 7 7算运京嬰合求f582.4sisi 具最大公约数瞿翻舞心代呦释权归 Z 有也堆人两个止鑒数覽小编码汩1冃牆x=32y=4932重臧 OteOte 疔皿倍数是“s8s8 具最大公约数HH&迎欢:;求除懐合加素一B1313 5 5

18、20/ 19本次程序设计所用时间较长,工作量很饱满,而且所用的知识很多,但是我们平常在课堂上所学的知识很有限,这就需 要我大量的自学书本和课外的其他书籍上的知识。为了让程序 容易使人看懂,我用到的知识点不是非常多,大都是一些基本 知识,我能熟练地运用这些知识编程也算一个很大的成功了。 毕竟很多知识没有学,能用基本知识就尽量用的基本知识。C+ 设计实践是对之前学过的知识的加深和巩固,之前学得较 浅,实践的机会不多,这次实践让我对 C+ 程序有了更加深入 的了解,心理也由原来的不喜欢到喜欢,感觉很有意思也很有 用,可也设计一些有用的或者是自己喜欢的程序。最令我收益 的是写程序的过程和调试修改的过程

19、,因为之前我们就学了几 章,没有把知识学习全面,因此编写起来是有难度的, 在预先 想好程序结构后,就开是卡看书,一个函数一个函数来编写, 不懂的地方就上网搜或是请教一下同学和老师,当终于把程序 写出来的时候,内心里又有一种说不出来的激动,我感觉这很 符合大学的教育观念,是对个人自主学习能力的一个锻炼。在 接下来就是调试,虽然出了很多的错误,虽然自己也被搞的焦 头烂额,但我还是很兴奋,我感觉自己就像是个侦探,一点点 找线索,找到问题,再解决,每次成功都带给自己一次激动。 现在程序终于能较好的运行出来了,当然,还存在一些瑕疵, 但通过这近两周的实践学习,我收获的不仅仅是这一个程序,我的自学能力,以及寻找问题解决问题的能力也得到了很好的 锻炼。

温馨提示

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

评论

0/150

提交评论