Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 53, средняя оценка - 4.87
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
#1

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

20.12.2009, 12:15. Просмотров 7416. Ответов 6
Метки нет (Все метки)

Есть готовый, и работающий код.

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

Чтобы на 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2009, 12:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверка, является ли строка целым числом? (C++):

Проверить, если число n является нечётным числом - C++
Помогите пожалуйста написать программу: проверить, если число n является нечётным числом... Вроде лёгкая,но чё-то не получается...

Является ли введенная с клавиатуры строка шестнадцатеричным числом? (XE4, визуальный режим) - C++ Builder
доброй ночи, уважаемые программисты, умные школьники, преуспевающие студенты, а также все форумчане. помогите, пожалуйста, написать...

Как определить является ли веденный символ числом? - C++ Builder
Подскажите пожалуйста как определить является ли веденный символ числом?

Как проверить, является ли введенное значение числом? - C++ Builder
В поле Edit нужно ввести число. Как проверить, не ввел ли туда пользователь недопустимый символ (букву)?

Как проверить является ли данный элемент строки числом. - C++ Builder
В Edit вводится функция, например, 3*x+2 или любая другая. Я присваиваю ее строке, и дальше хотелось бы посимвольно проверить каждый...

Проверить истинность высказывания: "Данное целое число является четным трехзначным числом" - C++ Builder
не знаю как найти решение

6
Monte-Cristo
2790 / 1376 / 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;
0
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
20.12.2009, 12:38  [ТС] #3
>> Monte-Cristo

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

Добавлено через 51 секунду
или сразу юзай СТЛ
0
OVERPOWER8
19 / 19 / 1
Регистрация: 29.11.2009
Сообщений: 224
20.12.2009, 13:52  [ТС] #5
Цитата Сообщение от outoftime Посмотреть сообщение
сразу юзай СТЛ
Хорошая идея. Только бы знать, как.
0
outoftime
║XLR8║
511 / 433 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
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/library/a7tkse1h(VS.80).aspx на все случаи жиздни)

Добавлено через 1 минуту
http://msdn.microsoft.com/en-us/library/w2d7w2x2(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 - примитивно и с ошибками но идея ясна..
1
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;
}
Спасибо, думаю, это мне подойдет.
0
20.12.2009, 15:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2009, 15:16
Привет! Вот еще темы с ответами:

Проверить, является ли содержимое CString целым числом - Visual C++
в CString хранится число. надо проверить, точно ли это число... на васике есть замечательный subj именно для этих целей

Какой элемент массива является положительным числом - Visual C++
Дан массив целых чисел. Выяснить, является ли какой-либо элемент массива положительным числом, является ли какой-либо элемент массива...

Является ли строка целым числом, вещественным или не является числом - Visual Basic .NET
Задание. Определите, является ли заданная строка записью целого числа, записью вещественного числа, или строку нельзя преобразовать в...

Является ли строка целым числом - Pascal ABC
Дана строка символов. Если она представляет собой запись целого числа, то вывести 1; если вещественного (с дробной частью), то вывести 2.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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