c++课程设计四则运算.doc.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c课程设计四则运算.doc

Vc++课程设计报告①判断功能:用类中定义的judge函数实现,返回值为1即合法,为0即不合法。 去除空格:定义p、s两个指针指向字符串,r指针指向p指针实现p、s指针在字符串中的遍历,用p指针找到第一处空格处,再用s指针找到p指向位置以后最近一个不是空格处,赋值语句*p=*s,继续向下遍历字符串直至结束。 非法输入:定义destination指向字符串,列举算式中出现的合法的字符,通过遍历字符串找到非法输入字符,返回0; 非法算式逻辑:包括运算符号相连,以及违背运算法则等现象,通过对运算符号的遍历比较实现;还有包括左括号前或右括号后紧挨数字,通过定义一个新字符串数组指向字符串来寻找括号并判断括号前后是否合法;非法,返回0; 全都合法返回1. ②数字字符串转换成数字:用类中定义的val函数实现,扩充到浮点数的运算范围。③字符串的连接,通过类中定义的left、right、midstr、addstrings函数配合实现。left、right、midstr三个函数进行字符串的提取,addstrtings函数进行三个指针的遍历实现两个字符串的合并。④数字的字符串化,通过类中定义的str函数实现。⑤算式的计算,通过类中定义的calculate函数实现。⑥友元函数的定义,定义输入输出友元函数,重载赋值运算符等,实现字符串之间的加法。①开始编写完整个程序,出现许多编写错误,一个个改正; ②在实现浮点数的扩充过程中的小数部分,以及输入合法性的判断过程漏掉情况,指针的误用等; ③有时单独的一个函数不能搞懂或错误不能改正,就单独在编写一个类似程序,多次调试运行,来弄懂并加以改正; 解决办法:查阅书籍,上网有哪些信誉好的足球投注网站,独立思考,询问同学老师,多次上机调试等; 六、输入输出数据 开始界面: 非法输入判断: ①非法字母:②运算符紧挨: ③左④括号为中文符号: 清理空格: 运算第一个输入字符串算式结果: 退出判断:继续运算: 退出运算: 浮点数的加入: 七、课程设计总结 经过这次庞大复杂的课程设计过程,是我对c++知识有了更加深刻的理解,引起了我对c++语言世界的无限好奇心和探索欲,感慨到了世界的神奇与微妙,程序控制的无限用途以及自身的渺小; 在其中编写判断括号前后是否合法语句时,指针遍历不易实现,于是经过多次调试后重新定义了一个字符串数组来实现,这给了我很大的启示,只要努力并不断尝试新的东西一定会成功; 还有程序中友元函数与运算符重载部分,由于知识掌握不够牢固,反复调试查阅书籍,最终得到了解决,也使得我对这方面的知识获得了更为深刻的理解与认知; 浮点数的加入要进行小数点数位的取舍,函数中设定为小数点儿后六位,因此浮点数运算过程中每次都会出现六位小数的现象,使得结果有0.000001的误差,通过单独编写类似函数多次调试,使得我对c++语言中对double型向int型变量转化的规律的理解获得了更深层次的理解; 通过编写过程,体会到了细节的厉害,有时一个微小的错误就能使整个程序而不能正确运行; 八、源程序注解 #includeiostream.h #includestring.h #includestdlib.h char pause; int len(char*source) //算出字符串的长素 { int retval=0; while(*(source+retval++)!=0){} return --retval; } class CStr //定义字符串类 { private: int nlen; //字符串长度 char *pstr; //字符串首地址 public: CStr(){}; CStr(char *str) {nlen=len(str);pstr=str;} int Getlen(){return nlen;} //返回字符串长度 char*Getstr(){return pstr;} //返回字符串首地址 CStr(CStrstr){nlen=str.Getlen();pstr=str.Getstr();} //拷贝构造函数 char*Getpstr(){return pstr;} void midstr(CStr str1,int start,int length); /*返回指定字符串类中从nStart序号开始nLength长度的字符*/ void left(CStr str1,int length); /*返回指定字符串中从左边开始nLength个字符*/ void right(CStr str1

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档