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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 79, средняя оценка - 4.76
KReoN
1 / 1 / 0
Регистрация: 07.06.2009
Сообщений: 11
#1

Перевод строки в верхний регистр - C++

07.06.2009, 23:14. Просмотров 10862. Ответов 15
Метки нет (Все метки)

Препод задал задание написать программу перевода строки в верхний регистр без использования специальных фукций, сам перевод оформить в виде функции. Накидал программу:
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
// Program.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include <string.h>
#include <locale.h>
#include <ctype.h>
#include <malloc.h>
 
 
char* mp(char* st1)
{
    int i=0,j=0;
    int len=strlen(st1);
    while(i<len)
    {    
        if(st1[i]>='a'&& st1[i]<='z') st1[i]-=st1[i]-32;
        i++;
    }
  return st1;
}
int _tmain(int argc, _TCHAR* argv[])//тестер
{
    char* st1="qwerty123";  
    printf("Result: %s",mp(st1));
    _getch();
    return 0;
}
Но она завершается необработанным исключением, не подскажите в чём проблема?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2009, 23:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод строки в верхний регистр (C++):

перевод строки в верхний регистр - C++
Добрый вечер. Вопрос такой. Есть строка, как превести всё её содержание в верхнему регистру? Брать отдельно каждый символ,...

Перевод символа в верхний регистр - C++
код символа , который я ввожу в командой строке, отличается от кода символа в переменной rlow #include &lt;iostream&gt; #include...

Перевод всех строчных букв в верхний регистр - C++
Переведите все строчные буквы-символы в верхний регистр

Перевод содержимого текстового файла в верхний регистр - C++
Собственно вопрос в шапке. Как перевести всё содержимое текстового файла в верхний регистр? Кодировка UTF-8 без BOM (хотя это особо и не...

Кроссплатформенный перевод русских букв в верхний/нижний регистр - C++
Добрый день. В прикрепленном топике описываются способы вывода русских букв на консоль. Но они почти все подвязаны под винду. Более...

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

15
FunDuck
688 / 379 / 4
Регистрация: 22.01.2009
Сообщений: 1,135
07.06.2009, 23:40 #2
Так строку объяви:
C++
1
char st1[] = "qwerty123";
0
KReoN
1 / 1 / 0
Регистрация: 07.06.2009
Сообщений: 11
08.06.2009, 08:16  [ТС] #3
Ага, спасибо. Помогло
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
06.11.2009, 12:30 #4
А если строка уже в верхнем регистре??
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
06.11.2009, 12:48 #5
outoftime, что это Вас заинтересовала такая старая тема?
Ответ на Ваш вопрос: если символ строки уже в верхнем регистре, то он таким же и останется (для этого в строке 18 делается проверка на принадлежность символа к нижнему регистру)
0
niXman
Эксперт С++
3137 / 1449 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
06.11.2009, 12:55 #6
C++
1
2
std::string str("kgreiudrbnbnd");
std::transform(str.begin(), str.end(), str.begin(), toupper);
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
06.11.2009, 15:04 #7
niXman без "вспомагательных функций"

надо руками все написать.. А заинтересовало, потому что я забыл как перевести строку в верхний или нижний регистры, а в задаче надо сказать какое слова встречается не к раз, без учета регистра, юзал мап, да и тему эту гуглом нашел..
0
niXman
Эксперт С++
3137 / 1449 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
06.11.2009, 15:19 #8
Цитата Сообщение от outoftime Посмотреть сообщение
без "вспомагательных функций"
Смею заметить, это не "вспомагательные функций". Хотя вашу мысль понял.
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
06.11.2009, 18:10 #9
C++
1
2
3
4
5
6
#define FOR(x,y,z) for (int (x) = (y); (x) < (z); ++(x))
//-------------------------------------------
        string s;
//-------------------------------------------
    FOR (i, 0, (int)s.size())
        s[i] = toupper(s[i]);
я обычно так делаю, только подзабыл малость..
0
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
06.11.2009, 21:01 #10
outoftime, toupper это вспомогательная функция )) а ему без неё нада
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
06.11.2009, 21:13 #11
Андрейка,
outoftime, toupper это вспомогательная функция )) а ему без неё нада
кому ему?
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
06.11.2009, 21:25 #12
Андрейка, эту тему находит гугл при поиске по ключу: перевод строки в верхний регистр, это своего рода заметка..
0
niXman
Эксперт С++
3137 / 1449 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
07.11.2009, 00:16 #13
Андрейка, Таким макаром можно сказать что и "int main()" вспомогательная функция
0
outoftime
║XLR8║
510 / 432 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
07.11.2009, 00:30 #14
niXman, погоди, но ведь ты ее сам пишешь..
0
niXman
Эксперт С++
3137 / 1449 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
07.11.2009, 00:33 #15
outoftime, Ты про "int toupper(int)" ? Нет, она входит в комплект C-Library. А вот main() сам пишу(как и все).

Добавлено через 26 секунд
п.с. заканчиваем флуд. а то накажут нас
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2009, 00:33
Привет! Вот еще темы с ответами:

Преобразование строки в верхний регистр - C++
#include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;cctype&gt; #include &lt;string&gt; using namespace std; void StringUpper(char *str); ...

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

В верхний регистр - C++
Привет всем. Подскажите как можно сделать чтобы при передаче в функцию строки ( word ) она изменяла первую букву каждого слова на...

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


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

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

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