Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2011, 20:35   #1
iCaesy
In progress...
Форумчанин
 
Регистрация: 25.09.2011
Сообщений: 161
По умолчанию Перегруженные методы, функции DELPHI 7

Есть задача:
23. Вычисление периметра квадрата или правильного пятиугольника по их стороне.

Сделал, все работает. Код:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Edit3: TEdit;
    Edit4: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
  function sum(a:integer):integer;
       overload;
begin
       sum:=sqr(a);
end;
 function sum(a,m:integer):integer;
       overload;
begin
       sum:=5*a;
end;


procedure TForm1.Button1Click(Sender: TObject);
Var
  m:integer;
  k:currency;
  a,h:integer;
begin
  if (Edit1.Text<>'')  then
  begin
a:=StrToInt(Edit1.Text);

end
else
Showmessage('Vvesti zna4eniya');
if (Edit4.Text='') then
begin
h:=sum(a);
Edit3.Text:=intToStr(h);
end
else
begin
m:=StrToInt(Edit4.Text);
k:=sum(a,m);
Edit3.Text:=CurrToStr(k);
end;
  end;

end.
Понадобилось переделать под такое задание:
22. Вычисление кубического корня или десятичного логарифма числа.

Думал просто переделать код вот здесь:

Код:
function sum(a:integer):integer;
       overload;
begin
       sum:=a+a+a+a;
end;
 function sum(a,m:integer):integer;
       overload;
begin
       sum:=5*a;
end;
На:

Код:
function sum(a:integer):integer;
       overload;
begin
       sum:=exp(ln(x)/3);
end;
 function sum(a,m:integer):integer;
       overload;
begin
       sum:=ln(a);
end;
Но компилятор выдает ошибку несоответствия типов:
[Error] Unit1.pas(31): Incompatible types: 'Integer' and 'Extended'

Не пойму чего он хочет от меня...
iCaesy вне форума Ответить с цитированием
Старый 03.10.2011, 21:02   #2
iCaesy
In progress...
Форумчанин
 
Регистрация: 25.09.2011
Сообщений: 161
По умолчанию

Сменил типы в функциях на Extended и IntToStr на FloatToStr и заработало.
Спасибо мне.
ЗАКРЫТО.
iCaesy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегруженные методы, функции DELPHI 7 iCaesy Помощь студентам 4 25.09.2011 19:02
Visual C++ Express 2010. Перегруженные функции. Демик Помощь студентам 10 06.05.2011 12:02
Операции и перегруженные методы класса. Necare Помощь студентам 2 01.12.2010 19:21
Перегруженные операции в С++ Александра1000000 Помощь студентам 10 11.08.2010 20:38
Методы в Delphi Hely Помощь студентам 0 24.04.2010 19:50