![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.04.2013
Сообщений: 22
|
![]()
Недавно начали проходить азы Делфи 7.
Делал по аналогу сумма А и Б, но чего-то не получается. ![]() Вот код : Код HTML:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; Label4: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; A:integer; B:integer; H:integer; S:Real; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); Var a,b,h,S:integer; begin A:=Strtoint (Edit1.Text); B:=Strtoint (Edit2.Text); H:=Strtoint (Edit3.Text); S:=(((A+B)/2)*H); Label4.Caption:=inttostr (S); end; end. в этой строке указывает на ошибку Код HTML:
S:=(((A+B)/2)*H); [Error] Unit1.pas(42): Incompatible types: 'Integer' and 'Extended' [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas' Помогите пожалуйста исправить ошибку. Желательно с объяснением. Слышал, что на этом форуме сидят умные люди, которые готовы помочь. Надеюсь на это ![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ну компилятор же пишет, что ему не нравится!
У Вас тип S - целочисленная переменная. Но в результате деления может получиться ДРОБНОЕ (вещественное) число. исправить можно, например так: Код:
Имхо, все переменные (A,B,H) должны быть вещественного типа! |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 10.04.2013
Сообщений: 22
|
![]()
Спасибо большое, все работает. А вот еще вопросик. Действительно, A,B,H тоже могут быть дробными(2.5; 5,3 и т.д.). Как мне обозначить это в программе?
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 10.04.2013
Сообщений: 22
|
![]()
Разобрался!=))
Окончательный вид вот такой Код HTML:
Var a,b,h:real; S : double; begin A:=Strtofloat (Edit1.Text); B:=Strtofloat (Edit2.Text); H:=Strtofloat (Edit3.Text); S:=(((A+B)/2)*H); Label4.Caption:= FloatToStr(S); |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
определить площадь трапеции. (С++) | anytka2k | Помощь студентам | 2 | 16.11.2011 18:39 |
площадь трапеции | Hand1e | Свободное общение | 7 | 06.09.2011 17:50 |
Программа вычисляющая площадь трапеции | Visha | Помощь студентам | 0 | 18.05.2011 21:59 |
найти площадь криволинейной трапеции | icar1992 | Помощь студентам | 0 | 18.05.2011 12:49 |
Площадь равнобедренной трапеции | Mr.Qwerty | Свободное общение | 6 | 05.09.2009 02:31 |