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

📄 calculator1.cpp

📁 本程序是算术表达式计算程序
💻 CPP
字号:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
char token;
int expr(void);
int term(void);
int factor(void);

void error(void)
{
	fprintf(stderr,"Error|n");
	exit(1);
}

void match(char expectedToken)
{
	if(token==expectedToken) token=getchar();
	else error();
}

int _tmain(int argc, _TCHAR* argv[])
{	int result;
	token=getchar();

	result=expr();
	if(token=='\n')
		printf("Result = %d\n",result);
	else error();
	return 0;
}

int expr(void)
{
	int temp=term();
	while((token=='+')||(token=='-'))
		switch(token){
			case '+': match('+');
				      temp+=term();
					  break;
			case '-':match('-');
				      temp-=term();
					  break;
		}
		return temp;
}

int term(void)
{	int temp=factor();
	while(token=='*'){
		match('*');
		temp*=factor();
	}
	return temp;
}

int factor(void)
{
	int temp;
	if(token=='('){
		match('(');
	    temp-=expr();
        match(')');
	}
	else if(isdigit(token)){
		ungetc(token,stdin);
		scanf("%d",&temp);
		token=getchar();
	}
	else error();
	return temp;
}

⌨️ 快捷键说明

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