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

Длина строки - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
lostpoet
7 / 7 / 2
Регистрация: 21.03.2012
Сообщений: 96
04.11.2012, 18:11     Длина строки #1
У меня задача стоит что бы пользователь ввёл какой-то текст, а потом программа вычислала длину этой стороки.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream.h>
#include <string.h>
#include <conio.h>
void main()
{
clrscr();
char text; int n,m,d;
cout<<"vvedit prizvische, im'ja, po bat'kovi"<<endl;
cin>>text;
d=strlen(text);
getch();
}
Вот код начала программы (просто там ище стоит задание определить сколько всего букв "а", но об этом потом) и на строчке где d=strlen(text); выдает постоянно ошибку. Помогите пожалуйста с решением этой проблемы. Заранее благодарна=))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2012, 18:11     Длина строки
Посмотрите здесь:

C++ Длина строки - вопросец.
C++ файл и длина строки
C++ Длина строки в С++
Полезная длина строки C++
C++ Длина строки в С++
Длина строки в векторе C++
C++ длина строки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12278 / 6965 / 784
Регистрация: 27.09.2012
Сообщений: 17,272
Записей в блоге: 2
Завершенные тесты: 1
04.11.2012, 18:26     Длина строки #2
как-то так:
C++
1
2
3
4
5
6
    char text[256]={0}; int n,m,d;
    std::cout<<"vvedit prizvische, im'ja, po bat'kovi"<<std::endl;
    std::cin>>text;
    d=strlen(text);
    std::cout<<d<<std::endl;
    getch();
wtf?
19 / 19 / 0
Регистрация: 03.10.2010
Сообщений: 48
04.11.2012, 18:28     Длина строки #3
C++
1
char text;
это обьявление всего лишь одного символа а не строки..
вот правильный вариант
C++
1
2
3
4
    char text[80]; int n,m,d;
    cout<<"vvedit prizvische, im'ja, po bat'kovi"<<endl;
    cin.getline( text, 80 );
    d=strlen(text);
Добавлено через 56 секунд
Croessmah,
C++
1
std::cin>>text;
так будет считыватся только первое слово
lostpoet
7 / 7 / 2
Регистрация: 21.03.2012
Сообщений: 96
04.11.2012, 18:31  [ТС]     Длина строки #4
Добавила в програму, а оно только еще больше ошыбок выдало. И что такое std?

Добавлено через 1 минуту
нащёт считываться, то я поменяю, а у меня компилятор не примает команду strlen(text) как с етим бороться?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
04.11.2012, 18:35     Длина строки #5
Цитата Сообщение от lostpoet Посмотреть сообщение
а у меня компилятор не примает команду strlen(text) как с етим бороться?
strlen в качестве аргумента принимает указатель на char, а Вы ему пытаетесь скормить просто char.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12278 / 6965 / 784
Регистрация: 27.09.2012
Сообщений: 17,272
Записей в блоге: 2
Завершенные тесты: 1
04.11.2012, 18:36     Длина строки #6
Цитата Сообщение от lostpoet Посмотреть сообщение
Добавила в програму, а оно только еще больше ошыбок выдало. И что такое std?
фаил <iostream.h> давно устарел. Вместо него используется <iostream>.
В последнем определения cout, cin, и т.д. определены в пространстве имен std.
Цитата Сообщение от lostpoet Посмотреть сообщение
нащёт считываться, то я поменяю, а у меня компилятор не примает команду strlen(text) как с етим бороться?
Мы не телепаты. Что пишет компилятор?
lostpoet
7 / 7 / 2
Регистрация: 21.03.2012
Сообщений: 96
04.11.2012, 18:37  [ТС]     Длина строки #7
Тогда если не сложно напишыте отрывок программы, просто с указателями не имела дела и не могу толком розобраться с ними.
kazak
04.11.2012, 18:38
  #8

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
фаил <iostream.h> давно устарел.
Тем не менее, Borland C++ for DOS все еще популярен в наших вузах.

Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12278 / 6965 / 784
Регистрация: 27.09.2012
Сообщений: 17,272
Записей в блоге: 2
Завершенные тесты: 1
04.11.2012, 18:39     Длина строки #9
C++
1
2
3
4
5
6
7
8
9
void main()
{
clrscr();
char text[80]; int n,m,d;
cout<<"vvedit prizvische, im'ja, po bat'kovi"<<endl;
cin.getline( text, 80 );
d=strlen(text);
getch();
}
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
04.11.2012, 18:40     Длина строки #10
lostpoet, воспользуйтесь вариантом wtf?.

Добавлено через 48 секунд
Или последним Croessmah'a
Croessmah
04.11.2012, 18:41
  #11

Не по теме:

Цитата Сообщение от kazak Посмотреть сообщение
Тем не менее, Borland C++ for DOS все еще популярен в наших вузах.
Но, видимо, не уведомляют о том, что фаил устаревший.

kazak
04.11.2012, 18:43
  #12

Не по теме:

Croessmah, кто б преподавателей уведомил

lostpoet
7 / 7 / 2
Регистрация: 21.03.2012
Сообщений: 96
04.11.2012, 18:43  [ТС]     Длина строки #13
Если брать начальный код программы, который я предоставила - то выдает вот такие ошибки:
Error 92.CPP 10: Cannot convert 'int' to 'const char *'
Error 92.CPP 10: Type mismatch in parametr '__s' in call to '__strlen(const char *)'
Croessmah
04.11.2012, 18:44
  #14

Не по теме:

Цитата Сообщение от kazak Посмотреть сообщение
Croessmah, кто б преподавателей уведомил
В точку! Но всё же...

lostpoet
7 / 7 / 2
Регистрация: 21.03.2012
Сообщений: 96
04.11.2012, 18:44  [ТС]     Длина строки #15
И еще одно использую Турбо Си 3,0, поетому диирективы препоцесора записаны верно

Но только преподаватель сказал чтобы char text; оставался как есть и не задавать определённое количество символов для него
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
04.11.2012, 18:50     Длина строки #16
Цитата Сообщение от lostpoet Посмотреть сообщение
И еще одно использую Турбо Си 3,0, поетому диирективы препоцесора записаны верно
Дело не в директивах, Вы исправили объявление text?
lostpoet
7 / 7 / 2
Регистрация: 21.03.2012
Сообщений: 96
04.11.2012, 19:00  [ТС]     Длина строки #17
Обьясняю при обьявлении переменной не нужно обьявлять количество символов, допустим при считывании поставится число, но при обьявлении нельзя ставить, по этому и нужно определить длину строки, что бы со строкой можно было дальше роботать

Добавлено через 6 минут
Вот когда при обьявлении переменной поставить количество символов, то проблем конечно нет, но все же попробую сдать этот вариант, возможно приймет и так программу. Спасибо за помощь))
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
04.11.2012, 19:05     Длина строки #18
Вот Вам вариант без массива.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
 
int main(int argc, char* argv[])
{
   char text;
   int lenth = 0;
 
   cout << "Vvedite stroku: ";
   while ((text = cin.get()) != '\n')
      lenth++;
 
   cout << "Dlina stroki = " << lenth << endl;
 
   system("pause");
   return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2012, 19:18     Длина строки
Еще ссылки по теме:

Дерево и длина строки C++
строки в с++ проверить является четным числом длина введенной пользователем строки и вывести сообщение на экран C++
C++ длина строки
Длина строки до ввода ? C++
Удалить из строки среднюю букву, если длина строки нечётная или две средних в противном случае C++

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

Или воспользуйтесь поиском по форуму:
lostpoet
7 / 7 / 2
Регистрация: 21.03.2012
Сообщений: 96
04.11.2012, 19:18  [ТС]     Длина строки #19
Большое спасибо, этот вариант как раз подходит))
Yandex
Объявления
04.11.2012, 19:18     Длина строки
Ответ Создать тему
Опции темы

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