Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/25: Рейтинг темы: голосов - 25, средняя оценка - 4.52
6 / 0 / 0
Регистрация: 30.05.2015
Сообщений: 11

Помогите сделать проверку на ввод отрицательных чисел

30.05.2015, 16:51. Показов 4944. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#include "iostream"
#include "conio.h"
 
 
using namespace std;
 
int main()
{
setlocale(LC_ALL, "Russian");
 
int city[5];
int citynew[5];
int raz[5];
int max = 0;
 
for (int i = 0; i < 5; i++)
{
cout << "Количество преступлений в " << i << " городе предыдущего года равно ";
cin >> city[i];
 
}
 
for (int i = 0; i < 5; i++)
{
cout << "Количество преступлений в " << i << " городе текущего года равно ";
cin >> citynew[i];
}
 
for (int i = 0; i < 5; i++)
{
raz[i] = city[i] - citynew[i];
}
for (int i = 0; i<5;i++)
{
if (raz[i] > raz[i+1])
max = raz[i];
}
for (int i = 0; i < 5; i++)
{
cout << "Количество преступлений в " << i << " городе изменилось на " << raz[i];
cout << endl;
}
_getch();
return 0;
}

помогите сделать проверку, чтобы при вводе отрицательных чисел, писало "ошибка! повторите ввод"
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.05.2015, 16:51
Ответы с готовыми решениями:

Создать проверку на ввод отрицательных чисел
В общем в матрице ввожу количество строк и столбцов, над сделать так, чтобы при вводе отрицательных чисел выдавало сообщение...

Как сделать проверку на ввод чисел?
Т.е. есть поле, и нужно сделать такую проверку чтобы в это поле можно было вбивать только числовые значения. Может есть какой джава-скрипт...

Как сделать проверку на ввод чисел?
#include &lt;stdio.h&gt; int main() { int n; double P,s; s=1; while (scanf(&quot;%d&quot;,&amp;n)!=1) { printf(&quot;Error. Write a...

16
 Аватар для Solitaire Raven
36 / 36 / 47
Регистрация: 20.04.2015
Сообщений: 198
30.05.2015, 16:57
Amelie Joy,


C++
1
2
if(city[i]<0)
    cout<<"Error...";
0
6 / 0 / 0
Регистрация: 30.05.2015
Сообщений: 11
30.05.2015, 17:00  [ТС]
не получается, я уже пробовала аналогичные...я что-то не так делаю
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,857
30.05.2015, 17:01
Цитата Сообщение от Amelie Joy Посмотреть сообщение
cin >> city[i];
C++
1
2
3
4
5
cin >> city[i];
while(city[i]<0){
    cout<<"Error!!!";
    cin >> city[i];
}
0
6 / 0 / 0
Регистрация: 30.05.2015
Сообщений: 11
30.05.2015, 17:08  [ТС]
я не знаю почему, но что бы я не меняла в коде, решение остается таким же((
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,857
30.05.2015, 17:10
Цитата Сообщение от Amelie Joy Посмотреть сообщение
я не знаю почему, но что бы я не меняла в коде, решение остается таким же((
каким таким же?
исправленный код можно увидеть?
0
6 / 0 / 0
Регистрация: 30.05.2015
Сообщений: 11
30.05.2015, 17:13  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
{
cout << "Количество преступлений в " << i << " городе предыдущего года равно ";
while(city[i]<0)
{
    cout<<"Error!!!";
    cin >> city[i];
}
 
 
}
Добавлено через 31 секунду
Количество преступлений в 0 городе предыдущего года равно -5
Количество преступлений в 1 городе предыдущего года равно -9
Количество преступлений в 2 городе предыдущего года равно -8
Количество преступлений в 3 городе предыдущего года равно -7
Количество преступлений в 4 городе предыдущего года равно -8
Количество преступлений в 0 городе текущего года равно 2
Количество преступлений в 1 городе текущего года равно 3
Количество преступлений в 2 городе текущего года равно 3
Количество преступлений в 3 городе текущего года равно 3
Количество преступлений в 4 городе текущего года равно 3
Количество преступлений в 0 городе изменилось на -7
Количество преступлений в 1 городе изменилось на -12
Количество преступлений в 2 городе изменилось на -11
Количество преступлений в 3 городе изменилось на -10
Количество преступлений в 4 городе изменилось на -11
0
 Аватар для Справлюсь
76 / 36 / 17
Регистрация: 24.07.2014
Сообщений: 357
30.05.2015, 17:15
попробуй так:
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
#include "iostream"
#include "conio.h"
 
 
using namespace std;
 
int main()
{
setlocale(LC_ALL, "Russian");
 
int city[5];
int citynew[5];
int raz[5];
int max = 0;
 
for (int i = 0; i < 5; i++)
{
cout << "Количество преступлений в " << i << " городе предыдущего года равно ";
city[i]=-1;
for (;city[i] < 0; cout << "ошибка! повторите ввод")
{
cin >> city[i];
 
}
 
}
 
for (int i = 0; i < 5; i++)
{
cout << "Количество преступлений в " << i << " городе текущего года равно ";
citynew[i]=-1;
for (;citynew[i] < 0; cout << "ошибка! повторите ввод")
{
cin >> citynew[i];
 
}
}
 
for (int i = 0; i < 5; i++)
{
raz[i] = city[i] - citynew[i];
}
for (int i = 0; i<5;i++)
{
if (raz[i] > raz[i+1])
max = raz[i];
}
for (int i = 0; i < 5; i++)
{
cout << "Количество преступлений в " << i << " городе изменилось на " << raz[i];
cout << endl;
}
_getch();
return 0;
}
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,857
30.05.2015, 17:16
Amelie Joy,
интересно где вывод city[i]; на экран?
где первый ввод?
нормальный код можно дать?
0
 Аватар для Справлюсь
76 / 36 / 17
Регистрация: 24.07.2014
Сообщений: 357
30.05.2015, 17:18
может у меня немного "без бутылки неразберёшся" но...
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,857
30.05.2015, 17:18
Справлюсь, а у тебя где вывод на экран введеных данных?
0
 Аватар для Справлюсь
76 / 36 / 17
Регистрация: 24.07.2014
Сообщений: 357
30.05.2015, 17:22
Цитата Сообщение от ValeryS Посмотреть сообщение
Справлюсь, а у тебя где вывод на экран введеных данных?
в коде ТС сих действий не было, а при таких обстоятельствах... (может оно ему ей не надо?)
0
6 / 0 / 0
Регистрация: 30.05.2015
Сообщений: 11
30.05.2015, 17:22  [ТС]
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
#include "iostream"
#include "conio.h"
 
 
using namespace std;
 
int main()
{
setlocale(LC_ALL, "Russian");
 
int city[5];
int citynew[5];
int raz[5];
int max = 0;
 
for (int i = 0; i < 5; i++)
{
cout << "Количество преступлений в " << i << " городе предыдущего года равно ";
city[i]=-1;
for (city[i] < 0; cout << "ошибка! повторите ввод")
{
cin >> city[i];
}
 
for (int i = 0; i < 5; i++)
{
cout << "Количество преступлений в " << i << " городе текущего года равно ";
citynew[i]=-1;
for (citynew[i] < 0; cout << "ошибка! повторите ввод");
{
cin >> citynew[i];
 
}
 
for (int i = 0; i < 5; i++)
{
raz[i] = city[i] - citynew[i];
}
for (int i = 0; i<5;i++)
{
if (raz[i] > raz[i+1])
max = raz[i];
}
for (int i = 0; i < 5; i++)
{
cout << "Количество преступлений в " << i << " городе изменилось на " << raz[i];
cout << endl;
}
_getch();
return 0;
}
но ничего не меняется...
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,857
30.05.2015, 17:27
Цитата Сообщение от Справлюсь Посмотреть сообщение
в коде ТС сих действий не было,
у ТС много чего не было
Цитата Сообщение от Справлюсь Посмотреть сообщение
может оно ему не надо?
представь ситуацию
C++
1
2
3
4
5
6
7
cout << "Количество преступлений в " << i << " городе предыдущего года равно ";
city[i]=-1;
for (;city[i] < 0; cout << "ошибка! повторите ввод")
{
cin >> city[i];
 
}
Количество преступлений в " << 0 << " городе предыдущего года равно -1
ошибка! повторите ввод -1
ошибка! повторите ввод -1
ошибка! повторите ввод 0
"Количество преступлений в " << i << " городе текущего года равно "(здесь курсор)

жирным то что вводим
куда ты пошлешь такого разработчика?

Добавлено через 58 секунд
Цитата Сообщение от Amelie Joy Посмотреть сообщение
но ничего не меняется...
будем тупо копировать или немного подумаем?
0
 Аватар для Справлюсь
76 / 36 / 17
Регистрация: 24.07.2014
Сообщений: 357
30.05.2015, 17:35
Цитата Сообщение от Amelie Joy Посмотреть сообщение
for (city[i] < 0; cout << "ошибка! повторите ввод")
я так не писал:
Цитата Сообщение от Справлюсь Посмотреть сообщение
for (;city[i] < 0; cout << "ошибка! повторите ввод")
а тот код вообще который вы написали не скомпилился бы.()

Добавлено через 46 секунд
Цитата Сообщение от ValeryS Посмотреть сообщение
куда ты пошлешь такого разработчика?
за што посылать?
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,857
30.05.2015, 17:39
Цитата Сообщение от Справлюсь Посмотреть сообщение
не скомпилился бы.()
Цитата Сообщение от Amelie Joy Посмотреть сообщение
но ничего не меняется...
я кажется понял
скорее всего стоит VS
при компиляции возникают ошибки, и появляется окошко," не мог создать код, запустить предыдущую версию"
жмем "Да" вот ничего и не меняется

Добавлено через 47 секунд
Цитата Сообщение от Справлюсь Посмотреть сообщение
за што посылать?
за интерфейс
я примерно показал как он будет выглядеть
1
6 / 0 / 0
Регистрация: 30.05.2015
Сообщений: 11
30.05.2015, 17:52  [ТС]
а как сделать тоже самое, но с вводом символов?

Добавлено через 1 минуту
я попробовала ввести с таким кодом символ, получилось бесконечное количество строк "ошибка, повторите ввод"

Добавлено через 3 минуты
а с отрицательными числами заработало, да

Добавлено через 4 минуты
ой, а если вводить положительные числа, программа все равно пишет "ошибка повторите ввод"((

Добавлено через 4 минуты
исправила, о, да.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2015, 17:52
Помогаю со студенческими работами здесь

Как сделать ограничение на ввод отрицательных чисел
нужно сделать,что бы значение переменной x всегда было &gt; 0 , если оно &lt; 0 или =0 ,то вывод ошибки через msgbox . x вводится через...

Как сделать проверку на ввод? С++
y=2*(tgx+sinx/2); tgx стремится к бесконечности когда cos(x) стремится к нулю надо сделать проверку на это, и вывести сообщения об...

Нужно сделать проверку на ввод
#include&lt;iostream&gt; using namespace std; int main() { char choise; cout&lt;&lt;&quot;s-Настройки.\n&quot;; cout&lt;&lt;&quot;g-Игра.\n&quot;; ...

Как сделать проверку на ввод?
Как сделать проверку на буквы и другие символы, чтобы можно было бы вводить только числа. И если введена буква , то выводить ошибку и...

Как сделать проверку на ввод?
Всем здравствуйте. Хочу проверить число на его правильно. Число типа int. Если во время ввода - вписали букву - должна вылезти ошибка и...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru