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

Проверка правильности ввода числа - C++

Восстановить пароль Регистрация
 
Lexx29
 Аватар для Lexx29
0 / 0 / 0
Регистрация: 10.03.2013
Сообщений: 12
19.06.2014, 21:23     Проверка правильности ввода числа #1
Всем привет! Прошу помочь с такой задачей:
Дано число в двоичной системе счисления. Проверить правильность ввода этого числа (в его записи должны быть только символы 0 и 1). Если число введено неверно, повторить ввод. При правильном вводе перевести число в десятичную систему счисления.

Для меня задача довольно трудна. Нашёл что-то подобное тут же, но перевести в с++ не смог:
Pascal
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
31
32
uses crt;
var s:string;
    i,j,sum,sum2:integer;
begin
clrscr;
repeat
j:=0;
writeln('Введите число в двоичной системе:');
Readln(s);
for i:=1 to length(s) do
if not (s[i] in ['0','1']) then {если есть что-то кроме 0 и 1}
 begin
  j:=1;
  writeln('Число введено неверно. Повторите ввод.');
  break;
 end;
until j=0;
sum:=0;{начинаем составлять десятичное число}
for i:=length(s)-1 downto 1 do{идем спредпоследнего знака назад}
 begin
  if s[i]='1' then{если 1}
   begin
    sum2:=1;{составляем очередную степень числа 2}
    for j:=1 to length(s)-i do sum2:=sum2*2;{возводим 2 в степень ее позизии с конца-1}
   end
  else sum2:=0;{если ноль ничего}
  sum:=sum+sum2;{прибавляем очередное слагаемое}
 end;
if s[length(s)]='1' then inc(sum);{если последнее в исходной строке = 1, увеличиваем число на 1}
writeln('Число в десятичной системе = ',sum);
readln
end.
Помогите пожалуйста)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2014, 21:23     Проверка правильности ввода числа
Посмотрите здесь:

C++ Проверка ввода целого числа
C++ Проверка правильности ввода строки...
C++ Проверка правильности ввода
Проверка правильности ввода для переменной типа short C++
Проверка правильности ввода C++
C++ Проверка правильности ввода. Запретить ввод чисел
C++ Проверка на корректность ввода числа
Проверка правильности ввода C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Renji
1534 / 982 / 240
Регистрация: 05.06.2014
Сообщений: 2,958
19.06.2014, 21:29     Проверка правильности ввода числа #2
Мы не ищем легких путей?
C++
1
2
3
4
5
6
char*check;
int binary_int=strtol(some_line,&check,2);
if(*check)
    cout<<"всю строчку перегнать в число не вышло. Ой, бида, бида"<<endl;
else
    cout<<binary_int<<endl;
Yandex
Объявления
19.06.2014, 21:29     Проверка правильности ввода числа
Ответ Создать тему
Опции темы

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