




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VC+课程设计报告 姓名:黄一 班级:06161501 学号:0616150104 任课教师:刘永 时间:2007-9 课程题目:计算器本次课程设计由本人一人独立完成,下面是有关本程序的一些说明。一、 功能简介实现计算器的功能。用户根据程序的提示,输入数字,选择要进行的计算,可以进行加、减、乘、除运算,简单的四则混合运算及其具有两个操作数的简单测试。二、 课程设计要求(1)完善计算器程序,改为可对实数操作.(2)完善程序.该为多个操作数基本四则运算,遇到0为止.(3)增加函数.完成四则混合运算,注意算法要考虑运算符的优先级,对应增加主菜单选项.(4)填加语句,使四则运算具有测试功能,即计算机能够自动出题,并要求用户计算,同时计算机判断用户的对与错并打分,要求十题为一单元,加减运算时最高为两位数运算,乘除为两位数乘一位数,除法是两位数或三位数除一位数,且要求没有余数.三、 程序设计思想(1) 类的简化原程序的类的定义十分罗嗦,本程序比较简单,可以用更简便的方法实现.将操作数改为类中的成员数据,可以直接用一个成员函数去实现一种运算方式.(2) 操作数和运算符的输入问题程序中涉及大量的操作数的输入,如果用cin流输入而不加以处理,一旦输入出错,比如输入字母,则程序会出现非法循环,不能正常运行.要避免这一情况必须对输入cin流进行处理,使之接收非法输入时,能够自动察觉并提示重新输入.同样,也可以在程序中对输入的运算符部分进行判断,当输入的是非法的运算符时给予提示并重新接受.(3) 新增混合运算算法即添加括号的混合运算。 (4) 测试程序的编写测试程序是由计算机出10题,用户计算,每题10分,满分100。计算机判断对错并给出分数。计算机用随机熟发生器给出运算符和两个操作数,除法要求没有余数,在产生随机数时先使两个随机数做乘法,然后将结果和一个随机数输出作为触发的两个操作数,这样就可以保证除法操作没有余数。四、 部分关键程序代码 (1)四则混合运算(即函数 void calcmixed ( ),void jiajian( ), void chengchu( ), void kuohao( ))void oopcalc : calcmixed()pos=0;cout请输入整数表达式exp; ans=jiajian();if(ans!=0)coutansendl; coutPress any key to continuen ; getch(); menu();int oopcalc:jiajian()int rtn=chengchu(); while(exppos=+|exppos=-)int op=exppos+; int opr2=chengchu(); if(op=+)rtn+=opr2; else rtn-=opr2; return rtn;int oopcalc:chengchu() int rtn=kuohao(); while(exppos=*|exppos=/)int op=exppos+; int opr2=kuohao(); if(op=*)rtn*=opr2; else rtn/=opr2; return rtn;int oopcalc:kuohao()int rtn; if(exppos=()pos+;rtn=jiajian(); pos+; return rtn;rtn=atoi(exp+pos); while(isdigit(exppos)pos+; return rtn;(2)具有两个操作数的测试四则混合运算(即函数void calcceshi ( ))void oopcalc : calcceshi() cout简单四则运算的测试n: ; int i,a,b,c,e,g,h,m,sum=0 ;for(i=0;i10;i+) a=rand()%100 ; /应用的函数rand()产生所需的随机数 b=rand()%100 ; c=rand()%10 ; g=a*c; /先使g=a*c,然后在case3中g/c以获得没有余数的除法 m=rand()%4 ;switch(int)m)case 0 :couta+b= ; e=a+b ;break ;case 1 : couta-b= ; e=a-b ; break ; case 2 : couta*c= ; e=a*c ; break ; case 3 : coutg/ch ; if(h=e) cout正确,得十分!n ; sum+=10 ; else cout不正确,不得分!n ; cout十题中,答对:sum/10题t得分:sumn ;coutPress any key to continuen ; getch(); menu();五 个人心得体会这次VC+程序设计是我一人独立承担的,在完成的过程中也向老师和同学们咨询求助,得到了他们真诚友好的帮助,我心里非常感谢他们。这次程序设计能得以顺利完成和他们的帮助是分不开的。程序的设计因是自己一人承担,这难免遗憾没有体验到团结的力量。但当自己在每一个调试与改正一个一个错误的过程中获得了成功的喜悦和激情。同时学到了独立处理自己事情的能力,复习巩固了以前学到的VC+知识。从这个程序本身来讲,可充性较强,还可以在这个基础上扩充一些求阶乘,求几个数的平均数,求一个数的平方根,三角函数间的转换等等。在要求中把整数改为对实数的操作,我在其中把有些int 改为double来实现这一要求。而实现四则混合运算和测试这两个要求时主要是添加了函数来实现的。理解了rand()函数,用其来随机产生测试程序中所需的一位、两位的整数。其中在做程序的过程中menu菜单,最先我采用的是从case1到case10,在运行过程中当在choice后输入10时,进行的功能却是两个数相加的功能,即case1,于是我就从才case0到case9解决了这一个问题。当然对程序中的getch( )这个函数,我并不太清楚其用法和在程序中的作用。程序还存在不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于鞍山千山旅游非物质文化遗产的安全防护设计与研究
- 工程沉降监测与风险防范合同
- 车贷中介服务及贷后管理合作协议
- 跨国企业车间承包管理服务合同范本
- 房地产私募基金财务顾问财务顾问尽职调查合同
- 《城市综合体商业布局分析与销售策略实施合同》
- 餐饮饭店食品安全管理与租赁合同
- 住宅小区清洁服务及垃圾分类指导协议
- 车辆赠与及汽车租赁平台合作协议
- 草原生态保护承包权转让与草原畜牧业转型协议
- GB/T 8195-2011石油加工业卫生防护距离
- GB/T 32151.6-2015温室气体排放核算与报告要求第6部分:民用航空企业
- GB/T 13936-2014硫化橡胶与金属粘接拉伸剪切强度测定方法
- GB 29837-2013火灾探测报警产品的维修保养与报废
- 一例慢阻肺病人护理个案
- 建平中学自招真题解析
- DB50-T 1293-2022 松材线虫病疫木除治技术规范(标准文本)
- 金属材料检验的标准课件
- 动物疫病流行病学调查表诊断送检用
- 模具技术要求
- 广东省公务员录用审批表
评论
0/150
提交评论