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

Сумма чисел - C++

Восстановить пароль Регистрация
 
wersion
4 / 4 / 0
Регистрация: 20.06.2010
Сообщений: 30
20.06.2010, 15:36     Сумма чисел #1
Как задать границы для ввода чисел. Например вводить можно только от 1 до 4?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Stas96
 Аватар для Stas96
34 / 34 / 3
Регистрация: 31.08.2009
Сообщений: 116
20.06.2010, 15:53     Сумма чисел #2
с помощью оператора 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
#include<iostream>
 
using namespace std;
 
 
 
void main()
{
    int a;
    cin >> a;
    if(a >= 1 && a <=4)// Здесь проверяется (если число (переменная а) больше или равно 1 и число меньше или равно 4) тогда выполняется первый блок кода, а если число выходит за эти рамки, то тогда второй блок кода
    {
    cout << "s" << endl;
 
    }
    else
    {
cout << "a" << endl;
 
    }
 
 
}
wersion
4 / 4 / 0
Регистрация: 20.06.2010
Сообщений: 30
20.06.2010, 16:46  [ТС]     Сумма чисел #3
Как можно для нескольких переменных задать одно условие?
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
20.06.2010, 16:58     Сумма чисел #4
Цитата Сообщение от wersion Посмотреть сообщение
Как можно для нескольких переменных задать одно условие?
точно так же...
C++
1
if(a >= 1 && a <=4 && b >= 1 && b <=4)
и чтобы в этом разобраться можешь прочитать коротенький урок -> Логические операторы. Операции сравнения. Оператор if.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
20.06.2010, 17:01     Сумма чисел #5
Цитата Сообщение от wersion Посмотреть сообщение
Как задать границы для ввода чисел. Например вводить можно только от 1 до 4?
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
#include <iostream>
#include <limits>
 
namespace ErrTypes {
    enum ET { E_NOT_NUMBER = 1, E_RANGE = 2 };
}
 
int main(){
    const int LO_VAL = 1;
    const int HI_VAL = 4;
    
    int val;
    bool correct;
    std::cin.exceptions(std::cin.failbit);
    
    correct = false;
    while ( ! correct ){
        try {
            std::cout << "Enter a number between " << LO_VAL << " and " << HI_VAL << "\n> ";
            std::cin >> val;
            if ( std::cin.get() != '\n' )
                throw ( ErrTypes::E_NOT_NUMBER );
            else if ( val < LO_VAL || val > HI_VAL )
                throw ( ErrTypes::E_RANGE );
            else
                correct = true;
        }
        catch ( std::ios_base::failure & ){
            std::cin.clear();
            std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
            std::cerr << "Wrong input!" << std::endl;
        }
        catch ( ErrTypes::ET ERR_TYPE ){
            switch ( ERR_TYPE ) {
                case ErrTypes::E_NOT_NUMBER :
                    std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
                    std::cerr << "Need only numbers, not letters!" << std::endl;
                    break;
                case ErrTypes::E_RANGE :
                    std::cerr << "Less then " << LO_VAL << " or greater then " << HI_VAL << std::endl;
                    break;
                default :
                    std::cerr << "Unknown error!" << std::endl;
                    break;
            }
        }
    }
    
    std::cout << "The value is " << val << std::endl;
    
    return 0;
}
wersion
4 / 4 / 0
Регистрация: 20.06.2010
Сообщений: 30
20.06.2010, 17:23  [ТС]     Сумма чисел #6
#include<iostream>
usingnamespace std;
void main ()
{
bool stop = false;
int x = 0;
do
{ cout << "Enter number: ";
cin >> x;
if (x >= 1 && x <= 4 )
cout <<
"Entered number " << x << endl;
else
{
cout <<
"??? enter number 1 or 4: " <<endl;
stop =
true;
}
}
while (stop == false);
cin.get ();
cin.get ();
}

в этой команде функция выполняется, но не совсем так. Нужно что бы при невыполнении условия предлагалось ввести число заново.
easybudda
20.06.2010, 17:42
  #7

Не по теме:

wersion, не лень Вам было руками раскрашивать? Тут для оформления кода специальные теги существуют...

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2010, 18:24     Сумма чисел
Еще ссылки по теме:

Сумма чисел C++
C++ Написать программу, которая получает десять чисел и выводит их в консоль в виде шестиугольника, в середине которого отображается сумма всех этих чисел
Определить номер строки массива натуральных чисел, сумма чисел которой наибольшая C++

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

Или воспользуйтесь поиском по форуму:
wersion
4 / 4 / 0
Регистрация: 20.06.2010
Сообщений: 30
20.06.2010, 18:24  [ТС]     Сумма чисел #8
Переключить редактор в правом верхнем углу. Подскажите как для четырех переменных добиться вот такого условия:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void main ()
{
bool stop = false;
int x = 0;
do
{ cout << "Enter number: ";
cin >> x; if (x >= 1 && x <= 4 )
cout << "Entered number " << x << endl;
else 
{ 
cout << "??? enter number 1 or 4: " <<endl; 
}
}
while (stop == false);
cin.get ();
cin.get ();
}
но чтобы требовалось ввести значения удолетворяющие условию?
Yandex
Объявления
20.06.2010, 18:24     Сумма чисел
Ответ Создать тему
Опции темы

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