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界面编程的博客

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

  • 相关阅读:
    某些输入文件使用或覆盖了已过时的 API
    laravel 重写以及500错误
    Ubuntu镜像使用帮助
    E: Sub-process /usr/bin/dpkg returned an error code (1) 解决方案
    python请求java Selenium Webdriver
    Selenium Grid 简易安装
    selenium + python 添加等待时间
    selenium帮助手册以及 webdriver的各种driver
    thinkphp结合layui上传图片
    thinkphp----替换写标签的方法
  • 原文地址:https://www.cnblogs.com/heihuifei/p/6926108.html
Copyright © 2011-2022 走看看