Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Интересная задача, Как оформляются подобные задачи? 
:(
    Опции темы
Япончик
Дата 5.10.2005, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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 трубок.

СПАСИБО.
PM MAIL   Вверх
Дрон
Дата 5.10.2005, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


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

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



Что-то интересного я в ней вообще ничего не заметил.

Обманываете, гражданин.


--------------------
Да. Именно так.
PM   Вверх
Mayk
Дата 5.10.2005, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


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

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



Цитата
Прошу подсказать хоть чуток, как ее написать

схема проста -
1) инициализация
2) основной цикл
3) выход


Здесь непримечательную, как правильно заметил Дрон, задачу полностью писать будут навряд ли.
Может есть конкретные вопросы?


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
nikitao
Дата 5.10.2005, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 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-кол-во дверей.

Или ты не можешь разабраться как написать прогу с точки зрения програмного кода?(в смысле плохо знаешь С\С++)?


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
Япончик
Дата 5.10.2005, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(nikitao @ 5.10.2005, 16:26)
Или ты не можешь разабраться как написать прогу с точки зрения програмного кода?(в смысле плохо знаешь С\С++)?

Да, с математикой проблем не испытываю по данной задаче. мне интересна схема ее решения.
вот оператор case, как он будет работать в данном случае? с ним должен быть break, тже как - то выводить из цикла должен... вот такого плана вопросы. я просил схему набрасать, а не математически или полностью ее решать. (набрасать именно в плане оформления).функции и т.д.
PM MAIL   Вверх
nikitao
Дата 5.10.2005, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

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



Ну,если я тебя правельно понял ,то тебе вот что нужно:
1.Такие величины как высота потолка,плочадь окон и дверей записываешь в константы с помощью #define
2.Обьявляешь 6 глобальных переменных(длина,ширина,кол-во окон,кол-во дверей,стоймость трубки,номер пункта(можно локальным))
3.В main всабачиваешь меню(вывод выбора пункта и при правельном выборе загрузка соответствующей функции с помощью switch.Чтобы пользователь всегда возвращаля в меню,надо main зафигарить бесконечный цикл.
4.Создаешь соответствующие функции в которые добовляешь ,если надо ввод данных,если не надо:подсчет по формуле и вывод данных.
5.Кря кря
6.Скажем break осуществляет выход только из одного цикла т е если один вложен в другой и ты вызовешь break из 2 то из 1 ты не выйдешь.


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
Япончик
Дата 5.10.2005, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



вот, человек, большое тебе спасибо. вот это я и хотел услышать, это мне очень поможет.
у тебя ася есть? сообщи номер или напиши на 678518.
PM MAIL   Вверх
nikitao
Дата 5.10.2005, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

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



Цитата
вот, человек, большое тебе спасибо. вот это я и хотел услышать, это мне очень поможет.


Всегда рад помоч.


Цитата
у тебя ася есть? сообщи номер или напиши на 678518

Не пользуюсь(у меня воще малоскоростной интернет).


Это сообщение отредактировал(а) nikitao - 5.10.2005, 18:37


--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
Mad
Дата 6.10.2005, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

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



Цитата
Что-то интересного я в ней вообще ничего не заметил.

Просто похоже человек сам еще не увидел парочку подводных камней в этой задаче smile

1. Как быть с длиной рулонна обойев ? ;)
2. Если нужено ОПТИМАЛЬНОЕ решение, то алгоритм получаеться намного сложней, и к данным надо добавить информацию о расположении проемов и окон.

А если это не считать, а просто вычислять площадь, то тогда информация о проемах вообще не нужна smile


--------------------
user posted image
PM MAIL   Вверх
_hunter
Дата 6.10.2005, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



если нужно оптимальное решение -- еще ии об узоре информация нужна ( части узоров на двух соседних полотнах должны совпадать ). хотя обычно делают проще -- дают + 20% на подбор...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Япончик
Дата 6.10.2005, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



буду думать.... smile
PM MAIL   Вверх
Япончик
Дата 6.10.2005, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



вроде мысли есть, но не знаю еще. нет, такой уже точности здесь не потребуется, склеивать уголки ( или узор) или т.п.
PM MAIL   Вверх
chipset
Дата 7.10.2005, 06:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

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



Модератор: перенесено из C++:Общие вопросы.


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Япончик
Дата 8.10.2005, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот я решил эту задачу на Делфи, посмотрите, пожалуйста, может, какие ошибки есть...
Теперь самая большая проблема - перенести ее на Си smile

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.
PM MAIL   Вверх
vadims
Дата 8.10.2005, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

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

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


 




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


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

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