Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

If и case - C++

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

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

в case 7 - нужно сделать поиск по номеру группы, а в case 6 сортировку по имени - C++
Помогите пожалуйста: в case 7 - нужно сделать поиск по номеру группы, а в case 6 сортировку по имени #include <iostream> #include...

При выборе case 1 всегда черный экран? как правильно указать путь в case - C++
Доброго времени суток) проблема с компиляций когда при компилирование появляется экран выбора. Нажимаю 1 и все черный экран) пожалуйста...

switch-case, как писать в самом case - C++
Такс дело вот в чём,прога работает всё хорошо,вот только мне не нравится как записваю страны в кейсе,можно ли каким-нибудь образом писать в...

Оптимальная конструкция switch-case-while / while-switch-case - C++
Имеется конструкция типа: switch() { case 1: while() { ... }

Switch case внутри switch case - C++
Привет всем! Нужна помощь. Пишу калькулятор с консольным меню. Так вот, используется цикл while, внутри которого у меня switch...

Case - C++
Можно ли как то в конструкции switch case задавать условие например case n<0:и выполнить действие

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


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

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

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

Case - C++
Есть ли в C++ аналог дэльфишному Case i of? Я конечно могу прописать на каждый вариант if но не красиво же будет )) и дабы не...

CASE(C++) - C++
Помогите решить задачку, пожалуйста. С начала 1990 года по некоторый день прошло n месяцев и 2 дня. Определить название месяца(январь,...

CASE - C++
Не могу понять почему программа выводит пустой массив, при входе в case функция перестаёт слушаться. За сase-ом работает отлично. В сase...

case -> if - C++
Надо переделать с си++ на си, т.е. case на if while(choice != 4) { switch(choice) { case 1: add_student(); ...


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

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

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