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

как перевести букву из нижнего регистра в верхний C++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.89
Programmer c
 Аватар для Programmer c
5 / 0 / 2
Регистрация: 06.07.2013
Сообщений: 59
10.07.2013, 18:32     как перевести букву из нижнего регистра в верхний C++ #1
Например:
Введите букву: g
Та же буква в верхнем регистре: G
Желательно с пояснением)
и 2 вопрос, а с русскими можно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2013, 18:32     как перевести букву из нижнего регистра в верхний C++
Посмотрите здесь:

Написать программу, меняющую первую букву каждого слова на эту же букву верхнего регистра C++
написать функцию, которая в строке заменяет все символы верхенго регистра в символы нижнего регистра C++
C++ Символы из нижнего регистра перевести в верхний
C++ Написать функцию которая в строке заменяет все символы верхнего регистра в символы нижнего регистра
C++ Буква из нижнего регистра в верхний
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Мимино
 Аватар для Мимино
180 / 151 / 5
Регистрация: 22.05.2013
Сообщений: 435
Записей в блоге: 1
10.07.2013, 18:42     как перевести букву из нижнего регистра в верхний C++ #2
toupper('g')
из ctype.h
Хулиган
 Аватар для Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
10.07.2013, 18:50     как перевести букву из нижнего регистра в верхний C++ #3
можно прибавлять в букве разницу между регистрами.
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
10.07.2013, 18:52     как перевести букву из нижнего регистра в верхний C++ #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    char ch;
 
    std::cout << "Введите букву: ";
    std::cin >> ch;
 
    ch = toupper(ch);
    
    std::cout << "Та же буква в верхнем регистре: " << ch << std::endl;
 
    system("pause");
    return 0;
}
вот с русскими буквами что то глючит
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
10.07.2013, 19:07     как перевести букву из нижнего регистра в верхний C++ #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <windows.h>
 
int main()
{
    char arr[2] = {0};
    while(true)
    {
        std::cin.get(arr[0]).ignore(100, '\n');
        OemToCharA(arr, arr);
        arr[0] == -72 ? arr[0] = -88 : arr[0] -= 32;
        CharToOemA(arr, arr);
        std::cout << arr;
    }
    return 0;
}
Programmer c
 Аватар для Programmer c
5 / 0 / 2
Регистрация: 06.07.2013
Сообщений: 59
10.07.2013, 19:11  [ТС]     как перевести букву из нижнего регистра в верхний C++ #6
Всем огромное Спасибо!
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.07.2013, 05:11     как перевести букву из нижнего регистра в верхний C++ #7
Цитата Сообщение от BigLow Посмотреть сообщение
вот с русскими буквами что то глючит
Чтобы с русскими не глючило, нужно русский ввод сделать (но setlocale(LC_ALL, "Russian") тоже оставить) и приводить параметр toupper() к unsigned char(toupper() без такого приведения работает, но другие функции cctype могут вызывать ошибку):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstdlib>
#include <windows.h>
 
int main()
{
    setlocale(LC_ALL, "Russian");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    char ch;
 
    std::cout << "Введите букву: ";
    std::cin >> ch;
 
    ch = toupper((unsigned char)ch);
    
    std::cout << "Та же буква в верхнем регистре: " << ch << std::endl;
 
    system("pause");
    return 0;
}
Миниатюры
как перевести букву из нижнего регистра в верхний C++  
salam
157 / 138 / 11
Регистрация: 10.07.2012
Сообщений: 709
11.07.2013, 06:47     как перевести букву из нижнего регистра в верхний C++ #8
функция, по-видимому, просто выполняет прибавление. поэтому всегда нужна проверка.
C++
1
2
3
char c;
if(islower(c))
   c = toupper(c);
а вообще лучше определить собственную безопасную функцию. например:
C++
1
2
3
char toup(char c) {
   return (c >= 'a' && c <= 'z' ? (char)('A' + (c - 'a')) : c);
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
11.07.2013, 07:07     как перевести букву из нижнего регистра в верхний C++ #9
Цитата Сообщение от salam Посмотреть сообщение
функция, по-видимому, просто выполняет прибавление. поэтому всегда нужна проверка.
Это по поводу?...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2013, 07:49     как перевести букву из нижнего регистра в верхний C++
Еще ссылки по теме:

C++ Функция преобразует буквы верхнего регистра в строке s в буквы нижнего регистра
Движение по шахматной доске коня (с левого нижнего угла в верхний правый угол) C++
Замена нижнего регистра литер русского языка, вводимых с клавиатуры, на верхний регистр C++

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

Или воспользуйтесь поиском по форуму:
Programmer c
 Аватар для Programmer c
5 / 0 / 2
Регистрация: 06.07.2013
Сообщений: 59
11.07.2013, 07:49  [ТС]     как перевести букву из нижнего регистра в верхний C++ #10
alsav22, тебе отдельное спс за код и за объяснение
Yandex
Объявления
11.07.2013, 07:49     как перевести букву из нижнего регистра в верхний C++
Ответ Создать тему
Опции темы

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