САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ ТЕХНИЧЕСКОЙ КИБЕРНЕТИКИ
КАФКДРА СИСТЕМНОГО АНАЛИЗА И УПРАВЛЕНИЯ
ОТЧЕТ
ПО ПРОГРАММИРОВАНИЮ
Калькулятор
Выполнил: ст. гр. 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*/
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.