Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2012, 02:01   #1
Kozak_Aleksei
Пользователь
 
Регистрация: 22.01.2012
Сообщений: 10
По умолчанию повышенный тариф)

люди подскажите как дописать код задачи на си.

есть фирма, которая выплачивает своим сотрудникам за первые 40 часов работы обычную зарплату, и полуторную зарплату за время отработанное сверх 40 часов.

как записать это самое время после 40 часов, и ставку которую нужно будет заплатить.

начало моего кода:

Код:
#include <cstdlib>
#include <iostream>

main()
{ 
      float chasu,tarif,zarplata;
printf("vvedite kolichestvo chasov: (-1 esli vvod zakonchen) \n");
scanf("%f",&chasu);
printf("vvedite pochasovoi tarif rabotnika (00.00$): \n");
scanf("%f",&tarif);
while ( chasu != -1)
{
   zarplata=chasu*tarif;
   if (chasu > 40)
  ?
  ?
  ?
  ?
  ? 
   
     system("PAUSE");
    return 0;
}
подскажите кто знает плз

Последний раз редактировалось Stilet; 23.01.2012 в 09:09.
Kozak_Aleksei вне форума Ответить с цитированием
Старый 23.01.2012, 08:48   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Код:
{
    if (chasu <= 40)
        zarplata = chasu * tarif;
    else
        zarplata = chasu * tarif * 1.5;
    ...
}
ЗЫ Это ж надо так коряво переменную обозвать -- "часу"...
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 23.01.2012, 10:29   #3
9i.
Форумчанин
 
Регистрация: 29.09.2011
Сообщений: 103
По умолчанию

Цитата:
ЗЫ Это ж надо так коряво переменную обозвать -- "часу"...
по-моему, это дело каждого, как ему обзывать переменные, хоть
кетцалькоатль.
9i. вне форума Ответить с цитированием
Старый 23.01.2012, 11:31   #4
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
Сообщение от 9i. Посмотреть сообщение
по-моему, это дело каждого, как ему обзывать переменные, хоть
кетцалькоатль.
Начнем холивор? -)
Переменная должна быть названа так, чтобы потом не было мучительно больно за бесцельно прожитые годы -- так, чтобы можно было сразу понять (или, по-крайней мере, догадаться), что это за переменная, и какое значение она должна хранить.
И тут уже не важно -- программа из 20 строк, про которую забудешь сразу после написания/сдачи, или проект, который разрабатывается в течение нескольких месяцев. Потому что привычка -- штука сильная. Привыкнешь давать названия "с потолка" -- потом хрен переучишься.
Боролся с этим делом у подчиненных/студентов и буду бороться дальше.

Впрочем, это, конечно, личное дело каждого -- усложнять себе жизнь в дальнейшем -)
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 23.01.2012, 11:38   #5
McFrey
Форумчанин
 
Аватар для McFrey
 
Регистрация: 15.10.2011
Сообщений: 306
По умолчанию

Не могу молчать, полностью согласен с Mandrivnyk...ну назовешь ты сейчас допустим переменную "выхухоль" а вернешься через год к этому проекту и низачто не вспомнишь что такое это было.
Если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое...
McFrey вне форума Ответить с цитированием
Старый 23.01.2012, 13:21   #6
arrowsf1
Пользователь
 
Аватар для arrowsf1
 
Регистрация: 22.01.2012
Сообщений: 97
По умолчанию

Цитата:
Сообщение от Mandrivnyk Посмотреть сообщение
Код:
{
    if (chasu <= 40)
        zarplata = chasu * tarif;
    else
        zarplata = chasu * tarif * 1.5;
    ...
}
ЗЫ Это ж надо так коряво переменную обозвать -- "часу"...
читается как часы
Модераторам: не баньте, у мя такие полезные советы, они стоющие
arrowsf1 вне форума Ответить с цитированием
Старый 23.01.2012, 13:38   #7
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
Сообщение от arrowsf1 Посмотреть сообщение
читается как часы
это читается именно "часу".
а вот если есть желание назвать "часы", по правилам транслитерации будет "chasy".
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 23.01.2012, 14:59   #8
Kozak_Aleksei
Пользователь
 
Регистрация: 22.01.2012
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Mandrivnyk Посмотреть сообщение
Код:
{
    if (chasu <= 40)
        zarplata = chasu * tarif;
    else
        zarplata = chasu * tarif * 1.5;
    ...
}
ЗЫ Это ж надо так коряво переменную обозвать -- "часу"...
да ладно тебе. В моём случае хорошо если программа вообще заработает, а как я там что объявил не суть важно
Kozak_Aleksei вне форума Ответить с цитированием
Старый 23.01.2012, 15:08   #9
Kozak_Aleksei
Пользователь
 
Регистрация: 22.01.2012
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Mandrivnyk Посмотреть сообщение
Код:
{
    if (chasu <= 40)
        zarplata = chasu * tarif;
    else
        zarplata = chasu * tarif * 1.5;
    ...
}
ЗЫ Это ж надо так коряво переменную обозвать -- "часу"...
нужно что бы полуторный тариф начислялся только за те часы, которые идут после 40ого. А здесь я так понимаю если изначально введёшь часы > 40, то оно их всех возьмёт по новому тарифу
Kozak_Aleksei вне форума Ответить с цитированием
Старый 23.01.2012, 15:23   #10
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

И? А включить мозг и немного подумать -- никак?
Код:
{
    if (chasu <= 40)
        zarplata = chasu * tarif;
    else
        zarplata =  40 * tarif + (chasu - 40) * tarif * 1.5 
    ...
}
или вообще так:
Код:
{
    zarplata = chasu * tarif;
    if (chasu > 40)
        zarplata += (chasu - 40) * tarif * 0.5;
    ...
}
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц