Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
elka
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 38
1

В строке заменить первую строчную букву на заглавную

07.04.2012, 14:14. Просмотров 1288. Ответов 16
Метки нет (Все метки)

Здравствуйте.
в строке заменить первую строчную букву на заглавную,остальные оставить строчными в русском алфавите.поискала,не нашла функции для замены
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2012, 14:14
Ответы с готовыми решениями:

В следующем слове после точки, первую строчную букву заменить на прописную
В строке, содержащей последовательность слов, найти конец предложения,...

Как записать строчную букву в заглавную?
В первой подпрограмме (formating_1) нужно что-бы программа записала фразу...

Нужно заменить последнюю заглавную букву в строке на слово "Kukushechka"
То есть программа должна сама искать последнюю заглавную букву, определять ее...

Каждую заглавную букву заменить строчной буквой, пару букв "ки" заменить на "ю"
не могу понять как всё это сделать void shifr () { FILE *f1;...

Заменить в слове первую букву “A” на символ
Задание такого: Ввести с клавиатуры слово и символ. Заменить в слове первую...

16
Abdula
9 / 9 / 3
Регистрация: 28.03.2012
Сообщений: 116
07.04.2012, 14:17 2
Только самому, копировать первый символ и переводить его в верхний и ставить обратно
0
elka
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 38
07.04.2012, 15:27  [ТС] 3
и как это сделать

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream.h>
#include <string.h>
void main()
{
char str[];
cout<<"vvedi stroku: ";
cin>>str;
str[0]=toupper(str[0]);
cout<<Ctroka;
cin.get();
cin.get();
}
Добавлено через 7 минут
помогите разобраться
0
m1Rr0r
247 / 230 / 45
Регистрация: 05.02.2010
Сообщений: 3,283
Завершенные тесты: 2
07.04.2012, 15:38 4
Цитата Сообщение от elka Посмотреть сообщение
str[0]=toupper(str[0]);
первый элемент строки заменяется на заглавную(функция toupper);

Цитата Сообщение от elka Посмотреть сообщение
cin.get();
как я понимаю ожидание ввода клавиши

Добавлено через 45 секунд
а разве этот код работает ?
массив безразмерный какой то получается...
0
elka
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 38
07.04.2012, 15:42  [ТС] 5
нет,не работает
0
m1Rr0r
247 / 230 / 45
Регистрация: 05.02.2010
Сообщений: 3,283
Завершенные тесты: 2
07.04.2012, 15:44 6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
void main()  {
    int const size = 80;
    char str[size]={0};
    cout<<"Enter str: ";
    cin.getline(str,size);
 
    for(int i = 0; i < size; i++)  {
        if(islower(str[i]))  {
            str[i] = toupper(str[i]);
            break;
        }
    }
    cout<<"Str: "<<str<<endl;
    
}
0
elka
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 38
07.04.2012, 15:55  [ТС] 7
C++
1
2
3
4
5
6
7
cin>>str;
for (int i=0;i<strlen(str);i++){
str[0]=toupper(str[0]);         }
cout<<"Ctroka";
cin.get();
cin.get();
}
ругается на toupper

Добавлено через 10 минут
как тут можно сделать
0
m1Rr0r
247 / 230 / 45
Регистрация: 05.02.2010
Сообщений: 3,283
Завершенные тесты: 2
07.04.2012, 15:59 8
Цитата Сообщение от elka Посмотреть сообщение
str[0]=toupper(str[0]);
зачем это в цикле ?
если проверяется только один элемент, первый.
по поводу ошибки, неплохо бы увидеть как она выглядит =)
0
elka
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 38
07.04.2012, 16:26  [ТС] 9
Function 'toupper' should have a prototype

Добавлено через 14 минут
<string.h> включено
0
m1Rr0r
247 / 230 / 45
Регистрация: 05.02.2010
Сообщений: 3,283
Завершенные тесты: 2
07.04.2012, 17:15 10
#include <iostream>
может это ?
даже незнаю...
0
elka
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 38
07.04.2012, 17:21  [ТС] 11
ну это тоже написано
0
DU
1486 / 1132 / 164
Регистрация: 05.12.2011
Сообщений: 2,279
07.04.2012, 17:25 12
http://www.cplusplus.com/reference/clibrary/cctype/toupper/

function
toupper
<cctype>
т.е. нужен #include <cctype>
0
elka
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 38
07.04.2012, 17:30  [ТС] 13
это тоже включено
0
DU
1486 / 1132 / 164
Регистрация: 05.12.2011
Сообщений: 2,279
07.04.2012, 17:37 14
вот в студии компилится и работает:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string.h>
 
using namespace std;
 
void main()
{
  char str[256];
  cout<<"vvedi stroku: ";
  cin>>str;
  str[0]=toupper(str[0]);
  cout<<str;
  cin.get();
  cin.get();
}
У вас не компилируется или не работает? А то непонятно ведь.
0
elka
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 38
07.04.2012, 19:03  [ТС] 15
нужно в с++ turbo

Добавлено через 32 минуты
помогите,пожалуйста,решить

Добавлено через 8 минут
не выводит строчку

Добавлено через 38 минут
посмотрите кто-нибудь что тут такое
0
MrCold
861 / 759 / 174
Регистрация: 11.01.2012
Сообщений: 1,942
07.04.2012, 19:39 16
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

elka, пробуйте такую конструкцию , должна сработать
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <iostream.h>
#include <Windows.h>
#include <conio.h>
 
const char smallrus[]= "абвгдеёжзиклмнопрстуфхчшщэюяъыьц";
const char bigrus[] ="АБВГДЕЁЖЗИКЛМНОПРСТУФХЧШЩЭЮЯЪЫЬЦ";
char buff[256];
 
 char *rus(char *str)
{
              if(!str)return 0;
              CharToOem(str,buff);
              return buff;
}
 
 char toupperFun(char ch){
 
             if(!ch)    return 0;       
             int i = 0;
 
            while(smallrus[i]) {
                 if(ch == smallrus[i])
                 ch = bigrus[i];
            i++;
       }
            return ch;
 }
 char tolowerFun(char ch){
 
            if(!ch) return 0;       
            int i = 0;
 
            while(bigrus[i]) {
                  if(ch == bigrus[i])
                  ch = smallrus[i];
            i++;
       }
           return ch;
 }
 
 int ispunctFun(const char ch){
     const char *punct = " >,<'.\-/[?]!}|:{;";
 if(!ch)    return 0;
            int loop = 0;
            
            while(*punct)
            if(ch == *(punct++))
            loop ++;
            return loop;            
             
 }
 
 main(){
 
 clrscr();
    int i = 0;
    int loop = 1;
    char str[]="  пАпа у Васи силеН В МАТЕМАТИКЕ  ";
 
     for(i = 0;str[i] != '\0';i++){
 
              if(loop)  str[i] = toupperFun(str[i]);
              if(!loop) str[i] = tolowerFun(str[i]);
              if(!ispunctFun(str[i]))   loop = 0;
     }
        cout << rus(str);
        
      getch();
 
}
0
elka
1 / 1 / 0
Регистрация: 31.03.2012
Сообщений: 38
07.04.2012, 20:14  [ТС] 17
а проще нет ничего?
0
07.04.2012, 20:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2012, 20:14

В каждом слове заменить первую букву на прописную
Дана строка символов, состоящая из произвольного текста, слова разделены...

Заменить в файле каждую первую букву слова на прописную
Написать программу, которая считывает текст из файла и выводит его на экран,...

Заменить каждую первую букву слов, начинающихся с гласной буквы, на прописную
В произвольно взятом предложении (английский шрифт) заменить каждую первую...


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

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

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