Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 26.03.2017
Сообщений: 1
1

Вывод непонятных символов вместо русских букв

26.03.2017, 16:02. Просмотров 2740. Ответов 2
Метки g, string, с (Все метки)


Здравствуйте, возникла такая проблема, что при выводе строки в методе Show() тот текст, который вводился с клавиатуры на русском языке, выводится непонятными символами. Строка типа 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
class car{
    private:
        string bodyType;
        string modelName;
        int yearMade;
        float value;
        float run;
    public:
        void test();
        void show();
        void init();
        car();
        car(string,string,unsigned short int,float,float);
        car(const car&);
        float getValue(){return value;}             //inline функции
        unsigned short int getYearMade(){return yearMade;}      //*
        float getMileage(){return run;}//*
        string getModel(){return modelName;}        //*
        string getBodyType(){return bodyType;}      //*
};
//Конструкторы
car::car(){
    cout<<"\n\tВызов конструктора без параметров\n";
    bodyType="null";
    modelName="null";
    yearMade=0;
    value=0;
    run=0;}
 
car::car(string body,string model,unsigned short int year,float val, float runVal){
    cout<<"\n\tВызов конструктора с параметрами\n";
    bodyType=body;
    modelName=model;
    yearMade=year;
    value=val;
    run=runVal;}
 
car::car(const car&rCar){
    cout<<"\n\tВызов конструктора копировщика\n";
    bodyType=rCar.bodyType;
    modelName=rCar.modelName;
    yearMade=rCar.yearMade;
    value=rCar.value;
    run=rCar.run;}
 
//Методы
 
//Метод инициализации
void car::init(){
    cout<<"\n\tВвод данных про машину\n";
    cout<<"\nВведите тип кузова:";
    cin>>bodyType;
    cout<<"\nВведите номер модели:";
    cin>>modelName;
    cout<<"\nВведите год производства:";
    cin>>yearMade;
    cout<<"\nВведите цену на автомобиль:";
    cin>>value;
    cout<<"\nВведите пробег автомобиля:";
    cin>>run;
}
 
//Метод отображения
 
void car::show(){
    cout<<"\tВывод данных про автомобиль\n";
    cout<<"Тип кузова:"<<getBodyType()<<endl;
    cout<<"Модель:"<<getModel()<<endl;
    cout<<"Цена:"<<getValue()<<" гривен"<<endl;
    cout<<"Год выпуска:"<<getYearMade()<<endl;
    cout<<"Пробег:"<<getMileage()<<endl;}
 
//Метод-тест
 
void car::test(){
    cout<<"\n\tВывод метода-теста:\n";
    if(yearMade>2014&&run<15000) show();
    else cout<<"Тест не пройдет";}
 
void main(){setlocale(LC_ALL,"russian_russia");
car car1;
car car2("Лада","2101",1994,60000,14000);
car car3(car2);
cout<<"Методы-тесты:";
car1.test();
car2.test();
car3.test();
cout<<"\n\tВывод данных об автомобилях:\n";
cout<<"Автомобиль номер 1:"<<endl;
car1.show();
cout<<"\nАвтомобиль номер 2:"<<endl;
car2.show();
cout<<"\nАвтомобиль номер 3:"<<endl;
car3.show();
cout<<"\n\tСоздание массива из 2 элементов";
car carArr[2];
carArr[0].init();
carArr[1].init();
carArr[0].show();
carArr[1].show();
cout<<"\n Проверка является ли тип кузова Седан и выводом данных об авто с этим типом\n";
if (car1.getBodyType()=="Седан")car1.show();
cout<<endl;
if(car2.getBodyType()=="Седан")car2.show();
if(car3.getBodyType()=="Седан")car3.show();
if(carArr[0].getBodyType()=="Седан")carArr[0].show();
if(carArr[1].getBodyType()=="Седан")carArr[1].show();
system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.03.2017, 16:02
Ответы с готовыми решениями:

Вывод иероглифов вместо русских символов
ситуация такая вывожу строки на русском с помощью printf() в коде программы, перед этим пишу...

Вывод в документ: китайские иероглифа вместо русских или английских букв
В коде какато фигня. Он написан и по идее работает, но вот с языком вывода проблема. Когда...

Wcout: Вывод непонятных символов
Всем доброго времени суток. Пишу прогу, которая вычленит из html-файла определенные тэги и выведет...

Иероглифы вместо русских букв
Как сделать в С что бы вместо иероглифов были русские буквы

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
2
6918 / 5983 / 2710
Регистрация: 14.04.2014
Сообщений: 25,504
26.03.2017, 16:14 2
Вверху раздела прикреплена тема "Русские шрифты..."
0
nd2
3406 / 2787 / 1251
Регистрация: 29.01.2016
Сообщений: 9,423
26.03.2017, 20:40 3
C++
1
2
3
4
5
6
7
8
#include <windows.h>
 
int main()
{
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  ...
}
В свойствах консоли выбрать шрифт: Lucida Console.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2017, 20:40

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Русифицировать консоль (кракозябры вместо русских букв)
Я начинающий в С++. Вопрос такой: почему вместо того что вводишь с клавиатуры, выводится совсем не...

Иероглифы вместо русских букв и Красная строка
Здравствуйте! Я в этом деле новичок, поэтому прошу помощи: 1) Почему у меня вместо русских букв...

_getch() в цикле выводит бред вместо русских букв
Извращался тут с getch(), возникла небольшая, но странная (для меня) проблема. В программе такого...

Непонятные буквы вместо русских символов в консоли
#include&quot;stdafx.h&quot; #include&quot;windows.h&quot; #include&lt;iostream&gt; #include&lt;stdlib.h&gt; using std::cout;...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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