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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Из Делфи в СИ, перепишите решенную задачу из Делфи в СИ 
:(
    Опции темы
Япончик
Дата 20.11.2005, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Условия задачи:
Разработать программу, которая по введенным параметрам рассчитывает стоимость оклейки обой в комнате. Программа должна содержать след. меню:
1) Вввод длины и ширины комнаты.
2) Ввод количества окон в комнате
3) Ввод количества двернух проемов в комнатах.
4) Ввод стоимости обойной трубки (у.е.).
5) Расчет площади оклейки.
6) Расчет необх. количества обойных трубок.
7) Расчет стоимости оклейки (с учетом клея).
8) Выход из программы.
Справка. Окна имеют стандартные размеры 2,15 х 1, 50 м., дверные проемы 0,90 х 2,05 м., высоту потолков принять 2,60 м. Ширина обойной трубки составляет 0,5 м. Стоимость одного пакета обойного клея равна 2,5 у.е., его хватает на 5 трубок.
*** Здесь не указана длина обойной трубки, поэтому ее просто не учитываем, оставляем один параметр - ШИРИНУ, если нам надо вычислить площадь одной трубки. принять площадь обойной трубки равной ШИРИНЕ обойной трубки.


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;

***
Соблюдать следующие условия:

1. Программа должна быть логично разбита на функции.
2. Программу нужно реализовать в виде текстового меню, для каждого пункта которого необходимо разработать собственную функцию.
3. Все действия пользователя должны обрабатываться программой, при вводе им некорректных данных должно выводиться соответствующее сообщение;
4. До ввода пользователем корректных входных данных другие функции программы должны оставаться недоступными;
5. Пользователь должен иметь возможность ввести входные данные несколько раз без перезапуска программы;
6. Программа должна общаться с пользователем на понятном ему языке. Все надписи должны быть на русском языке (в случае, если он не поддерживается средой программирования, – на правильном английском).

PM MAIL   Вверх
nikitao
Дата 20.11.2005, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Япончик,ты наверное имел ввиду надо из Дельфи в VC++ bkb d C++ Builder?
или
Цитата
2. Программу нужно реализовать в виде текстового меню, для каждого пункта которого необходимо разработать собственную функцию.

означает,что можно в консоле делать?
smile

Мы же вроде делвли такую задачу??? smile

Это сообщение отредактировал(а) nikitao - 20.11.2005, 13:17


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


Эксперт
****


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

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



Да это целый проектище smile ! Может лучше в Дельфи оставить?
PM MAIL   Вверх
Япончик
Дата 21.11.2005, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Никитао, нет. ну обычно, как в СИ делается? вот так и делать. там SWITCH и вперед...
Добавлено @ 13:19
Цитата(Perchilla @ 20.11.2005, 14:51)
Да это целый проектище smile ! Может лучше в Дельфи оставить?

нет, не проектище. это я для себя ее решил на Делфи, чтобы получшее ее понять, это задачу.
а вот в СИ я полный новичек... прошу вашей помощи.
PM MAIL   Вверх
Япончик
Дата 23.11.2005, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



неужели никто не поможет? там все меню из SWITCH и BREAK, а каждую "подзадачу" в отдельную функцию записать...
smile
PM MAIL   Вверх
nikitao
Дата 24.11.2005, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата
неужели никто не поможет? там все меню из SWITCH и BREAK, а каждую "подзадачу" в отдельную функцию записать...

Япончик,Так ты все сам знаешь smile Напрягись,осталось немного и ты сам ее осилишь smile




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


Новичок



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

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



Цитата(nikitao @ 24.11.2005, 21:17)
Цитата
неужели никто не поможет? там все меню из SWITCH и BREAK, а каждую "подзадачу" в отдельную функцию записать...

Япончик,Так ты все сам знаешь smile Напрягись,осталось немного и ты сам ее осилишь smile

балин, так я кроме этого иичего и не знаю... ((((((
PM MAIL   Вверх
Япончик
Дата 29.11.2005, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код
#include <stdio.h>
#include <ctype.h>
#include <math.h>

void fun1(void);
void fun5(void);

main()

{

 int choice;


printf("\nEnter A - to enter length and width of the room\n");
printf("Enter B - to enter the window's amount\n");
printf("Enter C - to enter the door's amount\n");
printf("Enter D - to enter the cost of tube\n");
printf("Enter E - to see the square of tacky \n");
printf("Enter F - to see the amount of tubes\n");
printf("Enter G - to see the cost of tacky\n");
printf("Enter H - to quit\n");


choice=toupper(getchar());

switch (choice) {

 case 'A' :
 fun1();
 break;

 case 'B' :
 double fun5(double s1);
 break;
 }

 return 0;

}

 void fun1(void)
 {
  double l,w;
  printf("\nEnter length\n");
  scanf("%lf", &l);
  printf("\nEnter width\n");
  scanf("%lf",&w);
 }


 double fun5(double s1)
 {
   /*all the square*/
  printf("%lf",s1);
 }

Добавлено @ 21:03
люди, я выше скинул приблизительный образец... дальше мне не думается...
доделайте, пожалуйста... smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

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


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

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

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

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


 




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


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

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