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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ney4
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
#1

If и case - C++

14.12.2011, 18:58. Просмотров 693. Ответов 12
Метки нет (Все метки)

Нужно чтобы программа принимала числа от -100 до 1000. Используя if, при значении, которое не входит в этот диапазон, программа закрывается. А мне это не нужно. Если пользоваться case, то этот диапазон никак не прописать. Что посоветуете??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2011, 18:58     If и case
Посмотрите здесь:

Case C++
Case C++
Ошибка в case C++
объединение case-ов C++
Вычислить (case и if) C++
C++ case -> if
C++ CASE
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YouDoItWrong
46 / 46 / 7
Регистрация: 29.10.2011
Сообщений: 154
14.12.2011, 19:11     If и case #2
А на код можно посмотреть? (с if)
Vidok
37 / 37 / 2
Регистрация: 03.09.2011
Сообщений: 279
14.12.2011, 19:17     If и case #3
А что вам собственно нужно? case конечно не нужен, достаточно if для такого диапазона. Если вам нужно делать что-то с числами не с диапазона то
C++
1
if(n<-100&&n>1000)
Иначе
C++
1
if(n>=-100&&n<=1000)
Ney4
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
14.12.2011, 19:34  [ТС]     If и case #4
Код смогу выложить позже.


Числа нужны ИЗ диапазона. Но если ввести например -241, то программа закроется. А мне нужно чтобы игнорировался ошибочный ввод
aeshes
439 / 202 / 13
Регистрация: 07.10.2011
Сообщений: 462
14.12.2011, 19:38     If и case #5
В общем, такие программы делают примерно так
C++
1
2
3
4
5
6
7
8
if(x>=-100 && x<=1000)
{
   //действия для чисел из диапазона
}
else
{
  //сообщение об ошибке или другие действия
}
либо можно требовать ввода данных до тех пор, пока не будут введены числа из диапазона.

Без условия задачи целиком трудновато понять, какой именно способ вам нужен
Vidok
37 / 37 / 2
Регистрация: 03.09.2011
Сообщений: 279
14.12.2011, 19:55     If и case #6
Тогда ждем кода, без него сложно что-то сказать.
Ney4
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
14.12.2011, 21:05  [ТС]     If и case #7
Сам код большой. Ну допустим так:

C++
1
2
3
4
cout<<"напишите число от -100 до 1000";
cin>>s;
if(s>=-100 && s<=1000) { programma(); }
else { cout<<"неверное число"; }
Всё, на этом программа заканчивается. Если опустить else, то она закрывается. А нужно чтобы принимало только числа из диапазона, остальные игнорировались.
Vidok
37 / 37 / 2
Регистрация: 03.09.2011
Сообщений: 279
14.12.2011, 21:41     If и case #8
То есть, если я правильно понял, вы хотите что бы при некорректном вводе программа просила повторить ввод корректно, а не заканчиваться?
Ney4
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
14.12.2011, 22:02  [ТС]     If и case #9
Желательно чтобы не просила, а просто не реагировала, пока не напишешь правильно
Vidok
37 / 37 / 2
Регистрация: 03.09.2011
Сообщений: 279
14.12.2011, 22:12     If и case #10
C++
1
2
3
cout<<"напишите число от -100 до 1000";
while(cin>>s){
if(s>=-100 && s<=1000) { programma(); exit(0);} else continue;}
Не проверял, но попробуйте такой вариант.
Ney4
8 / 8 / 0
Регистрация: 28.10.2011
Сообщений: 100
14.12.2011, 22:25  [ТС]     If и case #11
А можно например, написать?
s<=1000 s>=-100
А потом
case s: programma(); break;
Vidok
37 / 37 / 2
Регистрация: 03.09.2011
Сообщений: 279
14.12.2011, 22:30     If и case #12
Не знаю, не сталкивался. Вам нужно что бы в switch case s было в промежутке, а switch для конкретных значений только вроде, по этому придется все значения от -100 до 1000 писать. Зачем так усложнять жизнь? Или у вас тот код не сработал?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2011, 01:20     If и case
Еще ссылки по теме:

CASE(C++) C++
C++ Оператор case
C++ Ошибка с case
Цикл в Case C++

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

Или воспользуйтесь поиском по форуму:
ВалентинАматор
2 / 5 / 0
Регистрация: 25.02.2011
Сообщений: 140
15.12.2011, 01:20     If и case #13
Чтот типа такого.Естественно допишите что там должна ваша функция programma выполнять.Ну обращение к ней если условие if возвращает истину происходит.Вот код.
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
#include "iostream"
 
using namespace std;
 
 
 
int main()
 
{
setlocale(LC_ALL ,"Russian");
char q='y';
int s;
 
 
while(q=='y')
{
cout << " Введите значение s от -100 до 1000 " << endl;
cin >> s;
if((s>=-100) && (s<=1000))
{
    programma();
 
cout << " Повторить ввод?(y/n) " << endl;
 
}
else
{
cout << " Не правильное число.Повторить ввод?(y/n) " << endl;
cin >> q;
}
}
 
return 0;
Yandex
Объявления
15.12.2011, 01:20     If и case
Ответ Создать тему
Опции темы

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