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

Проверка, является ли строка целым числом? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 53, средняя оценка - 4.87
OVERPOWER8
 Аватар для OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
20.12.2009, 12:15     Проверка, является ли строка целым числом? #1
Есть готовый, и работающий код.

Нужно только немного изменить:

Чтобы на 25 строке вместо
C++
1
char k[100];
Было
C++
1
char* k;
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
#include <iostream>
#include <ctype.h>
 
using namespace std;
 
bool CheckInt(char* str)
{
    int symbols = 0;
    int digits = 0;
    
    while(*str !=0)
    {
        symbols++;
        if(isdigit(*str++))
            digits++;
    }
    if(symbols==digits)
        return true;
    else
        return false;
}
 
int main()
{
    char k[100];
    cout << "Enter number\n-> ";
    cin >> k;
    
    cout << "Entered number is ";
    
    if(CheckInt(k)) 
        cout << "integer" << endl;
    else
        cout << "NOT integer" << endl;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2009, 12:15     Проверка, является ли строка целым числом?
Посмотрите здесь:

Проверить, является ли введенная с клавиатуры строка целым числом C++
C++ Проверить, является ли введенная строка восьмеричным числом
C++ Определить, является ли введенная с клавиатуры строка вещественным числом
Visual C++ Проверить, является ли содержимое CString целым числом
Проверка является ли строка вещественным числом, если да то записать его в вещественную переменную C++
C++ Проверить является ли строка числом
Проверка является ли строка числом полностью числом или нет? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
20.12.2009, 12:23     Проверка, является ли строка целым числом? #2
C++
1
char *k = new char[100];
и перед return 0;
C++
1
delete[] k;
OVERPOWER8
 Аватар для OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
20.12.2009, 12:38  [ТС]     Проверка, является ли строка целым числом? #3
>> Monte-Cristo

Спасибо, но это НЕ совсем то, что я имел в виду.
Мне надо, чтобы
C++
1
char*k;
мог быть произвольной длины
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
20.12.2009, 13:39     Проверка, является ли строка целым числом? #4
опиши очередь, или стек, или и то и другое..

Добавлено через 51 секунду
или сразу юзай СТЛ
OVERPOWER8
 Аватар для OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
20.12.2009, 13:52  [ТС]     Проверка, является ли строка целым числом? #5
Цитата Сообщение от outoftime Посмотреть сообщение
сразу юзай СТЛ
Хорошая идея. Только бы знать, как.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
20.12.2009, 14:21     Проверка, является ли строка целым числом? #6
опиши аглоритм, а я пока то как понял накатаю..

Добавлено через 5 минут
проверка только целых чисел:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <algorithm>
 
using namespace std;
 
string R(string s){return (count_if(s.begin(),s.end(),isdigit) == s.size()) ? ("Yes") : ("No");}
 
int main()
{
    string s;
    getline(cin,s);
    cout << (R(s)) << endl;
    system("pause");
    return 0;
}
Добавлено через 1 минуту
касательно СТЛ-я, юзай МДСН http://msdn.microsoft.com/en-us/libr...1h(VS.80).aspx на все случаи жиздни)

Добавлено через 1 минуту
http://msdn.microsoft.com/en-us/libr...x2(VS.80).aspx - это для count_if

Добавлено через 2 минуты
http://www.google.ru/search?hl=ru&q=...rlz=1I7ADFA_ru - это запрос гуглу, короче ищешь таким образом stack, queue, list, set, map, vector, multiset и вообще все о чем слышал..

Добавлено через 11 минут
http://codepad.org/SfrHkgtC - примитивно и с ошибками но идея ясна..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2009, 15:16     Проверка, является ли строка целым числом?
Еще ссылки по теме:

Проверить, является ли введенная с клавиатуры строка шестнадцатеричным числом C++
C++ Является ли заданная строка шестнадцатеричным числом
Проверка, является ли число дробным или целым C++
Проверить является ли строка целым отрицательным числом C++
Функция проверяющая является ли строка числом C++

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

Или воспользуйтесь поиском по форуму:
OVERPOWER8
 Аватар для OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
20.12.2009, 15:16  [ТС]     Проверка, является ли строка целым числом? #7
Цитата Сообщение от outoftime Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <algorithm>
 
using namespace std;
 
string R(string s){return (count_if(s.begin(),s.end(),isdigit) == s.size()) ? ("Yes") : ("No");}
 
int main()
{
    string s;
    getline(cin,s);
    cout << (R(s)) << endl;
    system("pause");
    return 0;
}
Спасибо, думаю, это мне подойдет.
Yandex
Объявления
20.12.2009, 15:16     Проверка, является ли строка целым числом?
Ответ Создать тему
Опции темы

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