zoukankan      html  css  js  c++  java
  • 第六次课程作业

    第六次课程作业

    题目描述

    本次作业要求将四则运算的核心部分采取栈的知识进行解决。即表达式生成的合法性检验、表达式结果计算。

    学习C++界面编程,可以学QT、MFC或者VS,选择其一即可,用博客记录学习到的知识以及心得体会。

    本次作业中将四则运算中的核心部分用栈的知识解决,最开始的程序已经实现,因为还通过逆波兰式实现,这里我就贴出后面通过栈计算逆波兰式的代码。

    /*根据逆波兰式,求出表达式的值,放到私有成员value中。结果如果是整数,则返回整数。如果不是整数,返回FALSE。*/
    int Expression::ExpressionValue()
    {
    	Stack s;
    	int size = reversePolishNotation.length();
    
    	int num1, num2;//因为有用#代表10,就先用int存
    	int i;
    
    	for (i = 0; i < size; i++)
    	{
    		switch (reversePolishNotation[i])
    		{
    		case'+':
    			num1 = s.top();
    			s.pop();
    			num2 = s.top();
    			s.pop();
    			s.push(num1 + num2);
    			break;
    
    		case'-':
    			num1 = s.top();
    			s.pop();
    			num2 = s.top();
    			s.pop();
    			s.push(num2 - num1);
    			break;
    
    		case'*':
    			num1 = s.top();
    			s.pop();
    			num2 = s.top();
    			s.pop();
    			s.push(num1 * num2);
    			break;
    
    		case'/':
    			num1 = s.top();
    			s.pop();
    			num2 = s.top();
    			s.pop();
    			//只有做除法时可能出现答案为非整数的情况
    			if (num2%num1 == 0)
    			{
    				s.push(num2 / num1);
    			}
    			else
    			{
    				return FALSE;
    			}
    			break;
    
    		case'#'://数值10
    			s.push(10);
    			break;
    
    		default://其他数值
    			s.push(reversePolishNotation[i] - '0');
    			break;
    		}
    	}
    	value = s.top();
    	return value;
    }
    

    然后对于界面编程的学习,因为之前一直在做PTA的作业,感觉这次作业有些些比平时的多了一些,比较赶,所以界面编程只是学习了一小部分,具体的还没有实现。我学习的是MFC实现,首先是VS上必须先安装MFC界面编程需要的插件。
    主要步骤分为以下几步:
    1.创建一个基于对话框的MFC项目

    2.之后对于控件以及其他的设置:
    添加控件-设置控件

    3.控件消息响应函数具体代码部分添加

    具体的代码我还未能实现,之后会补上。
    推荐MFC界面编程的博客

    感想:在栋哥的带领下一步一步的朝真正的程序设计师方向前进

  • 相关阅读:
    web安全——代理(nginx)
    2016年3-7月书单推荐
    web安全——系统(Linux)
    web安全——防火墙
    web安全——简介
    系统安全扫描工具(appscan)的扫描类型小记
    知识管理,让生活更美好
    亚马逊如何变成 SOA(面向服务的架构)
    徐小平:关了公司以后,我有这些话要对你说
    网易味央第二座猪场落户江西 面积超过3300亩
  • 原文地址:https://www.cnblogs.com/heihuifei/p/6926108.html
Copyright © 2011-2022 走看看