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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2013, 09:20   #1
Smo
 
Регистрация: 21.12.2012
Сообщений: 3
Восклицание Функции, стоянка автомобилей,чуть переделать

Значит мы вводим время для 3х автомобилей, парковка посуточная, т.е больше 24 ч вводить нельзя!
Так вот..если мы ввели 5,10,24.01 то он выдаёт ошибку,и получается что все 3 времени с ошибкой, нужно чуть переделать,что бы он выдавал ошибку на ту стоку,в которой больше 24 часов,а ост считал и выводил,и писал уже не для 3х автомобилей,а для 2х например и т.д.. просто я так прикинул для 3 автомобилей это ещё можно взять что бы вот так выдавал(3 числа не сложно заного вбить),а если бы программа расчитывалась на 20 автомобилей например..вот..не очень то удобно было бы вводить заного 20 чисел...хотелось бы увидеть,как всё таки можно реализовать то что я написал выше

Код:
#include "iostream"
#include "iomanip"
#include "math.h"
float calculateCharges(float);
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"");
   float time1, time2, time3, totalTime;
   float sum1, sum2, sum3, totalSum;
   
   while(1)
   {
    cout<< "\t" << "Посуточная парковка!!!\n" << endl;
    cout << setw(10) << "Максимальная плата за сутки" << setw(10) << "$10.00" << endl;
    cout << setw(10) << "Стоянка до 3х часов" << setw(17) << "$2.00" << endl; 
    cout << setw(10) << "Стоянка более 3х часов" << setw(15) << "*$0.50\n" << endl;
    
   
   for (;;)
   {
      cout << "Введите время стоянки 3-х автомобилей: " << endl;
      cin >> time1 >> time2 >> time3;
            
      if (time1 < 0 || time1 > 24 || time2 < 0 || time2 > 24 || time3 < 0 || time3 > 24)
      {
         cout << "Error! Повторите ввод!" << endl;
         continue;
      }
       break;
   }
     totalTime = time1 + time2 + time3;   
 
   sum1 = calculateCharges(time1);
   sum2 = calculateCharges(time2);
   sum3 = calculateCharges(time3);
   
   totalSum = sum1 + sum2 + sum3;
   
  
   cout << setw(10) << "Автомобиль" << setw(10) << "Часы" << setw(10) << "Плата" << endl;
   cout << setw(10) << "1" << setw(10) << time1 << setw(10) << sum1 << endl;
   cout << setw(10) << "2" << setw(10) << time2 << setw(10) << sum2 << endl;
   cout << setw(10) << "3" << setw(10) << time3 << setw(10) << sum3 << endl;   
   cout << setw(10) << "Итого: " << setw(10) << totalTime << setw(10) << totalSum << endl;
   cout << "Повторить ? (y/n): ";
       char c;
       cin >> c;
       if (c == 'y')
           continue;
       if (c == 'n')
           break;
   }
   return 0;
}
 
float calculateCharges(float timeSt)
{
    
   float sum;
    
   if (timeSt > 0 && timeSt <= 3)
      sum = 2.00;   
   else if (timeSt > 3 && timeSt < 24)
   {      
      sum = ceil(timeSt - 3) * 0.50 + 2.00;      
      
      if (sum > 10)
         sum = 10;
   }
     else if (timeSt == 24)
      sum = 10.00;
   
     else
      sum = 0;   
        
   return sum;
       
}
Cars.jpg
Smo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно дописать программу, примерно 90% сделано, осталось чуть чуть Xerxes Фриланс 2 31.01.2011 23:27
График функции на паскале, чуть-чуть поправить momentow Помощь студентам 1 28.12.2010 01:28
программа часы,надо чуть-чуть переделать RadioDream Помощь студентам 1 21.10.2010 19:29
нашел поиском нужный макрос, чуть чуть бы доработать zander Microsoft Office Excel 3 30.09.2009 12:19