Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Vacho_87
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 8
1

Некорректная работа команды continue в цикле при проверке корректности введенных данных

25.09.2016, 23:55. Просмотров 286. Ответов 7
Метки нет (Все метки)

Доброго времени суток, уважаемые форумчане. Есть программа для определения количества купюр (монет) того или иного номинала, которое необходимо иметь в наличии для того, чтобы выдать наличными деньгами некоторое количество (различных) сумм некоторому количеству получателей без сдачи. В строках 36-40 я попытался реализовать защиту от неверного ввода данных в переменную fSummaKvydache (потому как при попытке ввести сумму например 12 рублей 50 копеек, отделив копейки от рублей запятой программа "зацикливается", если можно так сказать). Однако конструкция, приведенная в строках 36-40 не помогла (я ожидал от ее исполнения вывод сообщения об ошибке и перезапуск цикла заново, т.е. новое приглашение ввести сумму) в результате сообщение об ошибке выводится, цикл перезапускается как и положено со строки 34 но строка 35, я так понимаю, не выполняется и программа опять "зацикливается", при этом в "цикл" добавляется сообщение об ошибке.
Подскажите, пожалуйста, что я делаю не так.
Это моя первая самостоятельно написанная программа, поэтому буду благодарен за любые советы/замечания по оптимизации (лучшей реализации) задуманного алгоритма.
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#include <iostream>
 
using namespace std;
 
int main()
{
    // Команда настройки распознавания КИРИЛИЦЫ
    setlocale(0, "Rus");
    // Объявляю константы, соответствующие номиналам купюр (монет)
    float c1=20, c2=10, c3=5, c4=2, c5=1,
    c6=0.5, c7=0.2, c8=0.1, c9=0.05, c10=0.02, c11=0.01;
    // Объявляю переменные для подсчета количества купюр nAmount1 (накапливает значения)
    // и nAmount11 для промежуточного подсчета
    int nAmount1=0,nAmount2=0,nAmount3=0,nAmount4=0,nAmount5=0,nAmount6=0,nAmount7=0,
    nAmount8=0,nAmount9=0,nAmount10=0,nAmount11=0,nAmount01=0,nAmount02=0,nAmount03=0
    ,nAmount04=0,nAmount05=0,nAmount06=0,nAmount07=0,nAmount08=0,nAmount09=0,nAmount010=0
    ,nAmount011=0;
    // Переменная для ввода суммы для получения каждым из n...получателей
    float fSummaKvydache;
    // Переменная для ввода количества n...получателей указанной выше суммы
    int nKolichestvoPolucateley;
    // Временная переменная используемая в каждом
    // подцикле работы программы по вычленению каждого номинала
    // для последующего уменьшения значения переменной fSummaKvydache
    int nNunberOfCoinsTemp;
    // Переменная для вывода и проверки общей суммы наличных к получению
    float fSummaKpolucheniuTest;
    cout <<"!!! ВНИМАНИЕ!!! при вводе суммы рубли от копеек отделяйте  ТОЧКОЙ\n\n";
    // Вводится цикл управления программой
    // пока значение переменной управления циклом nOperator,
    // вводимое пользователем, равно единице цикл программы повторяется
    for (int nOperator=1;nOperator==1; )
        {
    cout <<"Введите сумму к выплате одному получателю:";
    cin >> fSummaKvydache;
    if (cin.fail())
    {
     cout <<"!!!ВНИМАНИЕ ОШИБКА!!!\n Вы некорректно ввели сумму \n Рубли от копеек отделяйте ТОЧКОЙ. \n";
     continue;
    }
    cout <<"Введите количество получателей введенной суммы:";
    cin >> nKolichestvoPolucateley;
    cout <<"\n";
    // Подсчет количества купюр каждого номинала
    // по каждой введенной сумме к выдаче с учетом количества получателей каждой суммы
    // Уменьшение переменной СуммаКвыдаче на сумму 
    nAmount01 = fSummaKvydache/c1;
    nAmount01 = nAmount01 *nKolichestvoPolucateley;
    nAmount1 = nAmount1 + nAmount01;
    nNunberOfCoinsTemp = fSummaKvydache/c1;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c1;
 
    nAmount02 = fSummaKvydache/c2;
    nAmount02 = nAmount02 *nKolichestvoPolucateley;
    nAmount2 = nAmount2 + nAmount02;
    nNunberOfCoinsTemp = fSummaKvydache/c2;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c2;
 
    nAmount03 = fSummaKvydache/c3;
    nAmount03 = nAmount03 *nKolichestvoPolucateley;
    nAmount3 = nAmount3 + nAmount03;
    nNunberOfCoinsTemp = fSummaKvydache/c3;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c3;
 
    nAmount04 =  fSummaKvydache/c4;
    nAmount04 = nAmount04 *nKolichestvoPolucateley;
    nAmount4 = nAmount4 + nAmount04;
    nNunberOfCoinsTemp = fSummaKvydache/c4;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c4;
 
    nAmount05 = fSummaKvydache/c5;
    nAmount05 = nAmount05 *nKolichestvoPolucateley;
    nAmount5 = nAmount5 + nAmount05;
    nNunberOfCoinsTemp = fSummaKvydache/c5;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c5;
 
    nAmount06 = fSummaKvydache/c6;
    nAmount06 = nAmount06 *nKolichestvoPolucateley;
    nAmount6 = nAmount6 + nAmount06;
    nNunberOfCoinsTemp = fSummaKvydache/c6;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c6;
 
    nAmount07 = fSummaKvydache/c7;
    nAmount07 = nAmount07 *nKolichestvoPolucateley;
    nAmount7 = nAmount7 + nAmount07;
    nNunberOfCoinsTemp = fSummaKvydache/c7;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c7;
 
    nAmount08 = fSummaKvydache/c8;
    nAmount08 = nAmount08 *nKolichestvoPolucateley;
    nAmount8 = nAmount8 + nAmount08;
    nNunberOfCoinsTemp = fSummaKvydache/c8;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c8;
 
    nAmount09 = fSummaKvydache/c9;
    nAmount09 = nAmount09 *nKolichestvoPolucateley;
    nAmount9 = nAmount9 + nAmount09;
    nNunberOfCoinsTemp = fSummaKvydache/c9;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c9;
 
    nAmount010 = fSummaKvydache/c10;
    nAmount010 = nAmount010 *nKolichestvoPolucateley;
    nAmount10 = nAmount10 + nAmount010;
    nNunberOfCoinsTemp = fSummaKvydache/c10;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c10;
 
    // В следующей строке корректируется погрешность, почему-то возникающая
    // при выполнении вышеописанных операций с дробной частью переменной fSummaKvydache
    nAmount011 = (fSummaKvydache+0.0001)/c11;
    nAmount011 = nAmount011 *nKolichestvoPolucateley;
    nAmount11 = nAmount11 + nAmount011;
    nNunberOfCoinsTemp = fSummaKvydache/c11;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c11;
 
    cout << "Для продолжения ввода данных введите 1, \n";
    cout << "для окончания работы введите любое другое число:";
    cin >> nOperator;
    cout <<"\n";
    }
    // Подсчет итговой суммы к получению из суммы произведений
    // номиналов купюр на их количество
    fSummaKpolucheniuTest =  c1*nAmount1+c2*nAmount2+c3*nAmount3+c4*nAmount4+
c5*nAmount5+c6*nAmount6+c7*nAmount7+c8*nAmount8+c9*nAmount9+c10*nAmount10+c11*nAmount11;
    // Вывод результатов работы программы
    cout << "Рекомендую Вам получить купюры и монеты следующих номиналов: \n \n";
    cout << "\t 20 рублей - " << nAmount1 << "\n";
    cout << "\t 10 рублей - " << nAmount2 << "\n";
    cout << "\t 5  рублей - " << nAmount3 << "\n";
    cout << "\t 2  рубля  - " << nAmount4 << "\n";
    cout << "\t 1  рубль  - " << nAmount5 << "\n";
    cout << "\t 50 копеек - " << nAmount6 << "\n";
    cout << "\t 20 копеек - " << nAmount7 << "\n";
    cout << "\t 10 копеек - " << nAmount8 << "\n";
    cout << "\t 5  копеек - " << nAmount9 << "\n";
    cout << "\t 2  копейки- " << nAmount10 << "\n";
    cout << "\t 1  копейка- " << nAmount11 << "\n";
    cout << "\t Общая сумма к получению: " << fSummaKpolucheniuTest << "\n\n";
 
    cout << "для выхода введите любую цифру: ";
    cin >> fSummaKvydache;
 
    return 0;
 
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2016, 23:55
Ответы с готовыми решениями:

Проверка корректности введенных данных
Всем привет. Есть задача: Список товаров, имеющихся на складе, включает в себя...

Проверка корректности введенных данных
Здравствуйте, возникла такая проблема - в программе, на языке Си, необходимо реализовать проверку...

Контроль корректности введенных данных в PropertyGrid
Здравствуйте! Задача заключается в том, чтобы в поле PropertyGrid можно было вносить только цифры в...

Форма регистрации, проверка корректности введенных данных
// JScript source code var fio, age, email, pol; var test = 0; var MyGo = true; var DOT = 0;...

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

7
nd2
3084 / 2582 / 1129
Регистрация: 29.01.2016
Сообщений: 8,656
26.09.2016, 01:07 2
Цитата Сообщение от Vacho_87 Посмотреть сообщение
C++
1
2
3
4
5
6
cin >> fSummaKvydache;
 if (cin.fail())
{
cout <<"!!!ВНИМАНИЕ ОШИБКА!!!\n Вы некорректно ввели сумму \n Рубли от копеек отделяйте ТОЧКОЙ. \n";
continue;
}
C++
1
2
3
4
5
6
7
    if (!(cin >> fSummaKvydache) || cin.peek() != '\n')
    {
        cout <<"!!!ВНИМАНИЕ ОШИБКА!!!\n Вы некорректно ввели сумму \n Рубли от копеек отделяйте ТОЧКОЙ. \n";
        cin.clear();
        while (cin.get() != '\n');
        continue;
    }
Добавлено через 1 час 0 минут
Цитата Сообщение от Vacho_87 Посмотреть сообщение
В строках 36-40 я попытался реализовать защиту от неверного ввода данных в переменную fSummaKvydache (потому как при попытке ввести сумму например 12 рублей 50 копеек, отделив копейки от рублей запятой программа "зацикливается", если можно так сказать). Однако конструкция, приведенная в строках 36-40 не помогла (я ожидал от ее исполнения вывод сообщения об ошибке и перезапуск цикла заново, т.е. новое приглашение ввести сумму) в результате сообщение об ошибке выводится, цикл перезапускается как и положено со строки 34 но строка 35, я так понимаю, не выполняется и программа опять "зацикливается", при этом в "цикл" добавляется сообщение об ошибке.
Подскажите, пожалуйста, что я делаю не так.
Если ввести сумму, отделив копейки от рублей запятой, то ошибки в потоке ввода не будет, поэтому конструкция if (cin.fail()) не сработает. Сумма рублей будет прочитана в переменную, остальное останется в очереди ввода. А вот при следующей итерации, когда первой в очереди чтения будет запятая, в потоке установится флаг ошибки (поток станет нерабочим), и конструкция if (cin.fail()) сработает. Из-за выше сказанного, после чтения нужно проверять не только флаг ошибки, но и то, что осталось в потоке (при правильном чтении должен остаться только '\n').
1
Vacho_87
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 8
26.09.2016, 19:42  [ТС] 3
Спасибо, nd2. Предложенная Вами конструкция:
Цитата Сообщение от nd2 Посмотреть сообщение
if (!(cin >> fSummaKvydache) || cin.peek() != '\n')
* * {
* * * * cout <<"!!!ВНИМАНИЕ ОШИБКА!!!\n Вы некорректно ввели сумму \n Рубли от копеек отделяйте ТОЧКОЙ. \n";
* * * * cin.clear();
* * * * while (cin.get() != '\n');
* * * * continue;
* * }
в коде программы корректно отрабатывает в случае ввода суммы в неверном формате (выводит сообщение об ошибке и заново предлагает ввести сумму). А вот в случае корректного ввода суммы выдается еще одно приглашение на ввод (без приглашающей записи типа "введите то-то"), причем судя по результатам выполнения программы именно введенное значение в повторное приглашение на ввод и воспринимается программой как fSummaKvydache, т.е. та величина из которой программа начинает вычленять n- количество купюр соответствующих номиналов.
Ввиду своего малого опыта не могу понять почему так получается.
0
nd2
3084 / 2582 / 1129
Регистрация: 29.01.2016
Сообщений: 8,656
26.09.2016, 20:46 4
Код с исправлениями покажи.
0
26.09.2016, 20:46
nd2
3084 / 2582 / 1129
Регистрация: 29.01.2016
Сообщений: 8,656
26.09.2016, 21:01 5
Что ввод правильно работает - из скрина видно. Вот этого я не увидел:
Цитата Сообщение от Vacho_87 Посмотреть сообщение
вот в случае корректного ввода суммы выдается еще одно приглашение на ввод (без приглашающей записи типа "введите то-то")
0
Миниатюры
Некорректная работа команды continue в цикле при проверке корректности введенных данных  
Vacho_87
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 8
26.09.2016, 21:35  [ТС] 6
Вот код:
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#include <iostream>
using namespace std;
int main()
{
    // Команда настройки распознавания КИРИЛИЦЫ
    setlocale(0, "Rus");
    // Объявляю константы, соответствующие номиналам купюр (монет)
    float c1=20, c2=10, c3=5, c4=2, c5=1,
    c6=0.5, c7=0.2, c8=0.1, c9=0.05, c10=0.02, c11=0.01;
    // Объявляю переменные для подсчета количества купюр nAmount1 (накапливает значения)
    // и nAmount11 для промежуточного подсчета
    int nAmount1=0,nAmount2=0,nAmount3=0,nAmount4=0,nAmount5=0,nAmount6=0,nAmount7=0,
    nAmount8=0,nAmount9=0,nAmount10=0,nAmount11=0,nAmount01=0,nAmount02=0,nAmount03=0
    ,nAmount04=0,nAmount05=0,nAmount06=0,nAmount07=0,nAmount08=0,nAmount09=0,nAmount010=0
    ,nAmount011=0;
    // Переменная для ввода суммы для получения каждым из n...получателей
    float fSummaKvydache;
    // Переменная для ввода количества n...получателей указанной выше суммы
    int nKolichestvoPolucateley;
    // Временная перменная используемая в каждом
    // подцикле работы программы по вычленению каждого номинала
    // для последующего уменьшения значения перменной fSummaKvydache
    int nNunberOfCoinsTemp;
    // Переменная для вывода и проверки общей суммы наличных к получению
    float fSummaKpolucheniuTest;
    cout <<"!!! ВНИМАНИЕ!!! при вводе суммы рубли от копеек отделяйте  ТОЧКОЙ\n\n";
    // Вводится цикл управления программой
    // пока значение переменной управления циклом nOperator,
    // вводимое пользователем, равно единице цикл программы повторяется
    for (int nOperator=1;nOperator==1; )
        {
    cout <<"Введите сумму к выплате одному получателю:";
    cin >> fSummaKvydache;
       if (!(cin >> fSummaKvydache) || cin.peek() != '\n')
    {
        cout <<"!!!ВНИМАНИЕ ОШИБКА!!!\n Вы некорректно ввели сумму \n Рубли от копеек отделяйте ТОЧКОЙ. \n";
        cin.clear();
        while (cin.get() != '\n');
        continue;
    }
    cout <<"Введите количество получателей введенной суммы:";
    cin >> nKolichestvoPolucateley;
    cout <<"\n";
    // Подсчет количества купюр каждого номинала
    // по каждой введенной сумме к выдаче с учетом количества получателей каждой суммы
    // Уменьшение переменной СуммаКвыдаче на сумму
    nAmount01 = fSummaKvydache/c1;
    nAmount01 = nAmount01 *nKolichestvoPolucateley;
    nAmount1 = nAmount1 + nAmount01;
    nNunberOfCoinsTemp = fSummaKvydache/c1;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c1;
 
    nAmount02 = fSummaKvydache/c2;
    nAmount02 = nAmount02 *nKolichestvoPolucateley;
    nAmount2 = nAmount2 + nAmount02;
    nNunberOfCoinsTemp = fSummaKvydache/c2;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c2;
 
    nAmount03 = fSummaKvydache/c3;
    nAmount03 = nAmount03 *nKolichestvoPolucateley;
    nAmount3 = nAmount3 + nAmount03;
    nNunberOfCoinsTemp = fSummaKvydache/c3;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c3;
 
    nAmount04 =  fSummaKvydache/c4;
    nAmount04 = nAmount04 *nKolichestvoPolucateley;
    nAmount4 = nAmount4 + nAmount04;
    nNunberOfCoinsTemp = fSummaKvydache/c4;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c4;
 
    nAmount05 = fSummaKvydache/c5;
    nAmount05 = nAmount05 *nKolichestvoPolucateley;
    nAmount5 = nAmount5 + nAmount05;
    nNunberOfCoinsTemp = fSummaKvydache/c5;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c5;
 
    nAmount06 = fSummaKvydache/c6;
    nAmount06 = nAmount06 *nKolichestvoPolucateley;
    nAmount6 = nAmount6 + nAmount06;
    nNunberOfCoinsTemp = fSummaKvydache/c6;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c6;
 
    nAmount07 = fSummaKvydache/c7;
    nAmount07 = nAmount07 *nKolichestvoPolucateley;
    nAmount7 = nAmount7 + nAmount07;
    nNunberOfCoinsTemp = fSummaKvydache/c7;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c7;
 
    nAmount08 = fSummaKvydache/c8;
    nAmount08 = nAmount08 *nKolichestvoPolucateley;
    nAmount8 = nAmount8 + nAmount08;
    nNunberOfCoinsTemp = fSummaKvydache/c8;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c8;
 
    nAmount09 = fSummaKvydache/c9;
    nAmount09 = nAmount09 *nKolichestvoPolucateley;
    nAmount9 = nAmount9 + nAmount09;
    nNunberOfCoinsTemp = fSummaKvydache/c9;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c9;
 
    nAmount010 = fSummaKvydache/c10;
    nAmount010 = nAmount010 *nKolichestvoPolucateley;
    nAmount10 = nAmount10 + nAmount010;
    nNunberOfCoinsTemp = fSummaKvydache/c10;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c10;
 
    // В следующей строке корректируется погрешность, почему-то возникающая
    // при выполнении вышеописанных операций с дробной частью переменной fSummaKvydache
    nAmount011 = (fSummaKvydache+0.0001)/c11;
    nAmount011 = nAmount011 *nKolichestvoPolucateley;
    nAmount11 = nAmount11 + nAmount011;
    nNunberOfCoinsTemp = fSummaKvydache/c11;
    fSummaKvydache = fSummaKvydache - nNunberOfCoinsTemp*c11;
 
    cout << "Для продолжения ввода данных введите 1, \n";
    cout << "для окончания работы введите любое другое число:";
    cin >> nOperator;
    cout <<"\n";
    }
    // Подсчет итговой суммы к получению из суммы произведений
    // номиналов купюр на их количество
    fSummaKpolucheniuTest =  c1*nAmount1+c2*nAmount2+c3*nAmount3+c4*nAmount4+
c5*nAmount5+c6*nAmount6+c7*nAmount7+c8*nAmount8+c9*nAmount9+c10*nAmount10+c11*nAmount11;
    // Вывод результатов работы программы
    cout << "Рекомендую Вам получить купюры и монеты следующих номиналов: \n \n";
    cout << "\t 20 рублей - " << nAmount1 << "\n";
    cout << "\t 10 рублей - " << nAmount2 << "\n";
    cout << "\t 5  рублей - " << nAmount3 << "\n";
    cout << "\t 2  рубля  - " << nAmount4 << "\n";
    cout << "\t 1  рубль  - " << nAmount5 << "\n";
    cout << "\t 50 копеек - " << nAmount6 << "\n";
    cout << "\t 20 копеек - " << nAmount7 << "\n";
    cout << "\t 10 копеек - " << nAmount8 << "\n";
    cout << "\t 5  копеек - " << nAmount9 << "\n";
    cout << "\t 2  копейки- " << nAmount10 << "\n";
    cout << "\t 1  копейка- " << nAmount11 << "\n";
    cout << "\t Общая сумма к получению: " << fSummaKpolucheniuTest << "\n\n";
 
    cout << "для выхода введите любую цифру: ";
    cin >> fSummaKvydache;
    return 0;
}
Вот результат:
0
Миниатюры
Некорректная работа команды continue в цикле при проверке корректности введенных данных   Некорректная работа команды continue в цикле при проверке корректности введенных данных  
nd2
3084 / 2582 / 1129
Регистрация: 29.01.2016
Сообщений: 8,656
26.09.2016, 21:38 7
Цитата Сообщение от Vacho_87 Посмотреть сообщение
причем судя по результатам выполнения программы именно введенное значение в повторное приглашение на ввод и воспринимается программой как fSummaKvydache
Чтобы судить не по результатам, а по тому, как работает - есть отладчик.

Добавлено через 1 минуту
Цитата Сообщение от Vacho_87 Посмотреть сообщение
cin >> fSummaKvydache;
Это к чему оставил (33 стр.)? Во втором посте я ясно показал: что на что заменить.
1
Vacho_87
0 / 0 / 0
Регистрация: 25.09.2016
Сообщений: 8
26.09.2016, 22:13  [ТС] 8
Цитата Сообщение от nd2 Посмотреть сообщение
Это к чему оставил (33 стр.)? Во втором посте я ясно показал: что на что заменить.
Дело в том, что я сразу не понял, что приведенные в том посте куски кода надо буквально строка в строку заменить. Кроме того, я думал, что вот это выражение "if (!(cin >> fSummaKvydache)" является только частью условия функции IF и не позволяет ввести значение, а для ввода данных должна быть отдельно использована команда "cin >> fSummaKvydache". Теперь все работает. Буду разбираться в премудростях синтаксиса и поищу отладчик в своем компиляторе. Спасибо.
0
26.09.2016, 22:13
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2016, 22:13

Проверка корректности введенных данных в текстовые поля
Здравствуйте. Хотелось бы узнать что не так в моем коде( не судите строго еще плохо разбираюсь в...

Формат времени с проверкой корректности введенных данных
в проге требуется ввод времени с проверкой и дальнейшем использовать условие if else сначало...

Изменение цвета TextBox в зависимости от корректности введенных данных
есть textbox и есть копка в textbox пишется число и нажимается копка, если число не правильное,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru