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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как посчитать проценты? 
:(
    Опции темы
Digit
Дата 9.7.2005, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.7.2005

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



Цитата(Marriage @ 9.7.2005, 19:50)
Femida
Чет я не понял ...
Код

procedure TForm1.Button1Click(Sender: TObject);
var
a1,a2:real;
rez:real;

begin

 rez:= a1/a2;

 Button1.Caption:=FloatToStr(rez);

end;


Здесь что, должна ошибка вылетать ???

это я писал...

Код

procedure TForm1.Button1Click(Sender: TObject);
var
  s, c, temp, temp1. temp2: real;
......

  temp:= s-c;
  temp1:= temp/s;
  temp2:= temp1*100;
......


не знаю должна или не должне, но у меня матюгается ...
PM MAIL ICQ   Вверх
mvdr
Дата 9.7.2005, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 42



Marriage а что ко мне то smile


Digit
Цитата(Digit @ 9.7.2005, 20:47)
число берется из файла...
так и надо сразу писать.
Код

 Memo1.Lines.LoadFromfile('C:/proba.txt');
Edit1.text:=Memo1.Lines[1]; // типа вторая строка в Memo у нас отведена для числа
 a:=StrToInt(Edit1.Text); 
a1:=a*10^n;




--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Marriage
Дата 9.7.2005, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 4.5.2004
Где: Таганрог

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



Цитата
s, c, temp, temp1. temp2: real;


А что там точка делат ???
А ошибка точно именно на строчке с делением выдает ошибку, что - то мне не вериться в такое ...

Это сообщение отредактировал(а) Marriage - 9.7.2005, 19:59


--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
mvdr
Дата 9.7.2005, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 42



Marriage скорее всего описка


--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Digit
Дата 9.7.2005, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.7.2005

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



так и есть - описка... =)

Marriage, так что поверь, а не хочешь проверь =)


Femida, я запитался в этих кусках кода... можешь все целиком скинуть? smile

З.Ы. Я - новичок, а умение обьяснять приходит с опытом... smile
PM MAIL ICQ   Вверх
Marriage
Дата 9.7.2005, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 4.5.2004
Где: Таганрог

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



Digit
Скинь целиком ..


--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
Digit
Дата 9.7.2005, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.7.2005

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



Цитата(Femida @ 9.7.2005, 19:57)
Код

 Memo1.Lines.LoadFromfile('C:/proba.txt');
Edit1.text:=Memo1.Lines[1]; // типа вторая строка в Memo у нас отведена для числа
 a:=StrToInt(Edit1.Text); 
a1:=a*10^n;

а откуда взялось n?

Marriage, код очень большой...
PM MAIL ICQ   Вверх
mvdr
Дата 9.7.2005, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 42



Код

var a,b:real
      percent:real;
      a1,b1:integer;
      delta:real;
begin
n:=StrToInt(Edit3.text); // пользоваетль сам вводит количество знаков после запятой
if n<0 then Messagedlg('Это число должно быть больше нуля',mtError,[mbcancel],0);
Memo1.Lines.LoadFromfile('C:/proba.txt');
Edit1.text:=Memo1.Lines[0]; // типа первая строка в Memo у нас отведена для числа a
a:=StrToInt(Edit1.Text);
Edit2.text:=Memo1.Lines[1]; // типа вторая строка в Memo у нас отведена для числа b
b:=StrToInt(Edit2.Text);
a1:=a*10^n; // теперь у нас число integer, и его можно делить
b1:=b*10^n; //
if a1<b1 then percent:=(a1*100)/b1;
if a1>b1 then percent:=(b1*100)/a1;
delta:=10*n*100-percent*10*n;
Label1.Caption:=IntToStr(delta);
end;

Добавлено @ 20:20
проверь на работоспособность, пока Delphi под рукой нет


--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Marriage
Дата 9.7.2005, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 4.5.2004
Где: Таганрог

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



Digit
Скинь свой код полностью ...

Это сообщение отредактировал(а) Marriage - 9.7.2005, 20:27


--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
mvdr
Дата 9.7.2005, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 42



Marriage, зачем? пусть попробует - если работает, то весь код не нужен


--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Marriage
Дата 9.7.2005, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 4.5.2004
Где: Таганрог

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



НУ разве может быть такое :

Цитата
обьясняю ситуацию:
есть два числа типа real (a1 и a2)
считаем третье число (rez):

код Pascal/Delphi
1:

rez:= a1/a2;






получаем ответ от Делфей: "Invaild floating point operation"



--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
Digit
Дата 9.7.2005, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.7.2005

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



Femida, мы кажется снова не допоняли друг друга...
пользователь ничего не вводит...
можно отбросить все знаки после 3-го знака после запятой (тоесть 4-й, 5-й и тд)
PM MAIL ICQ   Вверх
mvdr
Дата 9.7.2005, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 42



Код
var a,b:real
      percent:real;
      a1,b1:integer;
      delta:real;
begin
n:=3; ..вот здесь сам пиши тогда число, сколько надо
Memo1.Lines.LoadFromfile('C:/proba.txt');
Edit1.text:=Memo1.Lines[0]; // типа первая строка в Memo у нас отведена для числа a
a:=StrToInt(Edit1.Text);
Edit2.text:=Memo1.Lines[1]; // типа вторая строка в Memo у нас отведена для числа b
b:=StrToInt(Edit2.Text);
a1:=a*10^n; // теперь у нас число integer, и его можно делить
b1:=b*10^n; //
if a1<b1 then percent:=(a1*100)/b1;
if a1>b1 then percent:=(b1*100)/a1;
delta:=10^(n+2)-percent*10^n;
Label1.Caption:=IntToStr(delta);
end;



Подправил, там глючок был

Это сообщение отредактировал(а) Femida - 9.7.2005, 20:36


--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Digit
Дата 9.7.2005, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.7.2005

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



Femida, сорри... ступил smile
PM MAIL ICQ   Вверх
mvdr
Дата 9.7.2005, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 42



Digit, работает?


--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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