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

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

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2017, 09:19   #11
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
Дело в том что в поле №1 я писал число 121,
а в поле №2 ???
Цитата:
Код:
 var a, b, c :real;
begin
 a:= StrToFloat(Edit1.Text);
 b:= StrToFloat(Edit2.Text);
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 14.03.2017, 14:24   #12
Grisha_Niki_UA
Пользователь
 
Регистрация: 10.03.2017
Сообщений: 13
По умолчанию

Поле №2 используется для других действий, например умножение или деление.
Grisha_Niki_UA вне форума Ответить с цитированием
Старый 14.03.2017, 14:26   #13
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Не важно для чего используется, важно что программа пытается пустую строку из него преобразовать в integer. Вот для корня и не делай этого, а сама прога не знает, что оно тебе не нужно ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 14.03.2017 в 14:29.
Аватар вне форума Ответить с цитированием
Старый 14.03.2017, 15:04   #14
Grisha_Niki_UA
Пользователь
 
Регистрация: 10.03.2017
Сообщений: 13
По умолчанию

А если так?
Код:
procedure TForm1.Button12Click(Sender: TObject);
 var a, b, c :real;
begin
 if RadioButton3.Checked then
   a:= StrToFloat(Edit1.Text);
   b:= StrToFloat(Edit2.Text);  
   c:= a + b;
 if RadioButton4.Checked then
   a:= StrToFloat(Edit1.Text);
   b:= StrToFloat(Edit2.Text);
   c:= a - b;
 if RadioButton5.Checked then
   a:= StrToFloat(Edit1.Text);
   b:= StrToFloat(Edit2.Text);
   c:= a * b;
 if RadioButton6.Checked then
   a:= StrToFloat(Edit1.Text);
   b:= StrToFloat(Edit2.Text);
   c:= a / b;
 if RadioButton7.Checked then  
   a:= StrToFloat(Edit1.Text);
   с:= sqrt(a);                 
 Edit3.Text:= FloatToStr(c);
end;
Grisha_Niki_UA вне форума Ответить с цитированием
Старый 14.03.2017, 15:15   #15
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Лучше так:
Код:
procedure TForm1.Button12Click(Sender: TObject);
 var a, b, c :real;
begin
 a:= StrToFloatDef(Edit1.Text,0);
 b:= StrToFloatDef(Edit2.Text,0);  
 if RadioButton3.Checked then  c:= a + b;
 if RadioButton4.Checked then  c:= a - b;
 if RadioButton5.Checked then  c:= a * b;
 if RadioButton6.Checked then  c:= a / b;
 if RadioButton7.Checked then  с:= sqrt(a);                 
 Edit3.Text:= FloatToStr(c);
end;
И желательно еще сделать проверку- для деления чтоб b<>0, а для корня чтоб a>=0.

PS А если как у тебя #14 - там еще надо операторные скобки begin .. end после каждого then

Последний раз редактировалось type_Oleg; 14.03.2017 в 15:23.
type_Oleg вне форума Ответить с цитированием
Старый 14.03.2017, 15:18   #16
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
А если так?
Можно и так. Только введи "нечаянно" в эдит вместо цифры букву, или десятичный разделитель отличный от настроек винды или вообще ни чего не введи в Edit1 и посмотри что получишь при нажатии на кнопку. Все данные введенные в текстовом виде нужно проверять на валидность
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.03.2017, 16:33   #17
Grisha_Niki_UA
Пользователь
 
Регистрация: 10.03.2017
Сообщений: 13
По умолчанию

Народ, спасибо вам огромное
Grisha_Niki_UA вне форума Ответить с цитированием
Старый 15.03.2017, 12:35   #18
Grisha_Niki_UA
Пользователь
 
Регистрация: 10.03.2017
Сообщений: 13
По умолчанию

А для решения квадратов и кубов чисел надо использовать функции sq и cb?
Grisha_Niki_UA вне форума Ответить с цитированием
Старый 15.03.2017, 12:40   #19
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что такое "решение квадратов чисел"?


Цитата:
Сообщение от Grisha_Niki_UA Посмотреть сообщение
функции sq и cb
Таких нету, и имена странные. SQRT это от Square Root (квадратный корень).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 15.03.2017, 12:55   #20
Grisha_Niki_UA
Пользователь
 
Регистрация: 10.03.2017
Сообщений: 13
По умолчанию

А как преобразовать данные из типа string в real?
Grisha_Niki_UA вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить таблицу корней квадратных для чисел от 10 до 50 с шагом 5.Буду очень благодарен. shketeg Помощь студентам 2 03.12.2016 14:38
Нужно написать код решения задачи Василий_1 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 22.03.2013 12:00
исследовать метод квадратных корней и метод Холецкого для решения СЛАУ Vит@x@ Помощь студентам 0 22.11.2011 10:47
макрос для решения квадратных уравнений (перемещено из раздела Excel) sashkkk Помощь студентам 3 22.09.2010 23:06
Qu 1.0 - программа для решения квадратных уравнений DM_bite Софт 5 20.03.2010 22:37