Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Alkcatraz
0 / 0 / 1
Регистрация: 24.11.2012
Сообщений: 63
#1

Выводит не правильные символы - C++

30.06.2013, 18:14. Просмотров 557. Ответов 14
Метки нет (Все метки)

помогите решить ошибку. выводит не то что нужно.если не сложно объясните в чём моя ошибка.Спасибо.
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
#include "stdafx.h"
#include "iostream"
using namespace std;
 
class strana
{
public:
    
    char name[20];
    float plosch;
    char kontin[20];
    strana(char *name,float plosch,char *kontin)
    {
        name=name;
        plosch=plosch;
        kontin=kontin;
 
    }
    void vivod(void)
    {
        cout<<"_________________"<<endl;
        cout<<"имя"<<name<<endl;
        cout<<"Площадь"<<plosch<<endl;
        cout<<"Континент"<<kontin<<endl;
        cout<<"_________________"<<endl;
    }
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    strana a("Беларусь",500,"Евразия");
    a.vivod();
    return 0;
}
результат
Выводит не правильные символы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.06.2013, 18:14
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Выводит не правильные символы (C++):

выводит не правильные символы
только начал изучать С++.помогите пожалуйста исправить ошибку в коде, и если...

Программа выводит не правильные значения
#include &lt;iostream&gt; using namespace std; int main () { ...

Выводит не те символы
Написал простенькую программу для нахождения последнего символа строки, если...

Не выводит символы из массива
for (int i = 0 ; i &lt; 10; i ++){ arr = ' x '; cout &lt;&lt; arr &lt;&lt; &quot; &quot;; } в...

cout Выводит не те символы
Доброго времени суток. Есть такой код: #include &lt;stdio.h&gt; #include...

Выводит лишние символы
Объявляю char A; потом пишу A = &quot;1&quot;;,A = &quot;2&quot;;,A = &quot;3&quot;;,A = &quot;4&quot;;,A = &quot;5&quot;;, а...

14
MaxDM1993
12 / 12 / 7
Регистрация: 27.11.2011
Сообщений: 33
30.06.2013, 18:19 #2
http://i.imgur.com/Y1utR.png
Я думаю у файла изначально стояла не та кодировка
0
Yamko
11 / 11 / 3
Регистрация: 10.03.2013
Сообщений: 104
30.06.2013, 18:21 #3
C++ (Qt)
1
setlocale(LC_ALL, "rus");
?
0
Alkcatraz
0 / 0 / 1
Регистрация: 24.11.2012
Сообщений: 63
30.06.2013, 18:29  [ТС] #4
Цитата Сообщение от Yamko Посмотреть сообщение
C++ (Qt)
1
setlocale(LC_ALL, "rus");
?
Выводит не правильные символы

вот что получилось
0
vodilawofer
29 / 27 / 1
Регистрация: 27.09.2012
Сообщений: 123
30.06.2013, 19:03 #5
C++
1
setlocale(LC_ALL, "Russian");
0
Yamko
11 / 11 / 3
Регистрация: 10.03.2013
Сообщений: 104
30.06.2013, 19:10 #6
Попробуйте очистить переменные в начале программы
0
Alkcatraz
0 / 0 / 1
Регистрация: 24.11.2012
Сообщений: 63
30.06.2013, 19:17  [ТС] #7
Цитата Сообщение от vodilawofer Посмотреть сообщение
C++
1
setlocale(LC_ALL, "Russian");
не получается

Добавлено через 42 секунды
Цитата Сообщение от Yamko Посмотреть сообщение
Попробуйте очистить переменные в начале программы
как их очистить?
0
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
30.06.2013, 19:31 #8
1.

C++
1
2
3
4
5
strana(char *name,float plosch,char *kontin)
    {
        name=name;
        plosch=plosch;
        kontin=kontin
Здесь переменные name, plosch и kontin, переданные аргументами функции,
присваиваются сами себе. Попробуйте добавить к аргументам функции квалификатор
const (например, "char const *name,float const plosch,char const *kontin") и
код вообще не скомпилируется.

2. То, что кириллица не выводится на консоль - это в общем случае не Ваша
ошибка, а особенность работы консоли в Windows.
Можете попробовать сохранить исходники в UTF-8, установить для потока
std::cout нужную локаль (см. std::cout.imbue) и задать для консоли нужную
кодировку (например, Windows-1251), но это все равно не будет работать на
нерусских локализациях Windows, где в региональных настройках для неюникодных
программ стоит язык, отличный от русского.
0
ntrx
122 / 122 / 82
Регистрация: 03.01.2013
Сообщений: 241
30.06.2013, 19:34 #9
Измените еще в консоли шрифт на Lucida Console / Consolas
0
undertacker
9 / 9 / 1
Регистрация: 28.04.2013
Сообщений: 55
30.06.2013, 19:34 #10
Alkcatraz, среда какая?
0
Dr_Quake
Заблокирован
30.06.2013, 19:37 #11
DOS/WIN же явно. RTFM!!!

http://www.cyberforum.ru/cpp-beginners/thread10662.html

SetLocale не пашет в половине сред.
0
Alkcatraz
0 / 0 / 1
Регистрация: 24.11.2012
Сообщений: 63
30.06.2013, 19:45  [ТС] #12
Цитата Сообщение от undertacker Посмотреть сообщение
Alkcatraz, среда какая?
Microsoft Visual Studio 2012
0
Dr_Quake
Заблокирован
30.06.2013, 19:54 #13
Ну да, либо делай как написано в FAQ, либо конверти в Unicode проект и используй W вывод с SetLocale.
0
Yamko
11 / 11 / 3
Регистрация: 10.03.2013
Сообщений: 104
30.06.2013, 19:57 #14
Вот, только вместо чара сделал стринг
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
#include <iostream>
#include <string>
using namespace std;
 
class strana
{
public:
    strana(string name, float plosch,string kontin)
    {
        setCountryName (name);
        setPlosch (plosch);
        setKontin (kontin);
    }
    
    void setCountryName (string name)
    {
        countryName=name;
    }
    string getCountryName()
    {
        return countryName;
    }
 
    void setKontin (string kontin)
    {
        materik=kontin;
    }
    string getKontin()
    {
        return materik;
    }
 
    void setPlosch (float plosch)
    {
        square=plosch;
    }
    float getPloch()
    {
        return square;
    }
    
    void vivod()
    {
        cout<<"_________________"<<endl;
        cout<<"имя "<<getCountryName()<<endl;
        cout<<"Площадь "<<getPloch()<<endl;
        cout<<"Континент "<<getKontin()<<endl;
        cout<<"_________________"<<endl;
    }
 
private:
    string countryName, materik;
    float square; 
};
 
int main()
{
    setlocale(LC_ALL,"rus");
    strana a("Беларусь",500,"Евразия");
    a.vivod();
    system("pause");
    return 0;
}
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.07.2013, 05:42 #15
C++
1
2
3
4
5
6
strana(char *n, float p, char *k)
{
    strcpy(name, n);
    plosch = p;
    strcpy(kontin, k);
}
0
01.07.2013, 05:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2013, 05:42
Привет! Вот еще темы с решениями:

Почему выводит лишние символы?
char * buildstr(char c, int n); int main() { setlocale(LC_ALL, &quot;russian&quot;);...

Выводит лишние символы из файла
Есть вот такой код, и где-то ошибка есть во второй части (считывания из файла),...

static_cast<char>() не выводит некоторые символы
Редактор geany, компилятор gcc. cout&lt;&lt; static_cast&lt;char&gt;(4) заместо...

Почему выводит не понятные символы, а не то что вводилось пользователем?
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;sstream&gt; #include...


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

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

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