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

Зацикливание Функции - C++

Восстановить пароль Регистрация
 
LaFlame
0 / 0 / 0
Регистрация: 21.12.2012
Сообщений: 18
21.03.2013, 10:41     Зацикливание Функции #1
После подсчёта спрашивать : "Повторить ? (y/n)", если "y" то в начала цикла с запросом сколько часов..если "n" то выход

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
#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;
   
    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;
   
   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, 10:41     Зацикливание Функции
Посмотрите здесь:

C++ Зацикливание
зацикливание в C++ C++
C++ Зацикливание в программе
зацикливание C++
Зацикливание C++
Cin зацикливание C++
Зацикливание C++
C++ Scanf зацикливание

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
21.03.2013, 10:58     Зацикливание Функции #2
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;
 
_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)" << endl;
       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;
       
}
Yandex
Объявления
21.03.2013, 10:58     Зацикливание Функции
Ответ Создать тему
Опции темы

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