- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- BIM技术在铁路隧道 设计阶段的应用研究-铁二院.pptx
- BS3000+总部用户手册.doc
- C++03第3章_类和对象.ppt
- C++04第4章_类和对象.ppt
- C++05第5章_程序的结构.ppt
- c++-程序控制结构.ppt
- c++9流与文件.ppt
- C++二叉树结构的建立与基本操作.doc
- C++大学基础教程第1章.ppt
- c++教程 第七章.ppt
- Haier海尔413升风冷变频多门冰箱 BCD-413WGHFD1BSJU1(白)说明书用户手册.pdf
- Siemens西门子工业抽屉式断路器主回路后垂直连接 抽屉式断路器主回路后垂直连接使用手册.pdf
- Samsung三星智能佩戴设备 Galaxy Fit3安全手册.pdf
- Samsung三星滚筒洗衣机 AI神 黑钻热泵洗烘旗舰 WD18DB8995BZSC使用手册.pdf
- Sakura樱花消毒柜 保洁柜消毒柜 SCQ-130D6用户手册说明书.pdf
- Hifiman头领科技ARYA UNVEILED说明书用户手册.pdf
- Siemens西门子工业抽屉式主回路连接前置端子 支撑件 抽屉式主回路连接前置端子 支撑件使用手册.pdf
- Siemens西门子工业中性线的外部电流传感器 中性线的外部电流传感器使用手册.pdf
- Siemens西门子工业电子脱扣单元 电子脱扣单元使用手册.pdf
- Razer雷蛇Playstation 专用雷蛇战锤狂鲨极速版 RZ12-038203 用户指南 (简体中文)说明书用户手册.pdf
最近下载
- 腰椎的解剖及腰部的层次解剖ppt参考课件.ppt
- 知识产权助推新质生产力发展.pptx VIP
- NB∕T 10805-2021 水电工程溃坝洪水与非恒定流计算规范.pdf
- 2022年鄄城县工会系统招聘考试题库及答案解析.docx VIP
- 2024年医师定期考核必考题库及答案.pdf
- 2023年互联网信息审核员理论考试题库(含答案).pdf VIP
- 2024中考语文《西游记》历年真题专练(学生版+解析版).pdf VIP
- 高中音乐鉴赏测试题.doc VIP
- 人教三上数学《数学广角—集合》单元作业设计方案(13页).pdf VIP
- 省级政府和重点城市一体化政务服务能力调查评估报告2021年.pdf VIP
文档评论(0)