Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.91/35: Рейтинг темы: голосов - 35, средняя оценка - 4.91
3 / 3 / 3
Регистрация: 17.10.2011
Сообщений: 169
1

Как в переменную ввести определенные числа

13.01.2013, 18:30. Просмотров 6434. Ответов 20
Метки нет (Все метки)

например у меня есть переменна b
C++
1
int b;
я ее объявил мне теперь нужно чтобы в нее я мог ввести только числа от 1 до 6 и никаких других. и еще как ограничить количество вводимых цифр нужно чтобы вводилась именно 1 цифра вот так:6 а не так:61
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2013, 18:30
Ответы с готовыми решениями:

Как в переменную записать определенные цифры
Как в переменную записать определенные цифры int a; int n = 0; //cout << "Введите число";...

Как ввести с клавиатуры глобальную переменную
Как ввести с клавиатуры глобальную (int) переменную перед всеми функциями, а потом преобразовать в...

Как ввести текстовую переменную в С++ с клавиатуры
Я ввожу так char *str1 = "la"; Все отлично вводиться ! Но мне нужно ввести с клавиатуры, помогите.

Как ввести свои данные в переменную key?
// lab_work_4.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h"...

20
417 / 382 / 113
Регистрация: 21.09.2012
Сообщений: 913
13.01.2013, 18:37 2
C++
1
2
3
4
5
6
int b;
 
do
{
    cin >> b;
} while (b<1 || b>6);
0
3 / 3 / 3
Регистрация: 17.10.2011
Сообщений: 169
13.01.2013, 18:51  [ТС] 3
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
C++
1
2
3
4
5
6
int b;
 
do
{
    cin >> b;
} while (b<1 || b>6);
а можно как нибудь без цикла вот как нибудь так
C++
1
b={1,2,3,4,5,6};
0
417 / 382 / 113
Регистрация: 21.09.2012
Сообщений: 913
13.01.2013, 18:56 4
Цитата Сообщение от илья1995 Посмотреть сообщение
b={1,2,3,4,5,6};
Что-то не понятно. То есть хотите все цифры которые должны быть в числе в массив записать?
0
3 / 3 / 3
Регистрация: 17.10.2011
Сообщений: 169
13.01.2013, 19:16  [ТС] 5
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
Что-то не понятно. То есть хотите все цифры которые должны быть в числе в массив записать?
не несовсем у меня есть программа я должен ввести число от 1 до 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
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
    setlocale(0,"");
srand(time(0));
int s=0,f=0,i=1,a,b,c,d,n;
 
cout<<"введите кол-во попыток: "<<endl;
cin>>n;
while(i<=d){ 
 a=rand() % 6+1;
b=rand() % 6+1;
 cout<<"введите цифру 1: "<<endl;
cin>>c;
 cout<<"введите цифру 2: "<<endl;
cin>>d;
s+=c+d;
cout<<"игрок: "<<s<<endl;
f+=a+b;
cout<<"компьютер: "<<f<<endl;
i+=1;
}
if(s>f){cout<<"вы выйграли"<<endl;}
if(s==f){cout<<"ничья"<<endl;}
if(s<f){cout<<"вы проиграли"<<endl;}
system("pause");
return 0;
}
нужно чтобы в c и d я мог ввести тока от 1 до 6 и никаких других, и чтоб цифра была одна допустим я ввел 6 то больше я ничего не мог у ввести

Добавлено через 5 минут
т.е чтобы можно было так введите цифру 1: 6 а так нельзя введите цифру 1: 1231245
0
18 / 18 / 4
Регистрация: 18.05.2010
Сообщений: 83
13.01.2013, 19:19 6
Цитата Сообщение от илья1995 Посмотреть сообщение
т.е чтобы можно было так введите цифру 1: 6 а так нельзя введите цифру 1: 1231245
что должно произойти после ввода "неправильной" цифры?
0
3 / 3 / 3
Регистрация: 17.10.2011
Сообщений: 169
13.01.2013, 19:21  [ТС] 7
можно какоени будь сообщение типа ERROR или сделать так что нажимаешь на цифры которые нельзя вводить они просто невводятся
блин подобное делал на delphi на с++ не знаю как, это скажем как коректный ввод для тупого пользователя
например написано введите число а он жмет на буквы т.е я делал так что когда жмет на буквы ничего не происходит до тех пор пока он не введет нужное число например от 0до 9
0
18 / 18 / 4
Регистрация: 18.05.2010
Сообщений: 83
13.01.2013, 19:44 8
первый пример от v.a.l.i.d чем не подходит? добавьте внутрь цикла вывод сообщения о неправильном вводе и всё
0
3 / 3 / 3
Регистрация: 17.10.2011
Сообщений: 169
13.01.2013, 19:47  [ТС] 9
Цитата Сообщение от 3BEPb_TyTa Посмотреть сообщение
первый пример от v.a.l.i.d чем не подходит? добавьте внутрь цикла вывод сообщения о неправильном вводе и всё
я просто думал что можно без цикла можно , сделаю с циклом
0
3 / 3 / 1
Регистрация: 12.01.2013
Сообщений: 47
13.01.2013, 19:52 10
C++
1
2
3
cin >> b;
if(b<1 || b>6)
cout<<"Error"<<endl;
0
18 / 18 / 4
Регистрация: 18.05.2010
Сообщений: 83
13.01.2013, 19:54 11
илья1995, можно без цикла, если вы не хотите чтобы пользователь после неправильного ввода его повторял
В таком случае можно сделать как у ZYL
0
3 / 3 / 1
Регистрация: 12.01.2013
Сообщений: 47
13.01.2013, 20:00 12
C++
1
2
3
4
5
6
a:
cout<<"Введите число от 1 до 6 : ";
cin >> b;
if(b<1 || b>6)
cout<<"Введите корректное число!"<<endl;
goto a
0
3 / 3 / 3
Регистрация: 17.10.2011
Сообщений: 169
13.01.2013, 20:12  [ТС] 13
Цитата Сообщение от ZYL Посмотреть сообщение
C++
1
2
3
cin >> b;
if(b<1 || b>6)
cout<<"Error"<<endl;
а как чтобы еще после сообщения он возрощал обратно к введению цифры
0
3 / 3 / 1
Регистрация: 12.01.2013
Сообщений: 47
13.01.2013, 20:19 14
C++
1
2
3
4
5
6
7
8
a:
cout<<"Введите число от 1 до 6 : ";
cin >> b;
if(b<1 || b>6)
{
cout<<"Введите корректное число!"<<endl;
goto a;
}
0
3 / 3 / 3
Регистрация: 17.10.2011
Сообщений: 169
13.01.2013, 20:24  [ТС] 15
Цитата Сообщение от ZYL Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
a:
cout<<"Введите число от 1 до 6 : ";
cin >> b;
if(b<1 || b>6)
{
cout<<"Введите корректное число!"<<endl;
goto a;
}
C++
1
goto a;
Error ссылка на неопределенный параметр
у меня так
C++
1
2
3
4
5
6
7
 cout<<"введите цифру 2: "<<endl;
 cin >> d;
if(d<1 || d>6)
{
cout<<"Введите корректное число!"<<endl;
goto d;
}
выдает эту ошибку
0
417 / 382 / 113
Регистрация: 21.09.2012
Сообщений: 913
13.01.2013, 20:29 16
Цитата Сообщение от илья1995 Посмотреть сообщение
goto d;
d - это переменная. Нельзя на нее делать goto
0
3 / 3 / 3
Регистрация: 17.10.2011
Сообщений: 169
13.01.2013, 20:30  [ТС] 17
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
d - это переменная. Нельзя на нее делать goto
а как тогда я так понимаю это
C++
1
goto a
возвращает меня опять к вводу числа
0
3 / 3 / 1
Регистрация: 12.01.2013
Сообщений: 47
13.01.2013, 20:32 18
a -- это метка на которую выполняет переход оператор goto. Она не должна совпадать ни с какими переменными, которые у тебя есть. Если у тебя есть поставленная метка а: , то после команды goto будет переход на нее. И будут выполнятся действия, которые следуют за ней.
0
3 / 3 / 3
Регистрация: 17.10.2011
Сообщений: 169
13.01.2013, 20:36  [ТС] 19
Цитата Сообщение от ZYL Посмотреть сообщение
a -- это метка на которую выполняет переход оператор goto. Она не должна совпадать ни с какими переменными, которые у тебя есть. Если у тебя есть поставленная метка а: , то после команды goto будет переход на нее. И будут выполнятся действия, которые следуют за ней.
как тогда установить эту метку?
0
417 / 382 / 113
Регистрация: 21.09.2012
Сообщений: 913
13.01.2013, 20:39 20
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
#include "stdafx.h"
#include "iostream"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
 
    int d;
 
metka:                              // вместо слова metka можно любое другое написать, только чтобы оно не совпадала ни с какими другими переменными
    cout << "Введите цифру: ";
    cin >> d;
 
    if (d<1 || d>6)
    {
        cout << "Введите корректное число!" << endl;
        goto metka;   // переход в 11 строчку
    }
    
 
    system("pause");
    return 0;
}
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2013, 20:39

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как ввести текстовую переменную и осуществить её проверку?
Помогите пожалуйста, задача должна состоять в том чтобы logg = какому-то буквенному значению и...

Как ввести переменную функцию f(x), понятную для языка C++
что следует ввести в f(x) sn = n/f(x) в степени n sin (x+1) + 1/x x&lt;0.5 F(x)= a*a + 1/x x&gt;=0.5

Как ввести переменную, которая включает ряд чисел?
Привет всем! Я учу С++ по видеоурокам самостоятельно. Написал первый простой код: #include...

Как сделать так, чтобы код мог принимать только определенные числа?
Дело в том, что если вводить числа с 5-ти до 8-ми, то ответы в коде сходятся, а если ввести числа...


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

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

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