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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
Delpix
delpix.ru
19 / 19 / 1
Регистрация: 06.05.2011
Сообщений: 235
#1

Обеспечить, чтобы каждое новое предложение в тексте начиналось с большой буквы - C++

18.05.2011, 01:50. Просмотров 1777. Ответов 3
Метки нет (Все метки)

Данная программа должна обеспечить, чтобы каждое новое предложение в тексте начиналось с большой буквы. Она работает, но не делает заглавной самую первую букву. Помогите подредактировать код.
C++
1
2
3
4
5
6
7
8
for (int i = 0; i < size; ++i)
        if (str[i] == '.' || str[i] == '!' || str[i] == '?')        
{
    while (str[++i] == ' ');
    str[i] = toupper(str[i]);
    
}
        cout<<str<<endl;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2011, 01:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обеспечить, чтобы каждое новое предложение в тексте начиналось с большой буквы (C++):

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

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

Каждое предложение в тексте сделать с заглавной буквы - C++
Есть текст , в котором стоят запятые , знаки пунктуации и пробелы ( со стандартного ввода ) Требуется : после &quot;.&quot; , &quot;!&quot; , &quot;?&quot; поставить...

Подскажите пожалуйста какими функциями можно выделять предложение в тексте и при нажатии на клавишу, чтобы выделялось другое предложение - C++
#define _CRT_SECURE_NO_WARNINGS #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;stdio.h&quot; #include &quot;string&quot; using namespace...

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

Переформировать текст так, чтобы каждое предложение занимало отдельную строку - C++
Переформировать весь текст так, чтобы каждое предложение занимало отдельную строку. (Признак конца предложения - точка.)

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Aneron
158 / 157 / 12
Регистрация: 20.04.2010
Сообщений: 570
18.05.2011, 06:35 #2
у тебя нет знаком окончания предложения перел первым предлодением.аоэтому не видит. просто найди первую букву и увеличь
Delpix
delpix.ru
19 / 19 / 1
Регистрация: 06.05.2011
Сообщений: 235
18.05.2011, 06:59  [ТС] #3
Цитата Сообщение от Aneron Посмотреть сообщение
у тебя нет знаком окончания предложения перел первым предлодением.аоэтому не видит. просто найди первую букву и увеличь
С кодом помоги плиз
dampir_sanek
150 / 148 / 21
Регистрация: 09.02.2010
Сообщений: 407
18.05.2011, 08:26 #4
Delpix, держи
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <ctype.h>
 
using namespace std;
 
int main()
{
    char str[256];
    cout << "Vvedite stroku: ";
    cin >> str;
    unsigned int i;
    for (i = 0; i < strlen(str); ++i)
        if (str[i] != '.' || str[i] != '!' || str[i] != '?')
        {
            while (str[i] == ' ')
                i++;
            str[i] = toupper(str[i]);
            break;
        }
    cout<<str<<endl;
}
Добавлено через 35 минут
Delpix,
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
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <ctype.h>
 
using namespace std;
 
int main()
{
    char str[256];
    cout << "Vvedite stroku: ";
    fgets(str, 256, stdin);
    unsigned int i;
    unsigned int pos = 0;
    for (i = 0; i < strlen(str); ++i)
    {
        if (str[i] == ' '){
          i++;
          pos = i;
        }
        else
         if (isalpha(str[i])){
            str[i] = toupper(str[i]);
            break;
         }
    }
 
    for (i = pos; i < strlen(str); ++i)
        if (str[i] == '.' || str[i] == '!' || str[i] == '?')
        {
            i++;
            while (str[i] == ' ')
                i++;
            str[i] = toupper(str[i]);
        }
    cout<<str<<endl;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2011, 08:26
Привет! Вот еще темы с ответами:

Нужно, чтобы каждое записанное число записывалось в файл, каждое с новой строки - C++
Нужно, чтобы каждое записанное число записывалось в файл, каждое с новой строки, желательно. В чем здесь ошибка? #include &lt;iostream.h&gt; ...

Перевод чисел в двоичную СС. Так, чтобы сразу начиналось со значащей цифры - C++
В общем, задание такое: &quot;Заданные числа A и B представить в форме с плавающей запятой в коротком формате («слово») ЕС ЭВМ&quot; Я все делаю,...

В тексте удалить каждое четное слово, продублировать каждое нечетное слово - C++
Не могу решить данную задачу, много чего перечитал, за помощь буду благодарен В тексте удалить каждое четное слово, продублировать...

В тексте удалить каждое четное слово, продублировать каждое нечетное слово - C++
Не могу решить данную задачу, много чего перечитал, за помощь буду благодарен&quot; &quot;В тексте удалить каждое четное слово, продублировать...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.05.2011, 08:26
Ответ Создать тему
Опции темы

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