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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Kenwood2010
48 / 59 / 7
Регистрация: 26.11.2010
Сообщений: 192
#1

Ограничение на ввод букв! - C++

20.12.2010, 10:44. Просмотров 1974. Ответов 7
Метки нет (Все метки)

Приветствую Вас друзья!
В общем такая проблема:
Нужно выполнить проверку на ввод только цифр, если вместо цифры введена буква запросить повторный ввод цифры и так то того пока не будет введена цифра.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2010, 10:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ограничение на ввод букв! (C++):

Ограничение на ввод букв и символов - C++
Подскажите пожалуйста, как можно реализовать в консоле ограничение на ввод букв и символов, т.е. требуется чтобы пользователь мог вводить...

Как лучше поставить ограничение на ввод букв, и знаков перпинания - C++
Добрый вечер! подскажите, как лучше поставить ограничение на ввод букв, и знаков перпинания (,.! ,пробел и других, которые используют в...

Ограничение на ввод символов (разрешить ввод только цифр) - C++
Всем доброго времени суток! Я начал изучать С++ и у меня возник такой вопрос: Как ограничить ввод символов (разрешить ввод только...

Ограничение на ввод - C++
Как сделать ограничение, чтобы |x|>3? Помогите пожалуйста #include "stdafx.h" #include "conio.h" #include "stdio.h" #include...

Ограничение на ввод только цифр - C++
Друзья, У тут меня проблемка возникла, помогите, пожалуйста ;) Коротко: я новичок, и я пишу программку для проверки таблицы умножения....

Ограничение на ввод определённого кол-ва символов - C++
Народ очень нужно сделать так, чтобы при вводе в какое-нибудь поле(string), оно либо позволяло: - вести только 8 символов - принять...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
deadlock
376 / 355 / 8
Регистрация: 14.12.2010
Сообщений: 1,265
20.12.2010, 10:53 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
int main(int argc, char *argv[])
{
bool text;
char *enter=new char[128];
for (int i=0;i<128;i++) enter[i]=0;
do
{
  text=0;
  printf("Vvedite chislo: ");
   scanf("%s",enter);
   for (int i=0;i<128;i++) if (enter[i]!=0&&enter[i]<'0'||enter[i]>'9') text=1;
  if (text==1)
   {
      printf("Oshibka vvoda - vveden tekst\n");
      for (int i=0;i<128;i++) enter[i]=0;
   }
}
while(text!=0);
printf("Vvedeno chislo %s",enter);
}
1
eczo
37 / 37 / 1
Регистрация: 15.12.2010
Сообщений: 110
20.12.2010, 11:15 #3
C++
1
.....
0
Kenwood2010
48 / 59 / 7
Регистрация: 26.11.2010
Сообщений: 192
20.12.2010, 11:22  [ТС] #4
нужно просто ввел цифру до пустим 1, все супер идем дальне;
внес букву q - неверно просим повторить ввод еще раз и так пока не будет внесена цифра.
0
deadlock
376 / 355 / 8
Регистрация: 14.12.2010
Сообщений: 1,265
20.12.2010, 11:33 #5
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 <stdio.h>
int main(int argc, char *argv[])
{
    bool text;;
    char *enter=new char[128];
    for (int i=0;i<128;i++) enter[i]=0;
    int counter=0;
    do
    {
    do
    {
      text=0;
      printf("Vvedite chislo: ");
       scanf("%s",enter);
       for (int i=0;i<128;i++) if (enter[i]!=0&&enter[i]<'0'||enter[i]>'9') text=1;
      if (text==1)
       {
          printf("Oshibka vvoda - vveden tekst\n");
          for (int i=0;i<128;i++) enter[i]=0;
       }
      else
      {
          printf("%i. Vvedeno chislo %s\n",counter+1,enter);
          counter++;
      }
    }
    while(text!=0);
    }
    while (counter!=10);
}
запросит ввод 10 раз, будет заколебывать пока не получит 10 чисел
1
Kenwood2010
48 / 59 / 7
Регистрация: 26.11.2010
Сообщений: 192
20.12.2010, 11:38  [ТС] #6
а попроще нельзя это сделать?
мне это надо при вооде размерности массива который память под который выделяется динамически.
Как пример:
введите размерность массива:
ввели 10 - супер
ввели q - вылетела программа.
0
deadlock
376 / 355 / 8
Регистрация: 14.12.2010
Сообщений: 1,265
20.12.2010, 11:41 #7
а в первом случае что не устроило?
программа запрашивает ввод до тех пор, пока не получит число.
затем число в int и в размерность массива
0
Kenwood2010
48 / 59 / 7
Регистрация: 26.11.2010
Сообщений: 192
20.12.2010, 12:14  [ТС] #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
int *mas, s = 0, flag = 0;
cout<<"Vvedite razmer: ";
cin>>s;
// тут нужно проверить на правильность ввода
if(s > 0) //я сделал если число больше 0, а как сделать буквы
 {
  mas = new int [s];
  flag =1;
 }
getch();
if(flag==1) {delete mas;}
return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2010, 12:14
Привет! Вот еще темы с ответами:

Ограничение на ввод символов scanf() и cin - C++
Здравствуйте. Возможно ли ограничить ввод символов после вызова scanf() или cin? Нужно чтоб после вызова этих функций пользователь...

Ограничение ввода.(цифр, букв и символов) - C++
Мне нужно сделать ограничение ввода. Условие: 1) ввод 1, 2 или 3, если больше, то сообщение об ошибке и повторный ввод, также с...

Ограничение ввода(цифр, букв и символов) - C++
Здравствуйте ! Мне нужно сделать ограничение ввода. Я его прописал, для ввода длины и количества паролей, но не могу для ввода куда...

Как поставить ограничение на ввод только числа - C++
у меня вопрос ) )) как поставить ограничение на ввод например я хочу вводить только числа ))) есть ли что то подобное как...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.12.2010, 12:14
Ответ Создать тему
Опции темы

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