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

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

Войти
Регистрация
Восстановить пароль
 
Igorokmen
3 / 3 / 1
Регистрация: 31.01.2013
Сообщений: 100
#1

Работает ли Кириллица с классами? - C++

19.05.2013, 13:26. Просмотров 294. Ответов 6
Метки нет (Все метки)

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

main.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Person
{
public:
    Person(int ID, char* data, bool Pol, double age);
    Person(): m_Id(0), m_Pol(false), m_Age(0.0) { m_data[0]='\0';}
    void Print();
    void input();
 
private:
    char    m_data[50];
    int     m_Id;
    bool    m_Pol;
    double  m_Age;
};
main.cpp:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// LAB1.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include "main.h"
#include <string.h>
#include <stdlib.h>
using namespace std;
 
Person::Person(int ID, char* data, bool Pol, double age)
       :m_Id(ID), m_Pol(Pol), m_Age(age)
 
{
    strcpy(m_data, data);
}
 
void Person::Print()
{
    cout << "Порядковый номер: " << m_Id <<" " << "ФИО: "  << m_data <<" " << "Возраст: " << m_Age  <<" " << "Пол: ";   
    if(m_Pol==0) cout << "man" <<endl;
    else cout << "woman" << endl;
}
 
 
void::Person::input()
{
    cout << "Введите порядковый номер ID ";
    cin >> m_Id;
 
    cout << "Введите ФИО ";
    cin >> m_data;                          // Вот это не работает!!!
    
    cout << "Введите возраст ";
    cin >> m_Age;   
 
    cout << "Введите пол ";
    cin >> m_Pol;
}
 
int main()
{
    
    setlocale( LC_ALL,"Russian" );
    Person nt;
    nt.input();
    nt.Print();
    system("pause");
    return 0;
}
Рабоатю в MS Visual 2010.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2013, 13:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работает ли Кириллица с классами? (C++):

Работа с классами. Не работает Кириллица. Истина рядом - C++
Работаю в Microsoft Visual Studio 2010. Кириллица везде работает, кроме одного момента. Подозреваю на то, что классы не умеют работать...

Не работает кириллица. Или работает, но illegale bute sequence - C++
В общем, столкнулся с такой проблемой. Есть консольное приложение. Не буду вдаваться в подробности, но мне понадобилось выводить русский...

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

Не работает прорамма с классами - C++
Не могу понять где ошыбка и как ее исправить . Друзья, помогите пожалуйста 1&gt;------ Построение начато: проект: ConsoleApplication2,...

Как работает ссылка с объектами, классами и перегруженным оператором [] - C++
Я тут решил поиграться с кодом и понял что совершенно не догоняю как работает ссылка &amp; Есть код нормально работающий: #include...

кириллица - C++
Подскажите, как сделать ,чтобы в Borland C вывод был русскими буквами. Я написал setlocale(LC_ALL, &quot;Russian&quot;); вывод стал на...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13221 / 7493 / 845
Регистрация: 27.09.2012
Сообщений: 18,412
Записей в блоге: 3
Завершенные тесты: 1
19.05.2013, 13:49 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <cstdlib>
#include <clocale>
 
int main(){    
    setlocale( LC_ALL,"Russian" );
    char buffer[1024];
    std::cout<<"Введите строку ->";
    std::cin>>buffer;
    std::cout<<"Вот Ваша строка:\n"<<buffer<<std::endl;
    system("pause");
    return 0;
}
Вопрос с классами отпал?
1
Igorokmen
3 / 3 / 1
Регистрация: 31.01.2013
Сообщений: 100
19.05.2013, 13:53  [ТС] #3
Да, спасибо Вам огромное.
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.05.2013, 15:04 #4
Русский ввод сделайте.
0
Igorokmen
3 / 3 / 1
Регистрация: 31.01.2013
Сообщений: 100
19.05.2013, 15:06  [ТС] #5
можете привести пример?
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.05.2013, 15:11 #6
C++
1
2
3
4
5
6
7
8
#include <windows.h>
 
int main()
{
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  ...
}
В свойствах консоли выбрать шрифт: Lucida Console
1
Croessmah
Эксперт CЭксперт С++
13221 / 7493 / 845
Регистрация: 27.09.2012
Сообщений: 18,412
Записей в блоге: 3
Завершенные тесты: 1
19.05.2013, 15:13 #7
Цитата Сообщение от Igorokmen Посмотреть сообщение
можете привести пример?
У Вас целая тема этому посвящена:
Работа с классами. Не работает Кириллица. Истина рядом
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2013, 15:13
Привет! Вот еще темы с ответами:

Кириллица - C++
Доброго времени суток! Заранее извиняюсь за весьма глупый вопрос, но все же string name; int main() { setlocale...

Кириллица - C++
Добрый день! Что сделать, что б кириллицу можно было вводить?

Кириллица в консоли - C++
#include &quot;stdafx.h&quot; #include &lt;iostream.h&gt; #include &quot;seria.h&quot; #include&lt;windows.h&gt; char bufRus; char* Rus(const char*...

Кириллица в консоли - C++
Здравствуйте. Произошла вот такая проблема. Надеюсь, поможете. Написал легкую программу на C++, написал редактором Dev-C++ и...


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

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

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