Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
191 / 52 / 19
Регистрация: 18.02.2013
Сообщений: 508
Записей в блоге: 9

Замена прописных букв на заглавные

19.05.2013, 13:19. Показов 3398. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот сам код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
String bb(String tb)
{
  if(tb[0]=='а' || tb[0]=='А') tb[0]=='А';
  else
  if(tb[0]=='б' || tb[0]=='Б') tb[0]=='Б';
  else
  if(tb[0]=='в' || tb[0]=='В') tb[0]=='В';
 .....
 .....
  return tb;
}
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 Edit1->Text=bb(Edit1->Text);
}
//---------------------------------------------------------------------------
Программа должна заменять первый символ первого слова на заглавную букву.
Но заместо замены выдает вот такую ошибку:

Acces violation at address 40009720 in module 'rtl60.bpl'. Read of address 87582603
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.05.2013, 13:19
Ответы с готовыми решениями:

Подсчитать, сколько было введено: латинских прописных букв, кириллических прописных букв, цифр, знаков переноса, прочих символов.
Помогите, пожалуйста, написать программу :scratch: Подсчитать, сколько было введено: латинских...

Написать программу замены во веденной строке малых букв а на заглавные Написать программу замены во веденной строке малых букв а на заглавные
Написать программу замены во веденной строке малых букв а на заглавные

Подсчитать сколько слов, состоящих только из прописных букв, содержится в сообщении, и в каждом таком слове изменить все буквы на заглавные
Разработать Windows-приложение, которое загружает из некоторого файла текст, редактирует его...

9
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
19.05.2013, 14:02
C++
1
2
3
4
5
String bb(String tb)
{
  AnsiUpperCase(tb[0]);
  return tb;
}
0
191 / 52 / 19
Регистрация: 18.02.2013
Сообщений: 508
Записей в блоге: 9
19.05.2013, 14:04  [ТС]
LK, все равно такая же ошибка.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33404 / 21514 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
19.05.2013, 14:23
Цитата Сообщение от Gdasar Посмотреть сообщение
tb[0]
В строке не существует, индексация начинается с 1-цы.
0
191 / 52 / 19
Регистрация: 18.02.2013
Сообщений: 508
Записей в блоге: 9
19.05.2013, 14:26  [ТС]
UI, ставлю tb[1] ошибки нет,но замены тоже не происходит.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33404 / 21514 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
19.05.2013, 14:45
Вот так - происходит?
C++
1
2
3
4
String bb(String tb)
{
    return AnsiUpperCase(tb[1]) + tb.SubString(2, tb.Length() - 1);
}
1
191 / 52 / 19
Регистрация: 18.02.2013
Сообщений: 508
Записей в блоге: 9
19.05.2013, 14:54  [ТС]
Да,происходит. А почему мой код не работает?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33404 / 21514 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
19.05.2013, 15:09
Потому что во-первых, нельзя так сравнивать отдельные символы, а во-вторых, у тебя нигде нет присваивания, а есть только сравнение ("=" везде продублирован)

Вот это, скажем, у меня прекрасно работает (проект - Юникодный, если что) :
C++
1
2
3
4
5
6
7
8
String bb(String tb)
{
    if(tb[1]==L'а' || tb[1]==L'А') tb[1]=L'А';
    else if(tb[1]==L'б' || tb[1]==L'Б') tb[1]=L'Б';
    else if(tb[1]==L'в' || tb[1]==L'В') tb[1]=L'В';
    // ...
    return tb;
}
1
191 / 52 / 19
Регистрация: 18.02.2013
Сообщений: 508
Записей в блоге: 9
19.05.2013, 15:12  [ТС]
Цитата Сообщение от UI Посмотреть сообщение
Потому что во-первых, нельзя так сравнивать отдельные символы
Почему нельзя?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
19.05.2013, 15:17
C++
1
2
3
4
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit1->Text =  Edit1->Text.SubString(1,1).UpperCase()+Edit1->Text.SubString(2,Edit1->Text.Length());
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.05.2013, 15:17
Помогаю со студенческими работами здесь

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

В алфавитной строке перевести строчные буквы в заглавные и заглавные в строчные
В заданой алфавитной строке перевести строчные буквы в заглавные и заглавные в строчные. Со...

Замена прописных букв строчными
Всем привет! Такая проблемка: вводим строку и, если после , или ; стоит прописная буква -...

Замена всех прописных букв символом пользователя во введенной ранее строке
Напишите программу на С++, которая: -предлагает пользователю ввести предложение, -считывает...

Проверить количество заглавных букв в строке А и количество прописных букв в строке В
Добрый день, помогите разобраться. Пишу программу, которая должна проверять количество заглавных...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru