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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Kenwood2010
48 / 59 / 7
Регистрация: 26.11.2010
Сообщений: 192
20.12.2010, 10:44     Ограничение на ввод букв! #1
Приветствую Вас друзья!
В общем такая проблема:
Нужно выполнить проверку на ввод только цифр, если вместо цифры введена буква запросить повторный ввод цифры и так то того пока не будет введена цифра.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
deadlock
 Аватар для deadlock
372 / 351 / 7
Регистрация: 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);
}
eczo
37 / 37 / 1
Регистрация: 15.12.2010
Сообщений: 110
20.12.2010, 11:15     Ограничение на ввод букв! #3
C++
1
.....
Kenwood2010
48 / 59 / 7
Регистрация: 26.11.2010
Сообщений: 192
20.12.2010, 11:22  [ТС]     Ограничение на ввод букв! #4
нужно просто ввел цифру до пустим 1, все супер идем дальне;
внес букву q - неверно просим повторить ввод еще раз и так пока не будет внесена цифра.
deadlock
 Аватар для deadlock
372 / 351 / 7
Регистрация: 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 чисел
Kenwood2010
48 / 59 / 7
Регистрация: 26.11.2010
Сообщений: 192
20.12.2010, 11:38  [ТС]     Ограничение на ввод букв! #6
а попроще нельзя это сделать?
мне это надо при вооде размерности массива который память под который выделяется динамически.
Как пример:
введите размерность массива:
ввели 10 - супер
ввели q - вылетела программа.
deadlock
 Аватар для deadlock
372 / 351 / 7
Регистрация: 14.12.2010
Сообщений: 1,265
20.12.2010, 11:41     Ограничение на ввод букв! #7
а в первом случае что не устроило?
программа запрашивает ввод до тех пор, пока не получит число.
затем число в int и в размерность массива
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2010, 12:14     Ограничение на ввод букв!
Еще ссылки по теме:

C++ Ввод русских букв
C++ Ограничение на ввод определённого кол-ва символов
Ограничение на ввод символов scanf() и cin C++

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

Или воспользуйтесь поиском по форуму:
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;
}
Yandex
Объявления
20.12.2010, 12:14     Ограничение на ввод букв!
Ответ Создать тему
Опции темы

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