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

C++ Builder

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
TazzeR
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
#1

Borland c++ Builder: пересчет слов, букв, предложений - C++ Builder

17.01.2012, 23:36. Просмотров 1437. Ответов 9
Метки нет (Все метки)

Извените что обращаюсь с такой просьбой. Может кто нибудь помоч разобраться в написании программы под этот билдер (Borland c++ builder). Программа в которой через OpenDialog можно зарузить текст в Memo поле и чтоб она посчитала сколько букв ,слов и предложений в тексте. В поиске ничего не нешел, только консольные программы которые считаю через .txt. А мне нужно объектно ореинтированное программирование. Интересует в основном цикл.

Добавлено через 1 час 23 минуты
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
37
38
39
40
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <iostream>
#include "Unit1.h"
#include <conio>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Label1->Caption = Label1->Caption + "Букв - "+ + "Слов - " + " Предложений - " ;
 
 
int c,b,s,p,i;
b=strlen(Memo1->Text.c_str());
s=strlen(Memo1->Text.c_str());
p=strlen(Memo1->Text.c_str());
Label1->Caption=b;
Label2->Caption=s;
Label3->Caption=p;
Label1->Caption="Букв - "+  Label1->Caption ;
Label2->Caption="Слов - "+  Label2->Caption ;
Label3->Caption="Предложений - "+  Label3->Caption ;
}
 int kol=0; // счетчик
  int l = strlen(str); // длинна строки
 
  for (int i=0; i < l; i++)
 
// а что дальше с этим делать?
 Комментарий модератора 
Используйте теги форматирования кода!

 Комментарий модератора 
Внимательно выбирайте раздел форума, в котором собираетесь разместить свою тему!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2012, 23:36
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Borland c++ Builder: пересчет слов, букв, предложений (C++ Builder):

Подскажите где можно найти Borland C++ Builder или Borland Developer Studio 2006 C++ ? Очень надо. - C++ Builder
Подскажите где можно найти Borland C++ Builder или Borland Developer Studio 2006 C++ ? Очень надо.

Выделение предложений в RichEdit C++ Builder - C++ Builder
В форме по нажатию любой клавиши по очереди выделяются предложения в тексте элемента RichEdit1. Разделителем является символ '.' (точка)....

Borland C++ Builder - C++ Builder
Здраствуйте уважаемые программисты,очент глупый вопрос но все же...кто-нибудь знает где можно скачать толковый учебник по Borland C++...

Borland C++ Builder 6 - C++ Builder
Здравствуйте! Подскажите, как переносить курсор, кнопкой Еnter с клавиатуры? Сперва сделал так: if (Edit1-&gt;Text.Length() == 10) ...

Borland C++ Builder 6 - C++ Builder
Здравствуйте! Подскажите, что это за код... Как сделать, чтобы он отоброзился у меня? bool __fastcall TMainForm::ClipboardCheck(void) ...

Borland C++ Builder и Windows 7 - C++ Builder
Здравствуйте! У меня такая проблемка! Установил Borland C++ Builder 6 на Windows 7, все вроде нормально работает но Help совсем не работает...

9
LK
Заблокирован
17.01.2012, 23:48 #2
сколько букв
C++
1
Memo->Text.Length();
сколько слов - считаем пробелы, сколько предложений - считаем точки.
1
TazzeR
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
18.01.2012, 00:10  [ТС] #3
C++
1
2
3
4
5
6
7
8
Label1->Caption="Букв - "+  Label1->Caption ;
Label2->Caption="Слов - "+  Label2->Caption ;
Label3->Caption="Предложений - "+  Label3->Caption ;
}
 int kol=0; // счетчик
  int l = strlen(str); // длинна строки   тут ошибку пишет [C++ Error] Unit1.cpp(36): E2451 Undefined symbol 'str'
 
  for (int i=0; i < l; i++)
0
LK
Заблокирован
18.01.2012, 00:13 #4
правильно пишет - str - это у вас что и где оно есть ?
1
TazzeR
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
18.01.2012, 12:21  [ТС] #5
Немного переделал
C++
1
2
3
4
5
6
7
8
9
{
  int b,i,s,p = 0;
  Label1->Caption = " ";
  b=Memo1->Text.Length();
  for(i=0;i<b;i++) {
    как написать условие?
  }
  Label1->Caption = Label1->Caption+" Букв - "+IntToStr(b)+" Слов - "+" Предложений - " ;
}
0
LK
Заблокирован
18.01.2012, 20:41 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int b,i,j,s,p = 0;
char slow = ' ';
char predl = '.';
int pos_slow = Memo1->Text.Pos(slow); 
int pos_predl = Memo1->Text.Pos(predl); 
Label1->Caption = " ";
b=Memo1->Text.Length();
for(i=1;i<b;i++) { // нумерация в строке начинается с 1
  if (pos_slow) {
    i++;
  }
  if (pos_predl) {
    j++;
  }
}
Label1->Caption = Label1->Caption+
                  " Букв - "+IntToStr(b)+
                  " Слов - "+IntToStr(i)+
                  " Предложений - "+IntToStr(j);
как-то-так...
1
TazzeR
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
18.01.2012, 21:45  [ТС] #7
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
37
38
39
40
41
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int b,i,j,s,p = 0;
char slow = ' ';
char predl = '.';
int pos_slow = Memo1->Text.Pos(slow);
int pos_predl = Memo1->Text.Pos(predl);
Label1->Caption = " ";
b=Memo1->Text.Length();
for(i=1;i<b;i++) { // нумерация в строке начинается с 1
  if (pos_slow) {
    i++;
  }
  if (pos_predl) {
    j++;
  }
}
Label1->Caption = Label1->Caption+
                  " Букв - "+IntToStr(b)+
                  " Слов - "+IntToStr(i)+
                  " ГЏПредложений - "+IntToStr(j);
}
 
//---------------------------------------------------------------------------
Добавлено через 10 минут
У меня не считает, может не подключена библтотека?

вот скрин что получается (
 Комментарий модератора 
для вложений используйте встроенные возможности форума: кнопка Расширенный режим->Управление вложениями внизу окна редактирования сообщения, или в окне редактирования нажмите на скрепку.
Правила
2.11. Картинки загружайте на форум, во избежание их удаления или потери на сторонних ресурсах.
)

Добавлено через 5 минут
Еще хотел спросить ,можно ли сюда добавить еще '?' и '!' ?
C++
1
char predl = '.';
0
Миниатюры
Borland c++ Builder: пересчет слов, букв, предложений  
TazzeR
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
19.01.2012, 00:01  [ТС] #8
если букв 5 и один пробел, то считатет как букв-5,слов-6,а после пробела считатет буквы и слова одинаково по символам(, предложения вообще не считатет
0
QVO
644 / 455 / 32
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
Завершенные тесты: 3
19.01.2012, 17:26 #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int s = 0, p = 0, sub_s = 0, b = 0;
for(int i = 1; i < Memo1->Text.Length(); i++)
{
if(Memo1->Text[i] == ' ' || Memo1->Text[i] == '\n') s++;
if(Memo1->Text[i] == '.' || Memo1->Text[i] == '!' || Memo1->Text[i] == '?') p++;
if(Memo1->Text[i] == ':' || Memo1->Text[i] == ';' || Memo1->Text[i] == ',') sub_s++;
}
s = s + 1;
b = Memo1->Text.Length() - (s + p + sub_s) - Memo1->Lines->Count;
Label1->Caption = "Слов:"+String(s)+" Букв:"+String(b)+" Предложений:"+String(p);
}
//---------------------------------------------------------------------------
Проект во вложение.

P.S. с вас пиво
2
Вложения
Тип файла: rar forum.rar (342.0 Кб, 26 просмотров)
TazzeR
0 / 0 / 0
Регистрация: 17.01.2012
Сообщений: 6
19.01.2012, 18:57  [ТС] #10
Офигеть,спасибо большое ,от души!
0
19.01.2012, 18:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2012, 18:57
Привет! Вот еще темы с ответами:

Рисование в Borland Builder C++ . - C++ Builder
Вот в паскале всё просто - InitGraph() и потом что хошь то и делай. Как рисовать простоые вещи(2х мерные, просто линии и точки) в Borland...

Сеть в Borland Builder - C++ Builder
Так со синтаксисом BCB я разобрался. Помог мне в этом Nitan Теперь нужно освоить Сеть. Помогите. Что да как отсылается , за...

Вопросы по Borland C++ Builder 6.0 - C++ Builder
Приветствую Вас! У меня есть вопрос, по поводу файлов ресурсов *.res; : Как я могу подключить дополнительный фаил ресурса к проекту и при...

Функция Borland C++ Builder 3.1 - C++ Builder
Дорогие форумчане, помогите решить задачу: Описать функцию min(x,y,z), которая вернет значение наименьшего из трех своих аргументов....


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

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

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