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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
laiendamine
Сообщений: n/a
#1

Invalid conversion from 'const char*' to 'char' - C++

16.05.2012, 18:39. Просмотров 1234. Ответов 2
Метки нет (Все метки)

Здравствуйте. Смысл нижеприведенного кода - сосчитать количество запятых и точек во вводимом тексте. Редкостный быдлокод, неудивительно, что не работает, однако хочется всё же выявить проблемы и сделать его работоспособным. Насколько я понял, ошибки вылезают из-за несоответствия типов данных. Не подскажете, как пофиксить? (использую qt в качестве компилятора)

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
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
 
int main()
{
    int n,f;
    cin >> f;
    int l = strlen(f);
    int countz, counttoc;
    char zn[2];
       zn[1] = ",";
       zn[2] = ".";
 
 
    //---------------------- Вычисление запятых -----------------------
    for (n=0; n<=l; n++)
    {
    if (f[n] = zn[1]) countz=+1;
    }
    cout << counttoc; //вывод количества запятых на экран
 
 
    //---------------------- Вычисление точек -------------------------
    for (n=0; n<=l; n++)
    {
    if (f[n] = zn[2]) counttoc=+1;
    }
    cout << counttoc; //вывод количества точек на экран
 
}
Добавлено через 2 часа 42 минуты
Хм, а возможно ли реализовать подобное через регулярные выражения?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2012, 18:39     Invalid conversion from 'const char*' to 'char'
Посмотрите здесь:
Работа со строками - Invalid conversion from 'char' to 'const char*' C++
C++ [Ошибка] invalid conversion from 'const char*' to 'char*' [-fpermissive]
Ошибка invalid conversion from 'const char*' to 'char*' C++
Invalid conversion from ‘char’ to ‘const char*’ C++
C++ Invalid conversion from 'char' to 'const char*'
C++ Invalid conversion from ‘char**’ to ‘const char**’
C++ Invalid conversion from `int' to `const char*'
Несовместимость типов данных: Error:invalid conversion from 'int' to 'const char*' C++
C++ Error: invalid conversion from 'char' to 'char*' [-fpermissive]|
C++ invalid conversion from "const char*" to "char"
C++ conversion from ‘char’ to ‘const char*’
C++ Ошибка: "invalid conversion from char* to char"

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alex_Konkov
51 / 11 / 2
Регистрация: 11.05.2012
Сообщений: 21
16.05.2012, 18:46     Invalid conversion from 'const char*' to 'char' #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
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
 
int main()
{
    int n;
    string f;
    cin >> f;
    int l = f.length();
    cout<<l<<endl;
    int countz=0, counttoc=0;
 
    //---------------------- Âû÷èñëåГ*ГЁГҐ Г§Г*ïÿòûõ -----------------------
    for (n=0; n<=l; n++)
    {
    if (f[n] == ',') countz++;
    }
    cout << countz<<endl; //âûâîä êîëè÷åñòâГ* Г§Г*ïÿòûõ Г*Г* ГЅГЄГ°Г*Г*
 
 
    //---------------------- Âû÷èñëåГ*ГЁГҐ òî÷åê -------------------------
    for (n=0; n<=l; n++)
    {
    if (f[n] == '.') counttoc++;
    }
    cout << counttoc; //âûâîä êîëè÷åñòâГ* òî÷åê Г*Г* ГЅГЄГ°Г*Г*
_getch();
return 0;
}
Добавлено через 1 минуту
написано в C++Builder6
laiendamine
Сообщений: n/a
16.05.2012, 19:40     Invalid conversion from 'const char*' to 'char' #3
Цитата Сообщение от Alex_Konkov Посмотреть сообщение
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
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
 
int main()
{
    int n;
    string f;
    cin >> f;
    int l = f.length();
    cout<<l<<endl;
    int countz=0, counttoc=0;
 
    //---------------------- Âû÷èñëåГ*ГЁГҐ Г§Г*ïÿòûõ -----------------------
    for (n=0; n<=l; n++)
    {
    if (f[n] == ',') countz++;
    }
    cout << countz<<endl; //âûâîä êîëè÷åñòâГ* Г§Г*ïÿòûõ Г*Г* ГЅГЄГ°Г*Г*
 
 
    //---------------------- Âû÷èñëåГ*ГЁГҐ òî÷åê -------------------------
    for (n=0; n<=l; n++)
    {
    if (f[n] == '.') counttoc++;
    }
    cout << counttoc; //âûâîä êîëè÷åñòâГ* òî÷åê Г*Г* ГЅГЄГ°Г*Г*
_getch();
return 0;
}
Добавлено через 1 минуту
написано в C++Builder6
Благодарю! Код теперь работает. В QT всё отражается корректно, но есть и странность в поведении: если рядом с точкой или запятой стоит пробел, она не считается. Странно.
Yandex
Объявления
16.05.2012, 19:40     Invalid conversion from 'const char*' to 'char'
Ответ Создать тему
Опции темы

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