검색어 입력폼

[C언어]후위연산자 및 계산(중위,후위,스택)

저작시기 2006.06 |등록일 2006.10.29 파일확장자C언어 (cpp) | 가격 1,000원

소개글

중위 에서 후위로 변경하고 나서 계산까지 하는 코드로
기본 사칙연산과 ( ) 연산이 되며, 결과값이 100이 넘어가면 오류가
있습니다. 간단한 연산은 잘 되는듯;;
중간중간 마다 레포트 제출용으로는 허접티가 많이나서 괜찮을꺼 같네요.

컴파일 실행환경

cpp// 비주얼 C++ 6.0 및 gcc 에서도 됩니다.

본문내용

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

#define MAX 20

int S_operator[MAX];
char S_calculation[MAX];
char poly[MAX];
int top = -1;
int top1 = -1;

void div(); //피연산자와 연산자를 구분
void push(char); //연산자를 스택에 삽입하면서 연산자를 비교
void pop(); //연산자 우선순위가 높으면 삭제 하면서 출력
void push_cal(char);
void pop_cal(char);
int PIS(char); //스택에서의 연산자 우선순위 함수
int PIE(char); //연산에서의 연산자 우선순위 함수



void main()
{
printf("Be positively necessary Question mark of polynomial end\n");
printf("Input polynomial---> ");
gets(poly);

div();
printf("\n%d" , S_calculation[0]);
}

void div()
{
char a, b;
int len, i;
len = strlen(poly); //문자열의 길이를 계산
for(i = 0 ; i <= len ; i++)
{
if(poly[i] >= `0` && poly[i] <= `9`) // 0부터 9까지 피연산자면 바로 출력
다운로드 맨위로