- 27
- 0
- 约1.12万字
- 约 11页
- 2016-08-11 发布于湖北
- 举报
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
您可能关注的文档
- 热电厂热经济性指标概念.doc
- 人防工程监理规划模版概念.doc
- 人教版+六下+语文课堂作业本+参考(内容+)概念.doc
- 人教版古诗文现代文背诵所有概念.doc
- 人教版六年级上册语文期末复习概念.doc
- 人教版七年级历史(下)各单元期末总复习测试(含)概念.doc
- 人教版七年级数学下册--《相交线与平行线》教师概念.doc
- 人教版五年级课外阅读训练概念.doc
- 人教版小学美术四年级下册光的魅力概念.doc
- 人教版小学语文三年级下册全册概念.doc
- 2025年全国演出经纪人员资格认定考试试卷带答案(研优卷).docx
- 2025年全国演出经纪人员资格认定考试试卷完整版.docx
- 2025年全国演出经纪人员资格认定考试试题库及完整答案.docx
- 2025年全国演出经纪人员资格认定考试试卷完美版.docx
- 2025年全国演出经纪人员资格认定考试试卷含答案(实用).docx
- 2025年全国演出经纪人员资格认定考试试卷及答案(各地真题).docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
- 2025年全国演出经纪人员资格认定考试试卷及答案1套.docx
- 2025年下半年四川成都市郫都区面向社会引进公共类事业单位人员2人备考题库最新.docx
- 2025年下半年内江市部分事业单位公开考试招聘工作人员(240人)备考题库附答案.docx
最近下载
- 中小学教育教学常规讲座.pptx VIP
- 2025年渤海船舶职业学院单招数学考试模拟试题及答案解析.docx VIP
- 2024年渤海船舶职业学院单招数学考试试题及答案解析.docx VIP
- 2025年项目管理专业计划价值与项目报告编制专题试卷及解析.pdf VIP
- 2025年演出经纪人脑机接口技术在演出体验中的未来展望专题试卷及解析.pdf VIP
- 2025年碳排放管理师碳期权做市商的定价与风险管理专题试卷及解析.pdf VIP
- 2025年特许金融分析师抵押贷款支持证券的综合案例分析专题试卷及解析.pdf VIP
- 2025年金融风险管理师内部评级法下信用风险缓释的资本计算专题试卷及解析.pdf VIP
- 2025年AWS认证AmazonRDS只读副本的只读副本的跨区域数据传输安全专题试卷及解析.pdf VIP
- ZCC5000-1履带式起重机技术规格书.pdf VIP
原创力文档

文档评论(0)