ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:64.53KB ,
资源ID:9017025      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9017025.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++实习报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++实习报告.docx

1、C+实习报告1 教学实习的内容综合运用课堂上所学的C+程序设计知识,实现一个综合C+程序设计。复数计算器程序程序说明该程序是设计一个小型实用复数计算器,可以完成复数的加减操作程序设计要求(1)增加运算符重载功能,可以重载+、+、 (istream & is, CComplex & )实现输出重载。同样,复数的输出也需要重载输出。重载输出可以通过ostream & operator (ostream & os, CComplex &)实现。复数的输入这是个比较难的,尤其先要确定复数的符号,这个可以通过数组实现,这是通过网上查询而得到的解决方案。程序可以参考源代码。产生随机数问题主要是rand这个

2、函数没有在课本上涉及到,只好到通过XX了解了一点。用户信息记录问题很容易忽略新用户不需记录这一点,一旦忘记,编译时就会出现该用户没有定义,细节确实挺重要的。清屏问题清屏需要用到system(“cls”)指令得以实现。C+程序设计涉及到面向对象程序设计、C+语言语法以及算法等三个方面的内容,语法比较复杂,内容十分广泛,需要熟练这门语言的语法结构才能更好的运用,每个方面都是重点,同时,细节也是相当重要的,忽略细节,就不可能完成任何一个任务。这要求我们不仅要整体把握C+的各项用法,还得注重细节。细节决定成败。5 总结与体会C+涉及概念很多,语法比较复杂,内容十分广泛,刚开始感觉比较难,但是,通过一段

3、时间的学习,感觉其实C+并没有什么难的,这主要还是要归功于老师,是老师教给了我们好的学习方向,引导我们去学习。其实要教好这门课,绝不是一个纯技术问题,需要综合多方面因素进行考虑,做出合理的决策和安排。实践是检验真理的唯一标准,实践能积累我们的经验,找到我们的不足,更好的掌握我们所要学习的东西。这次的教学实践活动,使我学到了很多知识,弥补了我的很多漏洞,让我变得更爱思考,精益求精。通过这个很小但对我来说却不小的程序,我多少有点体会到C+相对于C的优越性,方便多了。本来C+语法复杂,内容又多,如果对它缺乏系统的了解,将难以真正应用,编出来的程序将会错误百出,编译出错,事倍功半。而这次实践活动使我认

4、识到了细节其实很重要,正是认识到了细节的重要性,使得我更加仔细,减少了编译出错几率,真的是事倍功半啊!同时使我对C+有了些许系统的了解,真正运用到实处,对C+的认识上升了一个层次。附录一:系统需求、系统设计说明书1.该程序主要处理复数运算,因此,输入输出只能为复数,其他数据不能处理。2.程序说明此程序主要是解决复数计算问题,包括复数的加减成乘、自加自减以及复数的比较等功能。3.该程序具体用法:先根据系统提示输入使用者的姓名进入主页面之后,选择你要进行的复数运算方式:1.多复数加法2.多复数减法3.测试100以内的复数加减法运算4.多复数乘法5.复数自加6.复数自减7.复数比较0.退出计算器程序

5、,根据你的需要,选择运算方式,例如选择多复数加法,输入1再按回车键,根据提示完成运算。如果想退出,输入0在回车即可。在退出前会显示你的操作记录(如做了多少次加法等),再按回车键退出程序。附录二:程序代码/*C+程序设计实践指导* 第2章 2.1 一个复数计算器程序* */#include #include #include #include #include #include /#define EPS len-5 / 定义精度常数using namespace std;namespace NameCComplex / 定义命名空间 NameCComplex/*-|部分A:| 复数类 CComp

6、lex 的声明和定义,以及结构体类型 用户 User 的定义| -*/ /*- | 复数类 CComplex 的声明 -*/ class CComplex private: double Real, Image; / 分别为复数的实部和虚部 public: CComplex(double real=0, double image=0) / 构造函数 Real = real; Image = image; friend istream & operator (istream & is, CComplex & com); / 重载输入 friend ostream & operator (CCom

7、plex & com); int operator ”,比较模的大小 int CComplex:operator (CComplex & com) if ( mod() com.mod() ) return 1; / 若大,则返回 1 else return 0; / 重载运算符“”,比较模的大小 int CComplex:operator (CComplex & com) if ( mod() (istream & is, CComplex & com) cout s; / 用字符串的形式接收复数 int len = strlen(s); / 求出字符串的长度 int n = 0, sign

8、 = 1; / 其中的 n 值 为当前从字符串中提取出的数字,会在下面的 while 语句中得到确定的值 / sign 为状态变量,表示数值的正负符号,以辅助辨认正负值 com.Image = com.Real = 0; / 判断接收的字符串是否合法 for(int k=0; klen; k+) if ( (sk9) & (sk!=+ & sk!=- & sk!=i) ) cout error endl; return is; / 错误,输出出错信息并返回 / 顺序识别字符串中各字符 for(int k=0; klen;) if ( n!=0 & (sk=- | sk=+) ) / 当前字符是

9、否为符号位 com.Real = sign * n; / 是符号位,且 n!=0,即 n 已被赋值(通过下面的whlie语句),表明当前读取的是虚部的符号 n = 0; / 将原 n*sign 值(带正负号的数值)赋给实部后,将 n 清零,准备下一次继续接收并判断是否为虚部的值 if ( sk = -) / 当前字符若为负号 sign = -1; k+; / 给符号标志变量 sign 赋值,表示为负数 if ( sk = +) / 当前字符若为正号 sign = 1; k+; / 给符号标志变量 sign 赋值,表示为正数 if ( sk=i ) / 若当前字符为“i” if ( k!=len

10、-1 ) / 判断字符 i 是否为字符串中最后一个字符 cout =0 & sk=9 ) / 当前字符若在 09 之间,则将数字字符转换成数字数值 n = n * 10 + sk - 0; k+; if ( slen-1!=i & n!=0 ) / 如果最后一个字符不是 i,表示复数对象内只有实部,没有虚部,如:-a com.Real = n * sign; return is; / 重载复数的输出 ostream & operator (ostream & os, CComplex & com) if ( fabs(com.Image)=0 ) / 如果虚部为 0 os com.Real;

11、/ 只输出实部 else if ( fabs(com.Real)=0 ) / 如果实部为 0 os com.Image 0 ) os com.Real + com.Image i; / 虚部为正 else os com.Real com.Image i; / 如 实部为 3,虚部为 -6i,就变为 3 - 6i,而不是 3 + -6i return os; / 加法重载 CComplex CComplex:operator + (CComplex & com) CComplex sum; sum.Real = Real + com.Real; / 实部相加 sum.Image = Image

12、+ com.Image; / 虚部相加 return sum; / 乘法重载 CComplex CComplex:operator * (CComplex & com) CComplex multi; multi.Real = Real * com.Real - Image * com.Image; / 乘积实部 multi.Image = Real * com.Image + Image * com.Real; / 乘积虚部 return multi; / 减法重载 CComplex CComplex:operator - (CComplex & com) CComplex sub; sub

13、.Real = Real - com.Real; / 实部相减 sub.Image = Image - com.Image; / 虚部相减 return sub; / 加法赋值重载 CComplex CComplex:operator += (CComplex & com) Real = Real + com.Real; / 实部 Image = Image + com.Image; / 虚部 return *this; / 减法赋值重载 CComplex CComplex:operator -= (CComplex & com) Real = Real - com.Real; / 实部 Im

14、age = Image - com.Image; / 虚部 return *this; / 乘法赋值重载 CComplex CComplex:operator *= (CComplex & com) double nReal = Real * com.Real - Image * com.Image; / 乘积实部 double nImage = Real * com.Image - Image * com.Real; / 乘积虚部 Real = nReal; Image = nImage; return *this; / 重载 = 运算符,分别比较两个复数对象的实部和虚部 int CComp

15、lex:operator = (CComplex & com) if ( Real=com.Real & Image=com.Image ) return 1; / 实部与虚部部分相等,则返回 1 else return 0; /*-|部分B:| 测试函数 void Test(void)| 实现复数的加法函数 void Add()| 实现复数的减法函数 void Sub()| 实现复数的乘法函数 void Mul()| 实现复数的自加函数 void Add1()| 比较两个复数的大小函数 void Compare()| 输出本次用户使用计算器的情况记录 void userprint()| 当前

16、用户使用完计算器,保存或更新用户资料函数 void SaveFile()| -*/ 测试函数,随机出 10 道运算题,可以打分 void Test(void) user.nTest+; / 用户测试次数加 1 cout 共10道题,作10以内的加减运算,满分 100分:n; double real1, real2, image1, image2, real3, real4, image3, image4; / 1 和 2 分别代表两个待相加的复数的实部和虚部,3 和 4 则为相乘 CComplex answer, temp; int score = 0; char op; for(int i=

17、0; i=9; i+) real1 = rand()%200 - 100; / 产生的随机数是两位数,可以是正数或负数 image1 = rand()%200 - 100; real2 = rand()%200 - 100; image2 = rand()%200 - 100; CComplex a(real1, image1), b(real2, image2); / 用产生的随机数对象分别初始化两个复数对象 real3 = rand()%20 - 10; / 产生的随机数是一位数,可以是正数或负数 image3 = rand()%20 - 10; real4 = rand()%20 - 10; image4 = rand()%20 - 10; CComplex c(real3, image3), d(r

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1