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

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

Войти
Регистрация
Восстановить пароль
 
sardinka
0 / 0 / 0
Регистрация: 13.12.2007
Сообщений: 87
#1

Как изменить значение с буквы на число? - C++

15.01.2008, 23:03. Просмотров 839. Ответов 6
Метки нет (Все метки)

Kak mne perevsti A,B,C.... v cootvetstvyushii nomer primer:
A-10
B-20
...
Z-26
Prichem diny moego snacheniya ya ne bydy snat?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2008, 23:03     Как изменить значение с буквы на число?
Посмотрите здесь:

В любом слове изменить местами первую и последнюю буквы C++
C++ Переработать строку и изменить все русские буквы Ф на русскую букву Ю
C++ Изменить строчные буквы на прописные
C++ Как написать функцию, которая бы получала на входе целочисленное число, а возвращала бы значение суммы цифр куба этого числа?
Почему чтобы корректно отображались русские буквы в консоли, мало изменить кодировку C++
C++ Как изменить значение строки
C++ Как изменить значение переменной, переданной в списке с переменным числом аргументов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andir
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 145
16.01.2008, 08:10     Как изменить значение с буквы на число? #2
Напиши функцию перевода. Или объясни поподробнее ... ;-)

А программеры то не спят ...
sardinka
0 / 0 / 0
Регистрация: 13.12.2007
Сообщений: 87
16.01.2008, 16:58  [ТС]     Как изменить значение с буквы на число? #3
Kak mne ismenit snachenie s bykvu na chislo.
Naprimer: Y emnya est B12 mne nyshno samenit na 2012.t.e. B cootvetstvyet snachenie 20(prosto alfabet chet). Pri etom y ne snau tochno gde bydet nahoditcya moya bykva, na kakoy posizii.
Ya nadeuc eto pomoshet.
sardinka
0 / 0 / 0
Регистрация: 13.12.2007
Сообщений: 87
17.01.2008, 17:03  [ТС]     Как изменить значение с буквы на число? #4
Eto moi code. Po kakoi-to prichine Insert and Delete ne rabotaet. Ya ih sakomentirovala. Esli moshno to pomogite.

char *convert_char_modifier(char *Modifier)
{
int i;
char ch;

for (i=0; i < strlen(Modifier);i++)
{
ch = Modifier[i];
switch (ch)
{
case 'A':
//Delete(i);
//Insert(i,'01');
break;
Andir
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 145
18.01.2008, 05:42     Как изменить значение с буквы на число? #5
Если я правильно понял, то проблема в том чтобы вставить вместо одного символа, несколько ('B'='2'+'0').
Ну а так как char* - это массив символов фиксированной длины, то это вообще говоря напрямую сделать невозможно.
Способы решения :
1. Самое простое, пожалуй, это использовать списки или, короче говоря, другие структуры данных, позволяющие делать такие операции напрямую.
2. Достаточно ресурсоёмкое: например так :
Код
char *convert_char_modifier(char *Modifier)
{
int i;
char ch;
char *newModifier;
for (i=0; i < strlen(Modifier);i++)
{
ch = Modifier[i];
switch (ch)
{
case 'A':
newModifier=new char[strlen(Modifier)+1]; // создаём новую строку длиной на один символ больше
strcpy(newModifier,Modifier); // Копируем первую строку в неё
char *cod='01';   // Вставляемый символ
strcpy(newModifier+i-1,cod);  // вставляем его в строку
strcpy(newModifier+i+1,Modifier+i); // Копируем часть строки после 
вставленных символов
delete Modifier; // удаляем предыдущую строку
Modifier=new char[strlen(newModifier)]; // создаём новую
strcpy(Modifier,newModifier);  // копируем созданную строку в исходную
break;
если объяснить на словах я раздвигаю массив символов в нужном положении и вставляю туда необходимые символы.
замудрил я конечно сильно, наверняка есть способ попроще, может кто из Rsdn тебе поможет, а то я со строками давно не работал.

Интересно, а чего это некто из RSDN'а ничего не ест ? До первой звезды ...
Удачи Andir !
sardinka
0 / 0 / 0
Регистрация: 13.12.2007
Сообщений: 87
20.01.2008, 16:52  [ТС]     Как изменить значение с буквы на число? #6
Po kakoy prichine y menya moya programma ne ponimaet delete Modifier i ne hochet prinimat new char? Ne mogli bu vu podskasat?
Ya skopirovala vashy programky k sebe v bolshyu programmy. Saranee blagodarna
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2008, 09:45     Как изменить значение с буквы на число?
Еще ссылки по теме:

Как изменить значение в реестре? C++
Как присвоить значение любое число C++
Изменить регистр первой буквы в слове C++
Как изменить значение элемента массива на противоположному по знаку? C++
C++ Как изменить значение глобальной переменной в процедуре?

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

Или воспользуйтесь поиском по форуму:
Andir
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 145
21.01.2008, 09:45     Как изменить значение с буквы на число? #7
>Po kakoy prichine y menya moya programma ne ponimaet delete Modifier i ne hochet prinimat new char? Ne mogli bu vu podskasat?
Не очень понятны функции Delete(i); и Insert(...), если объяснишь поподробнее может и подскажу.

>Ya skopirovala vashy programky k sebe v bolshyu programmy. Saranee blagodarna
И что работает (удивлённо)! Сам удивляюсь ...;-)

Интересно, что это за большая программка, где врезки непонятного чужого кода ...
Удачи, Andir!

Yandex
Объявления
21.01.2008, 09:45     Как изменить значение с буквы на число?
Ответ Создать тему
Опции темы

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