Форум программистов, компьютерный форум CyberForum.ru

Функции,задачка на стоянку автомобилей,чуть переделать - C++

Восстановить пароль Регистрация
 
LaFlame
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 18
21.03.2013, 22:40     Функции,задачка на стоянку автомобилей,чуть переделать #1
Значит мы вводим время для 3х автомобилей, парковка посуточная, т.е больше 24 ч вводить нельзя!
Так вот..если мы ввели 5,10,24.01 то он выдаёт ошибку,и получается что все 3 времени с ошибкой, нужно чуть переделать,что бы он выдавал ошибку на ту стоку,в которой больше 24 часов,а ост считал и выводил,и писал уже не для 3х автомобилей,а для 2х например и т.д.. просто я так прикинул для 3 автомобилей это ещё можно взять что бы вот так выдавал(3 числа не сложно заного вбить),а если бы программа расчитывалась на 20 автомобилей например..вот..не очень то удобно было бы вводить заного 20 чисел...хотелось бы увидеть,как всё таки можно реализовать то что я написал выше

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#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;
       
}
Функции,задачка на стоянку автомобилей,чуть переделать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2013, 22:40     Функции,задачка на стоянку автомобилей,чуть переделать
Посмотрите здесь:

C++ Закончить прогу. Чуть-чуть осталось
файл вещественных чисел, нужно поравить код совсем чуть-чуть C++
C++ Осталось чуть чуть доделать. Посмотрите
C++ кто желает мне подсобить чуть чуть?
Задачка на функции! C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IrineK
Заблокирован
22.03.2013, 04:46     Функции,задачка на стоянку автомобилей,чуть переделать #2
Для 20 автомобилей пришлось бы, например, копипастить строку 35 20 раз. А представь - для 100?
Чтобы этого избежать существуют циклы. С ними main принимает такой вид:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"");
    const int n = 3;
   float time[n], totalTime = 0;
   float sum[n], totalSum = 0;
   
   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;
    cout << "Введите время стоянки 3-х автомобилей: " << endl;
   
   for (int i=0;i<3;i++)
   {  
      cin >> time[i];
            
      if (time[i] < 0 || time[i] > 24)
      {
         cout << "Error! Повторите ввод!" << endl;
         i--;
         continue;
      }
      else
        {   totalTime += time[i];  
            sum[i] = calculateCharges(time[i]);
            totalSum += sum[i];
      }
   }
 
   cout << setw(10) << "Автомобиль" << setw(10) << "Часы" << setw(10) << "Плата" << endl;
    for (int i=0;i<3;i++)
        cout << setw(10) << i+1 << setw(10) << time[i] << setw(10) << sum[i] << 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;
}



А вообще прога красивая, много внимания уделено выводу - няшно )
LaFlame
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 18
22.03.2013, 09:16  [ТС]     Функции,задачка на стоянку автомобилей,чуть переделать #3
хотелось бы увидеть ещё варианты реализации ( если не сложно,и желательно с функцией)
LaFlame
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 18
23.03.2013, 12:59  [ТС]     Функции,задачка на стоянку автомобилей,чуть переделать #4
неужели не у кого нету больше ни каких мыслей?
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
23.03.2013, 14:52     Функции,задачка на стоянку автомобилей,чуть переделать #5
Цитата Сообщение от LaFlame Посмотреть сообщение
хотелось бы увидеть ещё варианты реализации
Цитата Сообщение от LaFlame Посмотреть сообщение
неужели не у кого нету больше ни каких мыслей?
Мысль: возьми и напиши другие варианты реализаций. Примени циклы, функции, структуры.

Выложи задание, может кто тебе еще чего понапишет.
LaFlame
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 18
23.03.2013, 16:01  [ТС]     Функции,задачка на стоянку автомобилей,чуть переделать #6
Цитата Сообщение от lemegeton Посмотреть сообщение
Мысль: возьми и напиши другие варианты реализаций. Примени циклы, функции, структуры.
Выложи задание, может кто тебе еще чего понапишет.
По заданию всё есть сверху, та и я хочу увидеть способы реализации различные,так зачем мне выкладывать то свои?...хочу увидеть как делают другие,как можно это сделать ещё каким либо способом..не знаю как ещё можно объяснить..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2013, 16:30     Функции,задачка на стоянку автомобилей,чуть переделать
Еще ссылки по теме:

Матрицы не могу доделать, чуть чуть осталось C++
C++ Задачка на процедуры и функции
C++ Изменить значение тех элементов у которых последняя цифра 1 или 2 чуть-чуть осталось

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
c4sp3r
0x5B4C322291BD52AE
 Аватар для c4sp3r
91 / 91 / 5
Регистрация: 04.03.2013
Сообщений: 295
23.03.2013, 16:30     Функции,задачка на стоянку автомобилей,чуть переделать #7
LaFlame, Попробуй введеные значения сохранять в массив и потом в цикле уже считай и выводи при этом если значение больше 24 ч. пропускай или в этой строке выводи сообщение об ошибке.
Yandex
Объявления
23.03.2013, 16:30     Функции,задачка на стоянку автомобилей,чуть переделать
Ответ Создать тему
Опции темы

Текущее время: 16:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru