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

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

Войти
Регистрация
Восстановить пароль
 
zasadadada
-27 / 8 / 1
Регистрация: 03.05.2013
Сообщений: 482
#1

Не получается распознать символ + или - из string - C++

03.07.2014, 23:05. Просмотров 262. Ответов 4
Метки нет (Все метки)

не могу распознать символ + - * / в строке
C++
1
2
3
4
5
6
7
8
9
10
             if(array[i] >= '0' and array[i] < '9') {
                работает
                    };
 
 
                    
                    if(array[i] == '+') {
                    
                    не работает
                    };
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2014, 23:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не получается распознать символ + или - из string (C++):

Как распознать цифру или пробел в string? - C++
Дана задача: /* Результаты вступительных экзаменов представлены в виде списка из N строк, * в каждой строке которого записаны фамилия...

Ввести с клавиатуры символ (в переменную char) и определить, соответствует ли введенный символ 'Q' или 'q' - C++
1)Ввести с клавиатуры символ (в переменную char) и определить, соответствует ли введенный символ 'Q' или 'q' (использовать логический...

Где и почему используют ту или иную строку std::string, char[], System::String^ ? - C++
Где и почему используют ту или иную строку std::string, char, System::String^ ? Объясните пожалуйста где нужно использовать...

Заменить использование istringstream на вариант из string или string.h - C++
Как заменить 14 строку функцией из &lt;string&gt; или &lt;string.h&gt; и без &lt;sstream&gt; {deleted} П.5.19.Правил Запрещено создавать темы в виде...

Как распознать молнию на картинке используя компьютерное зрения (OpenCV или альтернативы) - C++
Всем привет. Передо мной стоит задача - произвольную фотографию проверить на наличие изображения молнии. С чего начать? Молния на...

Принимать string или string& - C++
Нужно принимать аргумент string&amp;, если передается string, и string, если передается не string Лучше сформулировать сходу не получилось,...

4
BlackSpace
137 / 130 / 52
Регистрация: 15.03.2014
Сообщений: 277
03.07.2014, 23:43 #2
Как я понимаю, Вы работаете с символьным массивом. Простой пример.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cstring>
 
 
using namespace std;
 
int main() {
 
    char array[] = "123+456-789+987+";
 
    for( size_t i = 0; i < strlen( array ) ; ++i )
 
        if ( array[ i ] == '+' || array[ i ] == '-' )
            cout << i << endl;
    
    return 0;
}
0
zasadadada
-27 / 8 / 1
Регистрация: 03.05.2013
Сообщений: 482
03.07.2014, 23:57  [ТС] #3
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
using namespace std;
 
int calc (string in);
 
int main()
{
        calc("10*11+12+13*14+_=-");
    
    return 0;
}
 
int calc (string in) {
        
    int size = in.length();
 
    string o1;
    
 
    for(int i = 0; i < size ; i++) {
             if(in[i] >= '0' and in[i] < '9') {
                              //работает
                    };
                    
                    if(in[i] == '=') {
                     //не работает
                    };
 
             };
    };
        
    getchar();
 
return 0;
};
использую string
0
BlackSpace
137 / 130 / 52
Регистрация: 15.03.2014
Сообщений: 277
04.07.2014, 00:09 #4
Пример как распознать, используя string и индексы символов.
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
#include <iostream>
 
using namespace std;
 
void calc( string in );
 
int main() {
 
    calc( "10*11+12+13*14+_=-" );
 
    return 0;
    //getchar(); или что-то еще если нужно чтобы окно не закрылось
}
 
void calc( string in ) {
 
    for ( string::size_type i = 0; i < in.length(); ++i ) {
 
        if ( in[ i ] >= '0' && in[ i ] <= '9' )
            cout << i << ": is number" << endl;
 
        else if ( in[ i ] == '=' )
            cout << i << ": is =" << endl;
 
        else
            cout << i << ": is other" << endl;
 
    }
}
1
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.07.2014, 00:14 #5
Цитата Сообщение от zasadadada Посмотреть сообщение
использую string
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
#include <string>
using namespace std;
 
int calc (string in);
 
int main()
{
        calc("10*11+12+13*14+_=-");
    
        return 0;
}
 
int calc (string in) 
{
        
    int size = in.length();
 
    string o1;
    
    for(int i = 0; i < size ; i++) 
    {
             if(in[i] >= '0' && in[i] < '9') 
             {
                  cout << "0-9" << endl;
             }
                    
            if(in[i] == '=') 
            {
                cout << '=' << endl;
            }
 
    }
    return 0;
}
1
Миниатюры
Не получается распознать символ + или - из string  
04.07.2014, 00:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2014, 00:14
Привет! Вот еще темы с ответами:

String вставить символ - C++
string a = &quot;bc&quot;; a.insert(0, char(65)); выдает ошибку и я не знаю почему а так работает a.insert(0, &quot;a&quot;);

Строка string, последний символ - C++
Подскажите, совсем голову сломал) В char массиве мы можем определить последний символ как '\0' А как найти его в string? Вот к...

Не получается вставить символ - C++
здравствуйте. Программа у меня складывает 2 денежные суммы выраженные в фунтах, шиллингах и пенсах и выводит результат. Но перед вводимым и...

Получить указатель на символ строки string - C++
надо получить указатель на i-ый символ строки string как это сделать? и еще если у меня будет указатель на i-ый символ строки string как...


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

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

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