⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 function.cpp

📁 本程序是一个完整的后缀表达式计算
💻 CPP
字号:
/*
 * 学    号:B05031126
 *
 * 作    者:南京邮电大学计算机学院 吴登荣
 *
 * 摘    要:本程序是一个完整的后缀表达式计算,主要用栈的操作实现,本程序封装了CStack类实现
 *           栈的操作,本程序最大的特色在乎运用实时监控的算法对表达式进行数据校验,对一切合
 *           法的表达式进行计算,检验出所有任何非法表达式并提示。
 *
 * 完成日期:2006年9月25日
 *
 * E - mail:Jeffrey.nupt@gmail.com
*/
// 
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "B05031126.h"
#include "Function.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////


//检验输入表达式是否含有非法数据,若没有,则返回1,否则返回0
int check(CString expression)
{
	int flag=1;
	if(expression.GetLength()==0)
	{
		return 0;
	}//判断表达式空
	if((expression[0]=='+')||(expression[0]=='-')||(expression[0]=='*')||(expression[0]=='/'))
	{
		return 0;
	}//判断第一个字符是否是运算符
	for(int i=0;i<expression.GetLength();i++)
	{
		if((expression[i]!='+')&&(expression[i]!='-')&&(expression[i]!='*')&&(expression[i]!='/')&&(expression[i]!=' '))
			if((expression[i]<'0')||(expression[i]>'9'))
			{
				flag=0;
			}
	}//判断是否出现非法字符
	return flag;
}



//去处表达式中间多余的空格
CString trimblank(CString expression)
{
	for(int i=0;i<expression.GetLength();i++)
	{
		if(expression[i]==' ')
		{
			int k=i+1;
			while(expression[k]==' ')
				k++;
			for(int j=k;j<expression.GetLength();j++)
			{
				expression.SetAt(j-k+i+1,expression[j]);//将多余的空格去除
			}
			for(j=expression.GetLength()-k+i+1;j<expression.GetLength();j++)
			{
				expression.SetAt(j,' ');//讲最后留下的字符去除
			}
			expression.TrimRight();//去掉最后的空格
		}
	}
	return expression;
}



//返回表达式中的运算符号的个数
int getop(CString expression)
{
	int total=0;
	for(int i=0;i<expression.GetLength();i++)
	{
		if((expression[i]=='+')||(expression[i]=='-')||(expression[i]=='*')||(expression[i]=='/'))
			total++;
	}
	return total;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -