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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.87
Сатсухару
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 8
#1

Нижний регистр - C++

05.10.2009, 12:17. Просмотров 2945. Ответов 15
Метки нет (Все метки)

Помогите пожалуйста с заданием. Как правильно написать. А то мучалась, так ни чего не смогла сделать.
Задание:
Написать программу, печатающую все вводимые символы в нижнем регистре.
Программа должна использовать цикл while. Входные данные поступают с
клавиатуры. Предусмотреть обработку ошибок
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2009, 12:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нижний регистр (C++):

Строку в нижний регистр - C++
вводится русская строка (слово ) кодировка 1251, необходимо привести ее к нижнему регистру #include <ctype.h> #include <locale.h> ...

Преобразование в нижний регистр - C++
Здравствуйте! Почему это не работает (результат неизменен): #include <Windows.h> #include <stdio.h> void...

Перевод в нижний регистр - C++
Есть строка стринг в которой записана кириллица, нужно перевести ее в нижний регистр.

Верхний и нижний регистр - C++
Напишите программу, которая читает клавиатурный ввод до символа @ и повторяет его, за исключением десятичных цифр, преобразуя каждую...

Перевод в нижний регистр - C++
Приветствую . Прошу помощи , выдаёт ошибку при переводе в нижний регистр , в чём проблема ? #include <vector> #include <fstream> ...

Строки в С++. Верхний и нижний регистр - C++
char alphabet; int i; char letter; for(letter='A',i=0;letter<='Z'; letter++,i++) alphabet=letter; alphabet=NULL;...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 1
05.10.2009, 12:18 #2
Сатсухару, покажи, что ты там уже намучала
Сатсухару
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 8
05.10.2009, 12:30  [ТС] #3
В принцыпе я не знаю как объявляется флаг нижнего регистра. Верхний прописан в учебнике, а нижний нет
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 1
05.10.2009, 12:58 #4
Сатсухару, зачем вам флаги, берете charmap.exe и смотрите в system - какие коды отвечают за большие символы. а какие за маленькие... вообще в принципе есть функции isupper, islower, toupper, tolower, но они не рабоают с кириллицей....

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
using namespace std;
 
int main()
{
    int i = 0;
    unsigned char str[256];
    cout << "enter string:" << endl;
    cin.getline((char*)str, 255);
    while(str[i]){
      if(isupper(str[i])) str[i] = tolower(str[i]);
      i++;
    }
    cout<<str<<endl;
    return 0;
}
Сатсухару
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 8
05.10.2009, 13:24  [ТС] #5
VoodooMan,
Спасибо большое за помощь. Хоть с мертвой точки сдвинусь. Хотя такой момент переводит в нижний регистр только если убрать unsigned перед чаром. А без него кирилецу не печатает. Но мне это не так и важно. Благодарна за помощь
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 1
05.10.2009, 13:53 #6
Сатсухару, да погоди, это решение не предполагает работу с кирилицей, а символы все равно должны быть беззнаковыми, иначе кириллица - с отрицательными значениями:
что-то вроде такого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main()
{
    system("chcp 1251");
    int i = 0;
    char str[256] = "df;lkjдловылдОЛДОдлволдГРРОЛПолвыорОЛРЛОРЛО";
    //cout << "enter string:" << endl;
    //cin.getline(str, 255);
    while(str[i]){
      if((unsigned char)str[i] >= 0xC0 && (unsigned char)str[i] <= 0xDF){
        str[i] = (unsigned char)str[i] + 0x20;
      }else if(isupper(str[i])) str[i] = tolower(str[i]);
      i++;
    }
    cout<<str<<endl;
    return 0;
}
Сатсухару
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 8
05.10.2009, 14:03  [ТС] #7
VoodooMan,
Для этого в программе и идет обработка ошибок. Программа будет закрыватся если будет отрицательно. Я это уже сделала. Сейчас это посмотрю ещё.
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 1
05.10.2009, 14:06 #8
Сатсухару, а кто вам сказал, что отрицательное есть неверно, это просто кириллица
Сатсухару
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 8
05.10.2009, 14:09  [ТС] #9
VoodooMan,
Ну это в принцыпе нужно исключить по заданию, если не ошибаюсь. Я не говорю, что это не верно
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 1
05.10.2009, 14:18 #10
Сатсухару, вот я про ошибки ничего не придумал, вот и ничего не написал, а код хоть пойдет?
Сатсухару
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 8
05.10.2009, 14:23  [ТС] #11
VoodooMan, да с кодом вы мне помогли. Сижу вот делаю вторую часть задания. Вот вопрос такой. Есть ли смысл пытатся перевести буквы в 10-ую, 16-ую и 8-ую системы?
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 1
05.10.2009, 14:30 #12
Сатсухару, это смотря для чего...
Сатсухару
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 8
05.10.2009, 14:34  [ТС] #13
VoodooMan,
ну вот лично для этой программы. В общем задание полностью звучит так.
Написать программу, печатающую все вводимые символы в нижнем регистре.
Программа должна использовать цикл while. Входные данные поступают с
клавиатуры. Предусмотреть обработку ошибок. Результат выводится на экран в
десятичной, шестнадцатеричной и восьмеричной системе. Установить ширину
поля 10 символов, установить точность 4 цифры, заполнить вместо пробелов
символом & с помощью функций и манипуляторов.


Просто спросить совет. Стоит ли с системами мудохкатся или легче с преподом поспорить?!
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 1
05.10.2009, 14:41 #14
Сатсухару, вообще в задании все четко оговорено, что тут уже спорить, делать надо
Сатсухару
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 8
05.10.2009, 14:45  [ТС] #15
VoodooMan, говорится то говорится, ладно помучаюсь. А за помощь спасибо^^
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2009, 14:45
Привет! Вот еще темы с ответами:

Перевод букв в нижний регистр - C++
Как перевести все буквы строки введенной с клавиатуры в нижний регистр?

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

Верхний и нижний регистр буквы - C++
#include &lt;cctype&gt; #include &lt;iostream&gt; int main() { using namespace std; char ch; while(cin.get(ch) &amp;&amp; ch !=...

Русские символы в нижний регистр в С++ (debian) - C++
Здравствуйте! Начал изучать С++ (пора бы уже //.о) и где-то за пол месяца начинает что-то более - менее получаться. Поднимаю проблему...


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

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

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