![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Япончик |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
Досовская версия СИ.
Такая задача. Прошу подсказать хоть чуток, как ее написать, т.е. набросать ее схему. Задача следующая: Разработать программу, которая п овведенным параметрам рассчитывает стоимость оклейки обой в комнате .Программа должна содержать следующее меню: 1) Ввод длины и ширины комнаты. 2) Ввод количества окон в комнате. 3) Ввод количества дверных проемов в комнатах. 4) Ввод стоимости обойной трубки ($). 5) Расчет площади оклейки. 6) Расчет необходимого количества обойных трубок. 7) Расчет стоимости подклейки (с учетом клея). 8) Выход из программы. *** Справка. Окна имеют стандартные размеры 2,15 х 1,50 м., дверные проемы 0,90 х 2,05 м., высоту потолков принять - 2, 60 м. Ширина обойной трубки составляет 0,5 м. Стоимость 1 пакета обойного клея равна 2,5 $, его хватает на 5 трубок. СПАСИБО. |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: нет Всего: 93 |
Что-то интересного я в ней вообще ничего не заметил.
Обманываете, гражданин. -------------------- Да. Именно так. |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 5 Всего: 134 |
схема проста - 1) инициализация 2) основной цикл 3) выход Здесь непримечательную, как правильно заметил Дрон, задачу полностью писать будут навряд ли. Может есть конкретные вопросы? -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 3 Всего: 26 |
Япончик ,На будущее:c такими темами в центр помощи обращаться следует.
А вообще что в ней не понятного: Скажем плочадь поклейки высчитывается по такой формуле: S=2*2.60*(a+b)-c*2.15*1.5-d*0,9*2.05 a-длина b-ширина с-кол-во окон d-кол-во дверей. Или ты не можешь разабраться как написать прогу с точки зрения програмного кода?(в смысле плохо знаешь С\С++)? -------------------- Жизнь - печальная штука. |
|||
|
||||
| Япончик |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
Да, с математикой проблем не испытываю по данной задаче. мне интересна схема ее решения. вот оператор case, как он будет работать в данном случае? с ним должен быть break, тже как - то выводить из цикла должен... вот такого плана вопросы. я просил схему набрасать, а не математически или полностью ее решать. (набрасать именно в плане оформления).функции и т.д. |
|||
|
||||
| nikitao |
|
|||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 3 Всего: 26 |
Ну,если я тебя правельно понял ,то тебе вот что нужно:
1.Такие величины как высота потолка,плочадь окон и дверей записываешь в константы с помощью #define 2.Обьявляешь 6 глобальных переменных(длина,ширина,кол-во окон,кол-во дверей,стоймость трубки,номер пункта(можно локальным)) 3.В main всабачиваешь меню(вывод выбора пункта и при правельном выборе загрузка соответствующей функции с помощью switch.Чтобы пользователь всегда возвращаля в меню,надо main зафигарить бесконечный цикл. 4.Создаешь соответствующие функции в которые добовляешь ,если надо ввод данных,если не надо:подсчет по формуле и вывод данных. 5.Кря кря 6.Скажем break осуществляет выход только из одного цикла т е если один вложен в другой и ты вызовешь break из 2 то из 1 ты не выйдешь. -------------------- Жизнь - печальная штука. |
|||
|
||||
| Япончик |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
вот, человек, большое тебе спасибо. вот это я и хотел услышать, это мне очень поможет.
у тебя ася есть? сообщи номер или напиши на 678518. |
|||
|
||||
| nikitao |
|
||||
![]() Кот-программист ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1206 Регистрация: 30.8.2005 Где: Спб Репутация: 3 Всего: 26 |
Всегда рад помоч.
Не пользуюсь(у меня воще малоскоростной интернет). Это сообщение отредактировал(а) nikitao - 5.10.2005, 18:37 -------------------- Жизнь - печальная штука. |
||||
|
|||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 1 Всего: 19 |
Просто похоже человек сам еще не увидел парочку подводных камней в этой задаче 1. Как быть с длиной рулонна обойев ? ;) 2. Если нужено ОПТИМАЛЬНОЕ решение, то алгоритм получаеться намного сложней, и к данным надо добавить информацию о расположении проемов и окон. А если это не считать, а просто вычислять площадь, то тогда информация о проемах вообще не нужна |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
если нужно оптимальное решение -- еще ии об узоре информация нужна ( части узоров на двух соседних полотнах должны совпадать ). хотя обычно делают проще -- дают + 20% на подбор...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Япончик |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
буду думать....
|
|||
|
||||
| Япончик |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
вроде мысли есть, но не знаю еще. нет, такой уже точности здесь не потребуется, склеивать уголки ( или узор) или т.п.
|
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 165 |
Модератор: перенесено из C++:Общие вопросы.
--------------------
|
|||
|
||||
| Япончик |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
Вот я решил эту задачу на Делфи, посмотрите, пожалуйста, может, какие ошибки есть...
Теперь самая большая проблема - перенести ее на Си procedure TForm1.Button1Click(Sender: TObject); var a,b,c,d,e,h,g,n,s1,s2,s3,s4 : extended; begin a:=strtofloat(edit1.text); // длина комнаты b:=strtofloat(edit2.text); // ширина комнаты c:=strtofloat(edit3.text); // количество окон d:=strtofloat(edit4.text); // количество дверей e:=strtoint(edit5.text); // стоимость трубки s1:=5.2*(a+b); // площадь всей комнаты s2:=3.225*c+1.845*d; //площадь окон + дверей s3:=s1-s2; // площадь для оклейки n:=2*s3; // необходимле количество трубок g:=n/5; // количество пакетиков клея h:=2.5*g; // стоимость всех пакетиков s4:=n*e+h; memo1.lines.add('Надо обклеить площадь в метров: ' + floattostr(s3)+ 'трубок: ' + floattostr(n) + ' всего мы затратим: ' + floattostr(s4)); end; end. |
|||
|
||||
| vadims |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 8.6.2005 Репутация: нет Всего: 17 |
В математику вникать не могу, перевод же элементарен
. почти везде на -> := на = ' на "" extended на double strtofloat на StrToFloat floattostr на FloatToStr стандартные свойства и методы начинаются с заглавной буквы, те Add, Lines, Text итого void __fastcall TForm1::Button1Click(TObject *Sender) { double a,b,c,d,e,h,g,n,s1,s2,s3,s4; a = StrToFloat(edit1->Text); // a:=strtofloat(edit1.text); // длина комнаты ... // b:=strtofloat(edit2.text); // ширина комнаты // c:=strtofloat(edit3.text); // количество окон // d:=strtofloat(edit4.text); // количество дверей // e:=strtoint(edit5.text); // стоимость трубки s1 =5.2*(a+b); // s1:=5.2*(a+b); // площадь всей комнаты s1:=5.2* // (a+b); // площадь всей комнаты ... // s2:=3.225*c+1.845*d; //площадь окон + дверей // s3:=s1-s2; // площадь для оклейки // n:=2*s3; // необходимле количество трубок // g:=n/5; // количество пакетиков клея // h:=2.5*g; // стоимость всех пакетиков // s4:=n*e+h; memo1->Lines->Add("Надо обклеить площадь в метров: " + FloatToStr(s3)+ "трубок: " + FloatToStr(n) + " всего мы затратим: " + FloatToStr(s4)); } Это сообщение отредактировал(а) vadims - 8.10.2005, 10:01 -------------------- Cpu not found ! Press any key for software emulation. |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |