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

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

Войти
Регистрация
Восстановить пароль
 
it1234567890
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 54
#1

Преобразовать все строчные буквы(как латинские, так и русские) в прописные, а прописные в строчные - C++

26.05.2015, 20:38. Просмотров 1517. Ответов 7
Метки нет (Все метки)

Дана строка. Преобразовать в ней все строчные буквы(как латинские, так и русские) в прописные, а прописные в строчные. Помогите, прошу
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2015, 20:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразовать все строчные буквы(как латинские, так и русские) в прописные, а прописные в строчные (C++):

Преобразовать в строке все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные - C++
Дана строка. Преобразовать в ней все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные.

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

Русские строчные буквы преобразовать в прописные - C++
Есть ли функция, что будет преобразовывать прописные русские буквы в строчные или наоборот? До этого использовал cctype, но с русскими...

Поменять все строчные буквы на прописные, прописные на строчные - C++
Дана строка с некоторым текстом. Составить программу, которая меняет в этом тексте все строчные буквы на прописные, прописные на строчные и...

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

Строка: Преобразовать в заданной пользователем строке все строчные буквы в прописные... - C++
Дана строка. Преобразовать в ней все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные.

7
dima55501
30 / 34 / 6
Регистрация: 14.07.2013
Сообщений: 146
26.05.2015, 20:51 #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
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    string str = "This Is StRiNg";
    for (int i = 0; i < str.length(); i++)
    {
        if (isupper(str[i]))
        {
            str[i] = tolower(str[i]);
        }
        else if(islower(str[i]))
        {
            str[i] = toupper(str[i]);
        }
    }
    cout << str << endl;
    system("pause");
    return 0;
}
0
it1234567890
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 54
26.05.2015, 20:56  [ТС] #3
dima55501, мне надо чтобы строка вводилась с клавиатуры, и можно писать и на англ и на русском, спасибо
0
aidarchiik
1 / 1 / 1
Регистрация: 27.01.2015
Сообщений: 45
26.05.2015, 21:06 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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>
#include <string>
#include <Windows.h>
 
using namespace std;
 
int main()
{
    setlocale(0,"");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    string str;
    cout<<"Введите строку:\n";
    getline(cin,str);
    for (int i = 0; i < str.length(); i++)
    {
        if (isupper(str[i]))
        {
            str[i] = tolower(str[i]);
        }
        else if(islower(str[i]))
        {
            str[i] = toupper(str[i]);
        }
    }
    cout << str << endl;
    system("pause");
    return 0;
}
Ты можешь столкнуться с проблемой, что русские буквы он не обрабатывает. Так вот чтобы решить эту проблему надо ввести библиотеку #include <Windows.h>, затем написать SetConsoleCP(1251); SetConsoleOutputCP(1251);. После этого тебе надо открыть консоль, затем нажать правой кнопкой(в самом окне,там где кнопки свернуть,на весь экран,закрыть),выбрать свойства=>шрифт=>Lucida Console. И все заработает
1
zss
Модератор
Эксперт С++
6680 / 6242 / 2081
Регистрация: 18.12.2011
Сообщений: 16,305
Завершенные тесты: 1
26.05.2015, 21:46 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <windows.h> 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Rus");
    char str[100]={0};
    cin.getline(str,100);
    OemToCharA(str,str);
    for (size_t i = 0; i<strlen(str); i++)
    {
        if (str[i]>='a' && str[i]<='z' )
        {
            str[i] -= 'a'-'A';
        }
        else if (str[i]>='A' && str[i]<='Z' )
        {
            str[i] += 'a'-'A';
        }
        else if (str[i]>='А' && str[i]<='Я' )
        {
            str[i] += 'а'-'А';
        }
        else if (str[i]>='а' && str[i]<='я' )
        {
            str[i] -= 'а'-'А';
        }
    }
    cout << str << endl; 
    system("pause");
    return 0;
}
Только отключите в проекте использование уникода
2
it1234567890
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 54
26.05.2015, 21:48  [ТС] #6
zss, моей благодарности нет предела
0
zss
Модератор
Эксперт С++
6680 / 6242 / 2081
Регистрация: 18.12.2011
Сообщений: 16,305
Завершенные тесты: 1
26.05.2015, 23:00 #7
Кстати, еще отдельно надо рассмотреть букву ё
C++
1
2
3
4
else if (str[i]=='ё' )
            str[i]='Ё';
        else if (str[i]=='Ё' )
            str[i]='ё';
0
ValeryS
Модератор
6781 / 5189 / 495
Регистрация: 14.02.2011
Сообщений: 17,411
28.05.2015, 11:55 #8
для латинских просто
C++
1
ch^=0x20;
но это только для ASCII кодировки
0
28.05.2015, 11:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2015, 11:55
Привет! Вот еще темы с ответами:

Как преобразовать строчные буквы в прописные и наоборот. - C++
Код строчных букв ASCII отличается от кода прописных на 32. Таким образом, чтобы преобразовать строчную букву в прописную, необходимо...

Преобразовать вводимые с клавиатуры строчные буквы в прописные и наоборот - C++
Каким образом можно задать массив самому, то есть строку, а не так как это сделано в примере на картинке? Нарушение п. 5.18 Правил. ...

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

Заменить все прописные буквы на строчные - C++
Подредактируйте код, нужно поменять все прописные буквы на строчные буквы. Только вот программа не запускается. Код: #include...


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

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

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