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

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

Войти
Регистрация
Восстановить пароль
 
Seroga7
6 / 6 / 1
Регистрация: 08.12.2012
Сообщений: 147
#1

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

19.02.2013, 00:54. Просмотров 313. Ответов 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
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++ Дано целое число N (> 1). Если оно является простым
Для данного натурального числа n определите такое наименьшее целое k, что... C++
Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно степенью двойки C++
Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно простым C++
C++ Создайте логическую функцию, которая принимает в качестве аргумента целое число и проверяет, является ли оно простым.
C++ Написать программу, которая считывает целое число, определяет и печатает, четное оно или нечетное
Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его C++
C++ Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него
C++ Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2
Вводится целое число определить простое оно или нет C++
C++ Дано целое число N (> 0). Проверить,является ли оно степенью числа 3. С++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
15551 / 9893 / 1487
Регистрация: 24.12.2010
Сообщений: 18,506
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
6 / 6 / 1
Регистрация: 08.12.2012
Сообщений: 147
19.02.2013, 01:14  [ТС]     Проверка числа на то, что оно целое #3
Спасибо, теперь массив заполняет правильно, но все равно всегда пишет что "не число"
Yandex
Объявления
19.02.2013, 01:14     Проверка числа на то, что оно целое
Ответ Создать тему
Опции темы

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