[프로그램] 리스트를 이용한 스택 계산기

등록일 2003.11.01 C언어 (cpp) | 10페이지 | 가격 1,000원

목차

#include<stdio.h>
#include<stdlib.h>
#include<conio.h> //getch() 함수를 위해 설정하였다.
#include<malloc.h>
#include<math.h> //pow(double,double) 함수를 위해 설정하였다.
#define MAX_SIZE 100
#define IS_FULL(ptr) (!(ptr))
#define IS_EMPTY(ptr) (!(ptr))

enum precedence {lparen, rparen, plus, minus, times, divide, mod, square, eos, operand, error};
// ( , ) , + , - , *, /, %, ^, 0, 숫자, 에러 를 포함한다.
//스택에 입력이 되는 기호, 연산자 들의 열거체. '^' 계산을 위한 square를 첨가했다.
typedef struct stack *stack_ptr; // 링크를 위한 포인터 변수 선언
typedef struct stack { // 스택 구조체 선언
precedence item; // 데이타 부분
stack_ptr link; // 리스트의 다음을 지정한다.
};
char expr[MAX_SIZE]; // 입력받을 문자열
int multi[MAX_SIZE]; // multi-digit을 위한 배열
char str[10]; // 임시 배열
static int isp[] = {0, 19, 12, 12, 13, 13, 13, 14, 0};
// 스택내 우선순위[( , ) , + , - , *, /, %, ^, 0)]
static int icp[] = {20, 19, 12, 12, 13, 13, 13, 14, 0}; //
// 입력토큰 우선순위[( , ) , + , - , *, /, %, ^, 0)]

void Add(stack_ptr *top, int item); // 스택의 top과 데이터를 전한다. addition
precedence Delete(stack_ptr *top); // 스택의 top을 전한다. delete
int eval(void); // 계산결과를 출력
void error_check(); // 문자열의 에러를 체크한다.
precedence get_token(char *symbol, int *n); // 문자열에서 토큰을 추출한다.
void postfix(void); // infix->postfix로 바꾼다.
void print_token (precedence key, int *i); // 토큰을 출력
int tomulti(char*,int*); // multi-digit으로 바꾸는 함수

본문내용

이 소스는 기본적으로 계산기프로그램입니다.
단, 특징적인 것은 스택을 리스트로 구현했다는
점이고, 또한 한자리 수만의 계산이 아니라
두자리 이상의 수의 계산이 가능하고 즉, 35 + 42
이런식의..... 또한 에러체크 기능이 있습니다.
*원하는 자료를 검색 해 보세요.
  • [c언어] 스택+링크드 리스트 계산기 0페이지
    바뀐 링크드리스트로, 값을 계산한다 : eval_postfix ... ; // STACK* link }STACK, Stack, stack ... ; } } /////////////////////////////////////////////////////////// // Stack
  • 스택 계산기(Stack Calculator)를 링크드 리스트로 구현 8페이지
    .스택을 사용한 계산기인데 스택은 모두 링크드 리스트로 구현하였습니다 ... -snapshot에서 만들었고, 리포트는 MS Word, Visio로 작성하였습니다.계산기 ... 넣어도 돌아가는 것을 확인했습니다. 프로그램을 실행하신다면 스택의 변화
  • MFC 스택 계산기 0페이지
    Visual Studio 프로그램을 이용하여 만든 것으로, MFC 스택 계산기를 만든 것입니다.
  • stack구조 계산기 5페이지
    ..FILE:계산기.hwp 2. 실행 실행 1.source source ... > #define MAX 100 int stack[MAX]; int ... stack_top; void init_stack(void) { stack
  • 스택 계산기 17페이지
    C언어로 제작한 계산기입니다.스택을 이용하여 계산을 하는 프로그램이며, GCC를 이용하여 컴파일을 했습니다.
  • 스택계산기 0페이지
  • c언어 스택 계산기 0페이지
    postfix, prefix 를 이용한 소수점 이하의 계산 까지 실행 되는 스택을 이용한 계산기입니다.
더보기
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      4. 지식포인트 보유 시 지식포인트가 차감되며
         미보유 시 아이디당 1일 3회만 제공됩니다.
      상세하단 배너
      최근 본 자료더보기
      상세우측 배너
      상세우측 배너
      추천도서
      [프로그램] 리스트를 이용한 스택 계산기