Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.11.2009, 09:01
Lucky! Lucky! вне форума
Прохожий
 
Регистрация: 22.11.2009
Сообщения: 8
Репутация: 10
Печаль Произвести анализ веса

Помогите пожалуйста решить задачу!!!

Произвести анализ веса при расчете оптимального равного росту минус 100. Выести сообщения следующего характера.Если разница составляет

1.(больше -15) кг- "Кто же вас так довел"
2.-(15-10) кг-"Вас не мешало бы поправиться"
3.(=0) -"Вы стройны как газель"
4.(0-15)-"Вам надо заниматься гимнастикой"
5.(16-25)-"Вам надо меньше кушать"
6.(>25)-"С этим надо что то делать"

Помогите плз!!! Просто с CASE OF не очень понимаю!!! пытался делать но не получалось!!! А надо блин именно через CASE Заранее Спасибо!!!

Последний раз редактировалось Lucky!, 22.11.2009 в 12:23.
Ответить с цитированием
  #2  
Старый 22.11.2009, 12:15
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию 1

Можно использовать if.
Вот например для 4-ого условия:

Цитата:
procedure TForm1.Button1Click(Sender: TObject);
Var
U: Integer;
begin
U:= 10;
if (0 < U)AND(U < 15) Then // (0 < U < 15);
MessageBox(Application.Handle,
'Вам надо заниматься гимнастикой.',
'Сообщение.',
MB_OK + MB_ICONINFORMATION);
end;
Ответить с цитированием
  #3  
Старый 22.11.2009, 12:24
Lucky! Lucky! вне форума
Прохожий
 
Регистрация: 22.11.2009
Сообщения: 8
Репутация: 10
По умолчанию

Большое спасибо!!!! Огромное!!! Просто мне надо через CASE ОБЯЗАТЕЛЬНО ПРИЧЕМ)!!!! Но все равно Спасибо!
Ответить с цитированием
  #4  
Старый 22.11.2009, 14:05
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Тогда наверное так, только я немножко подправил условие 2 что-бы дырки небыло.
Код:
Var
  Msg: String;
  Weight,Height: Integer;
begin
 Height := 90+Random(70);
 Weight := Height-100;
 case Weight
 of -90..-16: Msg := 'Кто же вас так довел';
     -15..-1: Msg := 'Вам не мешало бы поправиться';
           0: Msg := 'Вы стройны как газель';
       1..15: Msg := 'Вам надо заниматься гимнастикой';
      16..25: Msg := 'Вам надо меньше кушать';
         else Msg := 'С этим надо что то делать';
 end;
 ShowMessage(Format('Ваш вес %d, Совет - %s',[Weight,Msg]));
end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 23.11.2009, 06:49
Lucky! Lucky! вне форума
Прохожий
 
Регистрация: 22.11.2009
Сообщения: 8
Репутация: 10
По умолчанию

Спасибо большое!!! вот почти правильно! там вообще надо вводить вес и рост! и от роста должно отниматься 100 и сравниваться с весом ну и если к примеру рост 180 и вес 100!! то 20 кг лишнего веса!!! вот такая штука! а ты как то сделал я немного не понял!!!
Ответить с цитированием
  #6  
Старый 23.11.2009, 07:50
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Что-бы не заморачиваться с вводом у меня случайным образом генерится значение роста в диапазоне от 90 до 169:
Код:
 Height := 90+Random(70);
Ну а дальше по условию,за исключением вот этого:
Цитата:
2.-(15-10) кг-"Вас не мешало бы поправиться"

Если сделать именно так, то если вес между -9..-1 он вообще никак не обрабатывается. Пришлось немножко схитрить.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 23.11.2009 в 08:01.
Ответить с цитированием
  #7  
Старый 23.11.2009, 08:10
Lucky! Lucky! вне форума
Прохожий
 
Регистрация: 22.11.2009
Сообщения: 8
Репутация: 10
По умолчанию

Спасибо тебе!!! Очень меня выручил!!!!
Ответить с цитированием
  #8  
Старый 23.11.2009, 10:13
Lucky! Lucky! вне форума
Прохожий
 
Регистрация: 22.11.2009
Сообщения: 8
Репутация: 10
По умолчанию

слушай всё равно что то не так!!! все значения одинаковые постоянно вылазят! сколько не ищменял что то не получается!!! там вес выдаеться а должен быть остаток!!! если к примеру 190 рост и 100 вес! то изчлишка 10кг! он должен вот это выдавать! я че то помутил нихрена не получаеться!!!
Ответить с цитированием
  #9  
Старый 23.11.2009, 11:07
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Позволю себе подправить код Страдалецъ...для большей наглядности с коментами...
Код:
Var
  Msg: String;//Сообщение
  Weight,Height: Integer;//Вес, рост
  Difference : Integer;//Разницв
begin
 Height := StrToInt(Edit1.Text);//Рост
 Weight := StrToInt(Edit2.Text);//Вес
 Height := Height - 100;//Рост -100
 Difference := Weight-Height;//Разница
 case Difference//Значение разницы
 of -90..-16: Msg := 'Недостаток веса кто же вас так довел';
     -15..-1: Msg := 'Недостаток веса ам не мешало бы поправиться';
           0: Msg := 'Номальный вес Вы стройны как газель';
       1..15: Msg := 'Излишек веса Вам надо заниматься гимнастикой';
      16..25: Msg := 'Излишек веса Вам надо меньше кушать';
         else Msg := 'Излишек веса с этим надо что то делать';
 end;
 ShowMessage(Format('Контрольное число %d, %s',[Difference,Msg]));
end;
Проверил вроде работает...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #10  
Старый 23.11.2009, 11:27
Lucky! Lucky! вне форума
Прохожий
 
Регистрация: 22.11.2009
Сообщения: 8
Репутация: 10
По умолчанию

Это просто то что надо!!!!!!!! Просто супер!!! Спасибо!!!!!!!!!
Ответить с цитированием
  #11  
Старый 23.11.2009, 11:34
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

За спасибо пожалуйста...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #12  
Старый 23.11.2009, 14:16
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Вообще-то про вес или излишки веса в числовом измерении у вас в первоначальном задании ничего нет.
Ну исправили и ладно.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #13  
Старый 23.11.2009, 17:00
Lucky! Lucky! вне форума
Прохожий
 
Регистрация: 22.11.2009
Сообщения: 8
Репутация: 10
По умолчанию

да условие не очень составленно!!! а вам парни огрмное спасибо еще раз! не ожидал что кто то поможет!!! мир не без добрых людей!!! в универе опять дали задачу! жесть!!! вот буду думать как её осилить!!!)
Ответить с цитированием
  #14  
Старый 23.11.2009, 17:20
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Ну думай, думай)))
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:03.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025