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

неприятности с кодировкой! - C++

Восстановить пароль Регистрация
 
zuranika
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
20.11.2010, 12:55     неприятности с кодировкой! #1
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
 HerProject.cpp: главный файл проекта.
 
#include "stdafx.h"
#include "stdio.h"
#include "iostream"
#include <conio.h>
#include <ctype.h>
#include <string>
#include <windows.h>
using namespace std;
 int i=0;
class table 
{
public:
    int number[10],s[10],kol[10],year[10];
    string name[10];
};
 
    void Menu();
    void Info();
    void Quit();
    table t;
        void Menu ()
    {
    cout<<"нажмите Пробел для отображения меню"<<endl;
    cout<<"___________________________________"<<endl;
    return Info ();
    }
 
void Info()
{   
    
    char key;
    key = getch();
switch(key)
{
case 32:
    system("cls");
    cout<<" ________________________________________________"<<endl;
    cout<<"| 1-список |"<<"| 2-добавить запись |"<<"| 3-сортировать |"<<endl;
    cout<<"|________________________________________________|"<<endl;
    return Info();
    break;
case 49: 
    
for ( int j=0; j<i; j++)
    {
    cout <<t.number[j]<<"\t"<<t.name[j]<<"\t"<<t.s[j]<<"\t"<<t.kol[j]<<"\t"<<t.year[j] <<endl;
    }
    Info();
    break;
case 50 :
    char buf[10];
    cout<<"Введите номер города"<<endl;
    cin>>t.number[i];
    cout<<"Введите название города"<<endl;
    cin>>t.name[i];
    cout<<"Введите площадь"<<endl;
    cin>>t.s[i];
    cout<<"Введите количество жителей"<<endl;
    cin>>t.kol[i];
    cout<<"Введите год оснавания"<<endl;
    cin>>t.year[i];
    i++;
    system("cls");
 
    cout<<"Данные записаны!"<<endl;
    break;
case 27 :
    exit(1);
    break;
}
return Menu ();
}
 
        void main()
{ 
    setlocale(LC_ALL, "Russian");
    Menu ();
}
помогите пожалуста. Это наброски кода программы в будущем она будет дополнена. Сейчас возникла проблема после присвоения в консоле переменной типа string какого либо значения на русском языке(вводится в консоле),при чтении из этой переменной отображаются иероглифы. Хотя при вводе русский отображается нормально. другие надписи тоже отображаются на русском.Пишу в VS 2010, ОС Windows7.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zuranika
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
20.11.2010, 13:09  [ТС]     неприятности с кодировкой! #2
не понял!
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
20.11.2010, 13:17     неприятности с кодировкой! #3
Попробуйте вот так

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
#include <stdio.h>
#include <iostream>
#include <conio.h>
#include <ctype.h>
#include <string>
#include <windows.h>
using namespace std;
 int i=0;
class table 
{
public:
    int number[10],s[10],kol[10],year[10];
        string name[10];
};
 
        void Menu();
        void Info();
        void Quit();
        table t;
                void Menu ()
        {
        cout<<"нажмите Пробел для отображения меню"<<endl;
        cout<<"___________________________________"<<endl;
        return Info ();
        }
 
void Info()
{       
        
        char key;
    key = getch();
switch(key)
{
case 32:
        system("cls");
        cout<<" ________________________________________________"<<endl;
        cout<<"| 1-список |"<<"| 2-добавить запись |"<<"| 3-сортировать |"<<endl;
        cout<<"|________________________________________________|"<<endl;
        return Info();
        break;
case 49: 
        
for ( int j=0; j<i; j++)
        {
        cout <<t.number[j]<<"\t"<<t.name[j]<<"\t"<<t.s[j]<<"\t"<<t.kol[j]<<"\t"<<t.year[j] <<endl;
        }
        Info();
        break;
case 50 :
        char buf[10];
        cout<<"Введите номер города"<<endl;
        cin>>t.number[i];
        cout<<"Введите название города"<<endl;
        cin>>t.name[i];
        cout<<"Введите площадь"<<endl;
        cin>>t.s[i];
        cout<<"Введите количество жителей"<<endl;
        cin>>t.kol[i];
        cout<<"Введите год оснавания"<<endl;
        cin>>t.year[i];
        i++;
        system("cls");
 
        cout<<"Данные записаны!"<<endl;
        break;
case 27 :
        exit(1);
        break;
}
return Menu ();
}
 
                void main()
{ 
        setlocale(LC_ALL, "Russian");
        Menu ();
}
zuranika
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
20.11.2010, 13:26  [ТС]     неприятности с кодировкой! #4
а что поменялось кроме того что не хватает библиотеки stdafx?! Без которой прога вообще не компилируется!
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
20.11.2010, 13:28     неприятности с кодировкой! #5
Стандартные библиотеки надо заключать в скобки <>, e меня VS 2008 все отлично работает!!!!
zuranika
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
20.11.2010, 13:33  [ТС]     неприятности с кодировкой! #6
тоже самое когда вводишь название на транслите или цифрами всё нормально, а когда русскими буквами- при выводе на экран всё равно иероглифы вместо названия!
Миниатюры
неприятности с кодировкой!  
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
20.11.2010, 14:04     неприятности с кодировкой! #7
Цитата Сообщение от zuranika Посмотреть сообщение
а что поменялось кроме того что не хватает библиотеки stdafx?! Без которой прога вообще не компилируется!
stdafx - это не библиотека) Это чисто студийный хедер, и, кстати можно вполне обходится без него. Как вариант - при создании проекта отметить чекбокс "пустой проект".
zuranika
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
20.11.2010, 17:19  [ТС]     неприятности с кодировкой! #8
Не в этом суть. Проблема то в другом! Как то не очень когда названия городов надо в транслите писать. Ещё неизвестно как к этому препод отнесется!
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
20.11.2010, 17:27     неприятности с кодировкой! #9
почитайте

Цитата Сообщение от zuranika Посмотреть сообщение
неизвестно как к этому препод отнесется
не волнуйтесь, он в курсе)
zuranika
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
20.11.2010, 18:20  [ТС]     неприятности с кодировкой! #10
ага это та ещё шайтанка! Она С++ почти незнает Точнее только в теории она на паскале пишет. Может подскажете что можно попробовать сделать.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
20.11.2010, 18:36     неприятности с кодировкой! #11
Цитата Сообщение от zuranika Посмотреть сообщение
Может подскажете что можно попробовать сделать.
Вы на ссылку "почитайте" нажимали?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2010, 21:30     неприятности с кодировкой!
Еще ссылки по теме:

C++ Проблемы с кодировкой при подключении текстового файла
C++ Программа не обрабатывает текст из файла с кодировкой, отличной от ANSI
C++ Проблемы с кодировкой символов

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

Или воспользуйтесь поиском по форуму:
zuranika
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
20.11.2010, 21:30  [ТС]     неприятности с кодировкой! #12
я все это прочитал до того как создал тему. Там обсуждается вывод текста типа cout<<"привет народ"!
у меня нормально выводит русский шрифт и я набераю на русском а вот после присвоения при чтении из переменной выводит каракули, точнее буквы русские но совсем другие и в произвольном регистре.
Yandex
Объявления
20.11.2010, 21:30     неприятности с кодировкой!
Ответ Создать тему
Опции темы

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