C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
cin>>
** Arsa
Отправлено: 16.03.2007, 00:05


Не зарегистрирован







Надо организовать из консоли ввод числа с проверкой. Число не должно быть 0, <0, число должно быть целым. И еще надо сделать проверку ввел ли юзер число или же "строку".
Поделитесь, пожалуйста, куском кода у кого есть ...
desivers
Отправлено: 16.03.2007, 00:20


Дежурный стрелочник

Группа: Участник
Сообщений: 32



делал раньше проверку является ли числом введенное пользателем .....

CODE

#include <iostream> //cout, cin
using namespace std;

int proverka();
int convertor();

char temp[50];

void main()
{
if(proverka()==1)
{
 if (convertor() == 0)
  cout<<"neverno"<<endl;
 else
  cout<<convertor()<<endl;
}
else cout<<"neverno"<<endl;
}

int proverka()
{
for (int i=0; temp[i]!='\0'; i++)
{
 if (temp[i]>=48 && temp[i]<=57)
 {
;
 }
       else return 0;
}
return 1;
}

int convertor()
{
int k = 0, ch = 0;
for (int i=0; temp[i]!='\0'; i++)
{
 switch(temp[i])
 {
  case 48: k = 0; break;
  case 49: k = 1; break;
  case 50: k = 2; break;
  case 51: k = 3; break;
  case 52: k = 4; break;
  case 53: k = 5; break;
  case 54: k = 6; break;
  case 55: k = 7; break;
  case 56: k = 8; break;
  case 57: k = 9; break;
 }
 if (i==0)
  ch = k;
 else
  ch = (ch *10) + k;
}
return ch;
}


чуть переделал теперь разрешает толь целые положительные числа больше 0

Отредактировано desivers — 16.03.2007, 00:47
Arsa
Отправлено: 16.03.2007, 00:29


Дежурный стрелочник

Группа: Участник
Сообщений: 77



to desivers:
Спасибо, завтра вникну в твой код!
Arsa
Отправлено: 16.03.2007, 00:33


Дежурный стрелочник

Группа: Участник
Сообщений: 77



А может у кого -нибудь есть примерчик реализации через библиотеку ctype.h? Или все же лучше следовать примера desiver'а?
desivers
Отправлено: 16.03.2007, 00:37


Дежурный стрелочник

Группа: Участник
Сообщений: 32



а что за ctype.h
число должно быть положительным?

Отредактировано desivers — 16.03.2007, 00:40
Guest
Отправлено: 16.03.2007, 00:54


Не зарегистрирован







QUOTE
а что за ctype.h
В нее входит isdigit() и тд ... посмотри в гугле — там полно инфы по этой библиотечке.
QUOTE
число должно быть положительным?

Да, но с этим я разберусь ...
Guest
Отправлено: 16.03.2007, 14:40


Не зарегистрирован







CODE

char a[5];
cin>>a;
echo<<a;

Есть проблема заполнения массива,когда юзер вводит, напрмер, "5 7" (5пробел7), а надо чтоб массив был таким: a[0]='5', a[1]=' ', a[2]=7.
Может кто подскажет чего? Зарание спасибо!
Guest
Отправлено: 16.03.2007, 14:57


Не зарегистрирован







QUOTE
Есть проблема заполнения массива,когда юзер вводит, напрмер, "5 7" (5пробел7), а надо чтоб массив был таким: a[0]='5', a[1]=' ', a[2]=7.
Может кто подскажет чего? Зарание спасибо!

Все разобрался сам ...

Вернуться в Вопросы программирования в C++Builder