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

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

Войти
Регистрация
Восстановить пароль
 
 
илья1995
3 / 3 / 1
Регистрация: 17.10.2011
Сообщений: 169
#1

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

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

например у меня есть переменна b
C++
1
int b;
я ее объявил мне теперь нужно чтобы в нее я мог ввести только числа от 1 до 6 и никаких других. и еще как ограничить количество вводимых цифр нужно чтобы вводилась именно 1 цифра вот так:6 а не так:61
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2013, 18:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как в переменную ввести определенные числа (C++):

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

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

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

Как ввести переменную, которая включает ряд чисел? - C++
Привет всем! Я учу С++ по видеоурокам самостоятельно. Написал первый простой код: #include "ttmath\ttmath.h" #include <iostream> ...

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

Ввести строку текста (содержащую как слова так и числа), вывести все числа из данной строки - C++
Ввести ленту произвольной длины, которую будем трактовать как текст, в котором слова отделены одним или несколькими пробелами (длина слов,...

20
v.a.l.i.d
413 / 378 / 10
Регистрация: 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
илья1995
3 / 3 / 1
Регистрация: 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
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
13.01.2013, 18:56 #4
Цитата Сообщение от илья1995 Посмотреть сообщение
b={1,2,3,4,5,6};
Что-то не понятно. То есть хотите все цифры которые должны быть в числе в массив записать?
0
илья1995
3 / 3 / 1
Регистрация: 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
3BEPb_TyTa
18 / 18 / 1
Регистрация: 18.05.2010
Сообщений: 83
13.01.2013, 19:19 #6
Цитата Сообщение от илья1995 Посмотреть сообщение
т.е чтобы можно было так введите цифру 1: 6 а так нельзя введите цифру 1: 1231245
что должно произойти после ввода "неправильной" цифры?
0
илья1995
3 / 3 / 1
Регистрация: 17.10.2011
Сообщений: 169
13.01.2013, 19:21  [ТС] #7
можно какоени будь сообщение типа ERROR или сделать так что нажимаешь на цифры которые нельзя вводить они просто невводятся
блин подобное делал на delphi на с++ не знаю как, это скажем как коректный ввод для тупого пользователя
например написано введите число а он жмет на буквы т.е я делал так что когда жмет на буквы ничего не происходит до тех пор пока он не введет нужное число например от 0до 9
0
3BEPb_TyTa
18 / 18 / 1
Регистрация: 18.05.2010
Сообщений: 83
13.01.2013, 19:44 #8
первый пример от v.a.l.i.d чем не подходит? добавьте внутрь цикла вывод сообщения о неправильном вводе и всё
0
илья1995
3 / 3 / 1
Регистрация: 17.10.2011
Сообщений: 169
13.01.2013, 19:47  [ТС] #9
Цитата Сообщение от 3BEPb_TyTa Посмотреть сообщение
первый пример от v.a.l.i.d чем не подходит? добавьте внутрь цикла вывод сообщения о неправильном вводе и всё
я просто думал что можно без цикла можно , сделаю с циклом
0
ZYL
3 / 3 / 0
Регистрация: 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
3BEPb_TyTa
18 / 18 / 1
Регистрация: 18.05.2010
Сообщений: 83
13.01.2013, 19:54 #11
илья1995, можно без цикла, если вы не хотите чтобы пользователь после неправильного ввода его повторял
В таком случае можно сделать как у ZYL
0
ZYL
3 / 3 / 0
Регистрация: 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
илья1995
3 / 3 / 1
Регистрация: 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
ZYL
3 / 3 / 0
Регистрация: 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
илья1995
3 / 3 / 1
Регистрация: 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
13.01.2013, 20:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2013, 20:24
Привет! Вот еще темы с ответами:

Как взять дробную часть числа и записать в переменную на C++ - C++
как взять дробную часть числа и записать в переменную на C++

Ввести в программу строку (числа, латиница), считать только числа, записать числа в массив - C++
Нужна помощь! Срочно! Нужно ввести в программу строку (числа, латиница), считать только числа, записать числа в массив. Помогите,...

Как ввести числа из txt, в котором они находятся на каждой строчке? - C++
Здравствуйте)) появилась сложненькая задачка и даже я не забаненый в гугле не смог толком найти и понять как реализовать следующие 3...

Ввести n чисел, определить сколько среди них превосходит первое число. Результат отправить в переменную k - C++
Ввести n чисел. определить сколько, среди них превосходит первое число.Результат отправить в переменную к. Помогите написать на с++


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

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

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