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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Sardana-12
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 46
#1

Написать программу перевода строчных букв в прописные буквы - C++

06.04.2014, 09:35. Просмотров 1243. Ответов 11
Метки нет (Все метки)

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

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

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

Ошибка при переводе строчных букв в прописные и обратно - C++
Здравствуйте, начал изучать C++ по Герберту Шилдту, второе издание для начинающих. Застопорился на практическом задании, в нем надо при...

Написать программу, которая печатает целочисленные эквиваленты ряда прописных и строчных букв - C++
Нужно написать программу, которая печатает целочисленные эквиваленты ряда прописных и строчных букв, цифр и специальных символов. (Для...

Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные - C++
нужно составить текст программы, которая позволяет по введенной строке поменять первые буквы каждого слова на прописные. Вывести на экран...

Написать программу удаления из текстового файла символов перевода строки ‘\n’ и перевода каретки ‘\r’ - C++
Здравствуйте,помогите написать программу на подобии этой,только не подсчета,а удаления.Заранее благодарен! #include <stdio.h> int...

11
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
06.04.2014, 09:44 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Sardana-12,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
char perevod (char x) {
    return x-32;
}
 
int main()
{
    char c;
    cout<<"Enter char:\n";
    cin>>c;
    cout<<"New char - "<<perevod(c)<<endl;
    system("pause");
    return 0;
}
1
MicM
822 / 480 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
06.04.2014, 10:18 #3
Цитата Сообщение от Sardana-12 Посмотреть сообщение
написать программу перевода строчных букв в прописные буквы.
std::toupper()
0
ValeryS
Модератор
6679 / 5088 / 476
Регистрация: 14.02.2011
Сообщений: 17,086
06.04.2014, 10:34 #4
newb_progаrammer,
а что будет если в твою функцию придет большая буква?
вот так более надежно
C++
1
2
3
char perevod (char x) {
    return x&0xDF;
}
1
Sardana-12
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 46
10.04.2014, 09:23  [ТС] #5
newb_progаrammer, только первые буквы меняет на строчные, а нужно чтоб все
0
MicM
822 / 480 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
10.04.2014, 09:39 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Sardana-12, если вводится строка:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <cctype>
 
int main()
{
    char str[128]="";
    std::cin.get(str,128);
    for (char *p=str; *p; p++)
        *p = std::toupper(*p);
    std::cout <<str <<std::endl;
    return 0;
}
1
Sardana-12
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 46
11.04.2014, 03:48  [ТС] #7
MicM, это программа работает только с английскими буквами, а можно так сделать чтобы и с русскими?
0
IrineK
Заблокирован
11.04.2014, 05:08 #8
Цитата Сообщение от Sardana-12 Посмотреть сообщение
можно так сделать чтобы и с русскими?
Однако.
0
gazlan
3133 / 1909 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
11.04.2014, 05:29 #9
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
42
int main(int argc, char** argv)
{
   FILE*       pIn  = NULL;
   FILE*       pOut = NULL;
 
   pIn = fopen("lower.txt","rt");
 
   if (!pIn)
   {
      // Error !
      return -1;
   }
 
   pOut = fopen("upper.txt","wt");
 
   if (!pOut)
   {
      // Error !
      fclose(pIn);
      return -2;
   }
 
   int      iChr = 0;
 
   while ((iChr = fgetc(pIn)) != EOF)
   {
      if (((iChr >= 'a') && (iChr <= 'z'))   ||    // Latin
          ((iChr >= 0xE0) && (iChr <= 0xFF)) ||    // Cyrillic
          (iChr == 0xB8)                           // yo
         )
      {
         iChr &= ~0x20;
      }
 
      fputc(iChr,pOut);
   }
 
   fclose(pIn);
   fclose(pOut);
 
   return 0;
}
2
Вложения
Тип файла: 7z texts.7z (245 байт, 7 просмотров)
gazlan
3133 / 1909 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
11.04.2014, 05:39 #10
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Update: с 'ё' погорячился :-)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   while ((iChr = fgetc(pIn)) != EOF)
   {
      if (((iChr >= 'a') && (iChr <= 'z'))   ||    // Latin
          ((iChr >= 0xE0) && (iChr <= 0xFF)))      // Cyrillic
      {
         iChr &= ~0x20;
      }
      else if (iChr == 0xB8)                       // yo
      {
         iChr &= ~0x10;
      }             
 
      fputc(iChr,pOut);
   }
1
IrineK
Заблокирован
11.04.2014, 05:49 #11
gazlan,
а для консоли? )
0
gazlan
3133 / 1909 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
11.04.2014, 06:39 #12
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от IrineK Посмотреть сообщение
а для консоли?
Тут "или - или", так как диапазоны букв для Win-1251 и DOS-866 пересекаются.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
   while ((iChr = fgetc(pIn)) != EOF)
   {
      if (((iChr >= 'a') && (iChr <= 'z'))   ||    // Latin
          ((iChr >= 0xA0) && (iChr <= 0xAF))       // Cyrillic DOS-866 I
         )      
      {
         iChr &= ~0x20;
      }
      else if ((iChr >= 0xE0) && (iChr <= 0xEF))   // Cyrillic DOS-866 II
      {
         iChr ^= 0x70;
      }
 
      fputc(iChr,pOut);
   }
1
11.04.2014, 06:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2014, 06:39
Привет! Вот еще темы с ответами:

Как написать функцию, которая подсчитывает число прописных и строчных букв в строке? - C++
Как написать функцию, которая подсчитывает число прописных и строчных букв в строке? В С++ Добавлено через 19 часов 9 минут Ну...

Дан массив из строчных латинских букв. Вывести на экран в алфавитном порядке все буквы, которые входят в этот текст по одному разу - C++
Дан массив из строчных латинских букв. Вывести на экран в алфавитном порядке все буквы, которые входят в этот текст по одному разу. ...

программу, которая создает массив из 26 элементов и помещает в него 26 строчных букв. - C++
#include&lt;stdio.h&gt; void main() { int i; char b, alpha; for (i=0, b='a'; i&lt;=26; i++ , b++ ) alpha = b; }

Символьные строки (замена строчных на прописные и на оборот) - C++
Как решить задачу. Например в водим cYbErFoRuM,а выведит CyBeRfOrUm то есть меняет строчные на прописные и на оборот.... подскажите как это...


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

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

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