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

Проверка числа на то, что оно целое - C++

Восстановить пароль Регистрация
 
Seroga7
 Аватар для Seroga7
6 / 6 / 1
Регистрация: 08.12.2012
Сообщений: 147
19.02.2013, 00:54     Проверка числа на то, что оно целое #1
Помогите пожалуйста выловить ошибку:

Функция должна проверять введенную пользователем строку. Если строка - целое число, возвращать его. Но что-то идет не так, может кто со свежей головой поможет разобраться.

Функция проверяет посимвольно строку, и если символ не цифра, то просит повторить ввод, если цифра - заносит в массив. При всех цифрах, цикл заканчивается и делается преобразование массива в введенное число.

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
int proverka_na_int(){
 
char stroka[10];
int i,j=0;
int minys_indicator=0;
 
start:
cout << "Vvedi chislo\n";
gets(stroka);
 
if (stroka[0]=='-') {
    minys_indicator=1;
    }
 
int array_of_numbers[10]={0};
for (i=0;;++i) {
    
 
    if (stroka[i]>='0' && stroka[i]<='9') {
    array_of_numbers[j]=(int)stroka[i];
    cout << array_of_numbers[j] << "\n";
    ++j;
    } if (stroka[i]=='\n') {
    break;
    } else {
    cout << "Ne chislo\n";
    goto start;
    }
 
    
}
 
int summ=0;
 
for (i=0;i<j;++i) {
summ+=array_of_numbers[i]*pow(10.0,(j-(i+1)));
}
 
if (minys_indicator==0) {
return summ;
}
if (minys_indicator==1) {
    summ=summ*(-1);
    return summ;
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2013, 00:54     Проверка числа на то, что оно целое
Посмотрите здесь:

C++ While4°. Дано целое число N (> 0). Если оно является степенью числа 3, то вывести true, если не является — вывести false.
C++ Дано целое число N. Найдите все такие целые числа d, что N делится на d2 и не делится на d3.
C++ Дано целое число N (> 1). Если оно является простым
Дано целое число N(>0). Если оно является степенью числа 3, то вывести TRUE, если не является-вывести FALSE. C++
Для данного натурального числа n определите такое наименьшее целое k, что... C++
C++ Составить функцию, которая, получив целое число определяет, уменьшается ли оно в целое число раз
C++ Написать программу, которая считывает целое число, определяет и печатает, четное оно или нечетное
Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
 Аватар для Байт
13993 / 8824 / 1231
Регистрация: 24.12.2010
Сообщений: 15,990
19.02.2013, 01:04     Проверка числа на то, что оно целое #2
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
char stroka[10];
int i, k=0, summ;
int minys_indicator=0;
 
start:
cout << "Vvedi chislo\n";
gets(stroka);
 
if (stroka[0]=='-') {
    minys_indicator=1;
    k = 1;
 }
 for (i=k, summ=0;;++i) {
    if (stroka[i]>='0' && stroka[i]<='9') {
      summ = 10*summ + stroka[i] - '0';
      cout << strka[i] << "\n";
    } 
    else if (stroka[i]=='\n') {
    break;
    } else {
    cout << "Ne chislo\n";
    goto start;
    }
 }
 if (minys_indicator==0) return summ;
 else return -summ;
}
Seroga7
 Аватар для Seroga7
6 / 6 / 1
Регистрация: 08.12.2012
Сообщений: 147
19.02.2013, 01:14  [ТС]     Проверка числа на то, что оно целое #3
Спасибо, теперь массив заполняет правильно, но все равно всегда пишет что "не число"
Yandex
Объявления
19.02.2013, 01:14     Проверка числа на то, что оно целое
Ответ Создать тему
Опции темы

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