Написание калькулятора с разбором выражений

Страницы работы

20 страниц (Word-файл)

Содержание работы

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ ТЕХНИЧЕСКОЙ КИБЕРНЕТИКИ

КАФКДРА СИСТЕМНОГО АНАЛИЗА И УПРАВЛЕНИЯ

ОТЧЕТ

ПО ПРОГРАММИРОВАНИЮ

Калькулятор

Выполнил:

ст. гр. 2082/1

Хизов Михаил Александрович.

Проверил:

Хлопин Сергей Владимирович.

Санкт-Петербург

2005

1.  Цель задачи:

Написать калькулятор.

2.  Техническая задача:

Написать калькулятор с разбором выражений.

3.  Основные типы(классы) и переменные:

class ICalc;

4.  Текст программы:

/********************************************************************

*  Copyright (C) 2004 - 2005

*  Hizov Software

*  Falling Anvil GRP Support Group

********************************************************************/

/********************************************************************

* FILE NAME           : MYMATH.H

* PURPOSE             : CALCULATION METHOD DEFINITION

* PROGRAMMER          : MIHAIL A. HIZOV

* LAST UPDATE         : 25.09.2005 00:45

* VERSION             : 2.1

* FILE SIZE           : 17073 Bytes

* TOTAL PROGECT SIZE  :    -

* NOTE                : NO MODULE PREFIX DEFINED

*                       MAIN CLASS IS 'ICalc'

*

* No part of this file may be changed without agreement of

* Mihail A. Hizov Personally

********************************************************************/

#ifndef _mymath_h_

#define _mymath_h_

#include <ctype.h>

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <math.h>

#include "stack.h"

class MathMethods

{

/********************************************************************

                   PUBLIC MEMBERS DEFINITIONS

********************************************************************/

  public:

    MathMethods ()

    {

    }

    ~MathMethods ()

    {

    }

  public:

    long double Factorial (long double X)

    {

      long double res = 1;

      if (X == 0)

        return 1;

      else

        while (X > 1)

          res *= X--;

      return res;

    }

/********************************************************************

                  END OF PUBLIC MEMBERS DEFINITIONS

********************************************************************/

};

/* DEFINITION OF 'ICalc' CLASS

    THIS CLASS MAKES CALCULATIONS OF EXPRESSION

    AVAILABLE METHODS ARE:

    1 - RESET METHOD (void Reset (void));

    2 - SET FTC METHOD (void SetFTC (char *ptr)).

    3 - */

class ICalc : MathMethods

{

/********************************************************************

                      PRIVATE MEMBERS DEFINITIONS

********************************************************************/

  private:

    /* PREFIX FTC MEANS FUNCTION TO CALCULATE */

    char *FTC;                         /* FUNCTION TO CALCULATE POINTER */

    int FTC_Length;                    /* FUNCTION TO CALCULATE LOGIC LENGTH*/

Похожие материалы

Информация о работе