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

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

Войти
Регистрация
Восстановить пароль
 
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
#1

Строки. - C++

19.10.2011, 15:25. Просмотров 364. Ответов 8
Метки нет (Все метки)

В какой - то ступор впал.
Нужно считать символ, а затем строку.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
 
int main () {
    char ch;
    std::string str;
    std::cin >> ch;
    std::cin.ignore ('\n');
    std::getline (std::cin, str);
    //
    std::cout << str;
    //
    return 0;
}
работает неверно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2011, 15:25     Строки.
Посмотрите здесь:

Даны три строки. Определить можно ли из символов третьей строки получить первую и вторую строки - Java
Помогите пожалуйста! 1)Даны три строки. Определить можно ли из символов третьей строки получить первую и вторую строки. 2)Дана...

Ввести строки и через n символов первой строки вставить вторую строку, и так до конца строки - C++ Builder
Помогите исправить баг задача состоит в следующем :ввести строку и простроку тоесть две строки и надо через (n) символов первой строки...

Слить две строки, вставив символы одной строки между символами другой строки - Pascal
Строка a из n символов лексикографически меньше строки b из n символов, если существует такой индекс j, что aj &lt; bj, а для всех i &lt; j ai =...

Сравнить строки, первый несовпадающий элемент строки-приемника записать в регистр AL, строки-источника - в DL - Assembler
Помогите написать программу на ассемблерене совсем еще разобрался с этим задание: Ввести с клавиатуры две строки одноразрядных...

Определить длину строки. Если длина строки >6, удалить часть строки в { } скобках. - Turbo Pascal
Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши &quot;Ввод&quot;. Программа должна определить длину введенной...

Строки. Если в конце строки точка отсутствует, то найти слово, заканчивающееся точкой и перенести его в конец строки. - Pascal
Дана строка, состоящая из слов и содержащая одну точку в конце одного из слов. Если в конце строки точка отсутствует, то найти слово,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
19.10.2011, 15:28     Строки. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
 
int main () {
    char ch;
    std::string str;
    std::cin >> ch;
    std::cin.ignore (1, '\n');
    std::getline (std::cin, str);
    //
    std::cout << str;
    //
    return 0;
}
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
19.10.2011, 16:13  [ТС]     Строки. #3
точно, спасибо )

Добавлено через 43 минуты
Не стал новую тему создавать.

Почему такой вариант не работает -
C++
1
std::transform (str.begin(), str.end(), str.begin(), std::toupper);
А такой
C++
1
std::transform (str.begin(), str.end(), str.begin(), ::toupper);
или такой
C++
1
std::transform (str.begin(), str.end(), str.begin(), toupper);
работают?
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,909
19.10.2011, 17:25     Строки. #4
Дело в том, что таких функций в C++ две, одна находится в <cctype>, а вторая в <locale>. Либо не указывай пространство имён, либо сделай так
C++
1
2
std::transform (str.begin(), str.end(), str.begin(), 
                static_cast<int(*)(int)>(std::toupper));
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
19.10.2011, 17:32  [ТС]     Строки. #5
rangerx, но я в решении указал библиотеку cctype, то есть функцию он берет от туда. Или главное сам факт, что их две?)
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
19.10.2011, 18:01     Строки. #6
Цитата Сообщение от neske Посмотреть сообщение
что их две?
Ну да, одна унаследована из Си -
C++
1
int toupper ( int c );
,
вторая чисто С++`шная -
C++
1
2
template <class charT>
charT toupper ( charT c, const locale& loc );
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,909
19.10.2011, 19:34     Строки. #7
neske, достаточно подключить какой-нибудь заголовок, в котором используется <locale>(например, <iostream>) и можешь считать, что и <locale> ты подключил тоже.
neske
1474 / 841 / 74
Регистрация: 26.03.2010
Сообщений: 2,889
19.10.2011, 19:38  [ТС]     Строки. #8
rangerx, а я и не знал о таком.. спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2011, 10:50     Строки.
Еще ссылки по теме:

Строки. Определить длину введенной строки, если длина кратна 4, то первая часть строки меняется местами со второй - Turbo Pascal
Ввести с клавиатуры строку символов.признак окончания ввода строки-нажатие клавиши ввод.Программа должна определить длину введенной строки...

Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки - C++
Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки. 1. Я дуб дубом,даже...

Строки. Даны строка S и подстрока S1.Удалить из строки S все вхождения строки S1 - Turbo Pascal
Даны строка S и подстрока S1.Удалить из строки S все вхождения строки S1.В строке S подсчитать кол-во вхождений строки S1.

БД с операциями: добавление новой строки, удаление строки, редактирование имеющейся строки - PascalABC.NET
Нужно создать базу данных в паскале, с операциями: добавление новой строки, удаление строки, редактирование имеющей строки. Желательно с...


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

Или воспользуйтесь поиском по форуму:
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
20.10.2011, 10:50     Строки. #9
Цитата Сообщение от neske Посмотреть сообщение
но я в решении указал библиотеку cctype, то есть функцию он берет от туда. Или главное сам факт, что их две?
Будет использована та функция, которая при просмотре заголовочных файлов будет найдена первая (см. Википедия). Файл clocale может быть неявно подключен в других заголовочных файлах
Yandex
Объявления
20.10.2011, 10:50     Строки.
Ответ Создать тему
Опции темы

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