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

Строки - C++

Войти
Регистрация
Восстановить пароль
 
 
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
02.01.2014, 10:57     Строки #1
Доброго времени суток, уважаемые.
Сколько не парюсь над куском кода, так и не пойму, почему я не могу применить string в этом случае?
А может я просто делаю это не правильно?
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
struct students
{
    string surname;
    int year_birth;
    int year_acquisition;
    int phys, math, info;
 
};
int main()
{
    students student[n];
        for(int i = 0; i < n; i++)
        {
            /*...*/
        cout << setw(1) <<"surname and initials: ";
        getline(cin, student[i].surname);
            /*...*/
    }
    for(int i = 0; i < n; i++)
    {
        if(strcmp(student[i].surname[0], "Б"))
        {
            cout << student[i].surname << endl <<
                       student[i].phys << endl <<
                       student[i].math << endl <<
                       student[i].info << endl;
        }
        else
            continue;
    }
        
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2014, 10:57     Строки
Посмотрите здесь:

C++ как сделать из строки массив из символов этой строки
C++ Вывести строки файла, после строки добавляя, сколько раз в ней встретилось слово
C++ Строки, копирование всех цифр из одной строки в другую
C++ Отсортировать цифры, символы и буквы из строки в отдельные строки
C++ Строки в файлах (вывести из каждой строки последнее слово)
Строки (Расположить слова строки в порядке, обратном исходному) C++
Строки. Вывести на печать то слово этой строки, которое по алфавиту предшествует всем другим C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
02.01.2014, 14:11  [ТС]     Строки #21
alsav22, После ввода, он мне вывел все по русски, это через setlocale, это я знаю. Но то что выше: cout << "Русский текст" << endl; он выводит иероглифами(на скрине)
Предупреждение выводится только если в сравнении русская буква(if... == 'Б')
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.01.2014, 14:23     Строки #22
Цитата Сообщение от Ryuk Посмотреть сообщение
После ввода, он мне вывел все по русски, это через setlocale, это я знаю. Но то что выше: cout << "Русский текст" << endl; он выводит иероглифами(на скрине)
Ничего не понял. Что выше? Что ниже? Есть код (19 пост) и есть номера строк. Почему вывод в одной строке? Куда endl подевались?

Добавлено через 47 секунд
Мне нужен скрин работы кода из 19 поста, и никакой другой.
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
02.01.2014, 14:23  [ТС]     Строки #23
alsav22, то что в 20 посте, это вывод 8 строки 19 поста. На скрине нету вывода 11 строки, она выводится нормально, на русском.
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.01.2014, 14:28     Строки #24
Цитата Сообщение от Ryuk Посмотреть сообщение
На скрине нету вывода 11 строки, она выводится нормально, на русском.
Я разве просил показать только то, что не по-русски выводит?
Цитата Сообщение от alsav22 Посмотреть сообщение
Такой код что выводит (скрин)?
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
02.01.2014, 14:45  [ТС]     Строки #25
alsav22,
Миниатюры
Строки  
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
02.01.2014, 14:47  [ТС]     Строки #26
То я запускал из консольки программу, теперь через exe'шник:
Миниатюры
Строки  
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.01.2014, 15:17     Строки #27
Цитата Сообщение от Ryuk Посмотреть сообщение
То я запускал из консольки программу, теперь через exe'шник:
Здесь, скорее всего, из-за того, что этого нет:
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
и шрифта нужного в консоли.
ОС какая? Как шрифт в консоли настраивали?
Сам код в чём пишите?
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
02.01.2014, 15:17  [ТС]     Строки #28
alsav22, win7; в верхнем левом углу по иконке кликнул и нажал свойства, там шрифт; компилирую в mingw; sublime text 2.
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.01.2014, 15:21     Строки #29
Если win7, то там нужно настраивать в свойстах по умолчанию (чтобы на все окна действовало). Кроме, как в запущенной консоли, я не знаю, где ещё так можно настроить.
Цитата Сообщение от Ryuk Посмотреть сообщение
sublime text 2.
Там кодировка какая?
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
02.01.2014, 15:33  [ТС]     Строки #30
alsav22, не знаю, но вот нашел статью, должна помочь.

Добавлено через 6 минут
Или нет...
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.01.2014, 15:43     Строки #31
mingw прикручен к sublime text 2 или отдельно?
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
02.01.2014, 16:17  [ТС]     Строки #32
alsav22, отдельно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2014, 20:47     Строки
Еще ссылки по теме:

C++ Структуры и строки (как поменять значение строки в структуре?)
C++ Вводятся 2 строки. Перевернуть обе строки, склеить и вывести
Как сделать так, что бы длинна строки сама менялась при вводе строки? C++
Считать строки из файла, найти строки на определённую букву C++
C++ Получение переменных из строки, изменение строки, запись в файл

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

Или воспользуйтесь поиском по форуму:
alsav22
5284 / 4803 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.01.2014, 20:47     Строки #33
Если отдельно, то напишите код в блокноте. Если с выводом будет нормально (только шрифт настройте правильно), то причина в кодировке sublime text 2.
Yandex
Объявления
02.01.2014, 20:47     Строки
Ответ Создать тему
Опции темы

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