1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
1

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

20.11.2010, 12:55. Показов 851. Ответов 11
Метки нет (Все метки)

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.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2010, 12:55
Ответы с готовыми решениями:

С кодировкой базы данных и кодировкой сайтом и кодировкой файла разобраться не могу
С кодировкой базы данных и сайтом файлом разобраться не могу. Я на своем сайте вывожу данные из...

Неприятности с клавиатурой
Приобрел на днях клавиатуру qcyber syrin. Все первые два дня было все изумительно, но однажды...

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

Маленькие неприятности
При запуске программы запускается скрипт после чего выдает ошибку Если обновить базы не...

11
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
20.11.2010, 13:09  [ТС] 2
не понял!
0
899 / 793 / 186
Регистрация: 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 ();
}
0
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
20.11.2010, 13:26  [ТС] 4
а что поменялось кроме того что не хватает библиотеки stdafx?! Без которой прога вообще не компилируется!
0
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
20.11.2010, 13:28 5
Стандартные библиотеки надо заключать в скобки <>, e меня VS 2008 все отлично работает!!!!
0
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
20.11.2010, 13:33  [ТС] 6
тоже самое когда вводишь название на транслите или цифрами всё нормально, а когда русскими буквами- при выводе на экран всё равно иероглифы вместо названия!
Миниатюры
неприятности с кодировкой!  
0
5224 / 3196 / 362
Регистрация: 12.12.2009
Сообщений: 8,101
Записей в блоге: 2
20.11.2010, 14:04 7
Цитата Сообщение от zuranika Посмотреть сообщение
а что поменялось кроме того что не хватает библиотеки stdafx?! Без которой прога вообще не компилируется!
stdafx - это не библиотека) Это чисто студийный хедер, и, кстати можно вполне обходится без него. Как вариант - при создании проекта отметить чекбокс "пустой проект".
0
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
20.11.2010, 17:19  [ТС] 8
Не в этом суть. Проблема то в другом! Как то не очень когда названия городов надо в транслите писать. Ещё неизвестно как к этому препод отнесется!
0
5224 / 3196 / 362
Регистрация: 12.12.2009
Сообщений: 8,101
Записей в блоге: 2
20.11.2010, 17:27 9
почитайте

Цитата Сообщение от zuranika Посмотреть сообщение
неизвестно как к этому препод отнесется
не волнуйтесь, он в курсе)
0
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
20.11.2010, 18:20  [ТС] 10
ага это та ещё шайтанка! Она С++ почти незнает Точнее только в теории она на паскале пишет. Может подскажете что можно попробовать сделать.
0
5224 / 3196 / 362
Регистрация: 12.12.2009
Сообщений: 8,101
Записей в блоге: 2
20.11.2010, 18:36 11
Цитата Сообщение от zuranika Посмотреть сообщение
Может подскажете что можно попробовать сделать.
Вы на ссылку "почитайте" нажимали?
0
1 / 1 / 0
Регистрация: 18.04.2010
Сообщений: 45
20.11.2010, 21:30  [ТС] 12
я все это прочитал до того как создал тему. Там обсуждается вывод текста типа cout<<"привет народ"!
у меня нормально выводит русский шрифт и я набераю на русском а вот после присвоения при чтении из переменной выводит каракули, точнее буквы русские но совсем другие и в произвольном регистре.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2010, 21:30
Помогаю со студенческими работами здесь

Неприятности с pyinstaller
Возникла необходимость запускать скрипт python на машине, где по неведомым причинам установить...

Неприятности с file_get_contents
Добрый вечер! Прошу совета с небольшой проблемой. Имеется текстовый файл со ссылками (каждая с...

Двойные неприятности
Доброго времени суток. В общем-то проблемы у меня две... 1. Во время работы спикер пищит, после...

2 мелкие неприятности
Я новичок в Delphi У меня две проблемы: 1) Создал я прогу размером примерно 1000 на 1000...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru