Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с калькулятором 
:(
    Опции темы
DeadLine
Дата 1.12.2007, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мыслитель
**


Профиль
Группа: Завсегдатай
Сообщений: 736
Регистрация: 16.2.2006
Где: Готем

Репутация: нет
Всего: 51



Код

program Project1dpr;
{$APPTYPE CONSOLE}
uses SysUtils;
type TCalculator = class
  operand1, operand2: real; // поля хранят операнды
  sign: char; // поле хранит знак операции
  res: real; // поле хранит результат
  procedure Init(op1, op2:real; s:char);virtual; // метод инициализирует поля объекта
  procedure Plus;virtual;
  procedure Minus;virtual;
  procedure Divide;virtual;
  procedure Multiply;virtual;
  procedure Run;virtual; // метод выполняет нужную операцию
  procedure PrintResult;virtual; // метод печатает результат
  end;
  procedure TCalculator.Init(op1, op2:real; s:char);
  begin
  operand1:= op1;
  operand2:= op2;
  sign:=s;
  end;
   procedure TCalculator.Plus;
   begin
   res:= operand1 + operand2;
   end;
    procedure TCalculator.Minus;
   begin
   res:= operand1 - operand2;
   end;
    procedure TCalculator.Divide;
   begin                    p
   res:= operand1/operand2;
   end;
    procedure TCalculator.Multiply;
   begin
   res:= operand1*operand2;
   end;
   procedure TCalculator.PrintResult;
     begin
   WriteLn ('Result=',res);
     end;
    procedure TCalculator.Run;
    begin
    case sign of
    '+':Plus;
    '-':  Minus;
    '*':  Multiply;
    '/':  Divide;
    else WriteLn ('Wrong operation');
    end;
    PrintResult;
    end;
    type TStep = class (TCalculator)
    procedure Init(op1, op2:real; s:char);override; // метод инициализирует поля объекта
    procedure Stepen;
    procedure Run;override; // метод выполняет нужную операцию
    procedure PrintResult;override; // метод печатает результат
    end;
    procedure Stepen;
    begin
      res:=exp(operand2*ln(operand1));
    end;
    procedure TCalculator.Run;
    begin
    case sign of
    'x':Stepen;
    else WriteLn ('Wrong operation');
    end;
    end;

  {-------------main-------------------}
  var Calc: TCalculator; // объявляем экземпляр класса
  a,b: real;
  c:char;
  begin
 Calc:= TCalculator.Create;  // Вызываем конструктор класса TObject
  WriteLn('Input two operands');
  Readln (a,b);
  Writeln('Input operation');
  Readln(c);
  Calc.Init(a, b, c);
  Calc.Run;
  ReadLn;
  end.

Пишет что необьявлена res.помогите пожалуйста разобраться

PM   Вверх
THandle
Дата 1.12.2007, 18:19 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



Ведь procedure Stepen; не метод класса TCalculator.

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0754 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.