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

Помогите с CharToOem и ещё с if and else - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Kovar
 Аватар для Kovar
0 / 0 / 0
Регистрация: 11.09.2011
Сообщений: 41
08.10.2011, 09:47     Помогите с CharToOem и ещё с if and else #1
Всем доброго дня. У меня вот такая вот проблема не могу разобраться по чему не работает русский язык, пишет что CharToOem невозможно преобразить параметр 1 из const*char и не могу понять почему пишет что else без парной if хотя вроде всё есть.

Первая работа


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
#include <iostream>
#include <windows.h>
char* Rus (const char* text); 
using namespace std;
int main()
 
{
    int x, e;
    cout << Rus("Введите число от 0 до 999") << endl;
    cin >> x;
    e=x%10;
    if (e==0 || e==2 || e==4 || e==6 || e==8);
    
        if (x>=0 && x<=9);
            cout << Rus ("Однозначное чётное число") << endl;
        else 
            if (x>=10 && x<=99)
            cout << Rus ("Двузначное чётное число") << endl;
    
            else
                if (x>=100 && x<=999)
                cout << Rus ("Трёхзначное чётное число") << endl;
                else 
                cout << Rus ("Error") << endl;
    else 
        if (x>=0 && x<=9)
            cout << Rus ("Однозначное не чётное число") << endl;
        else 
            if (x>=10 && x<=99)
            cout << Rus ("Двузначное не чётное число") << endl;
            else
                if (x>=100 && x<=999)
                cout << Rus ("Трёхзначное не чётное число") << endl;
                else 
                cout << ("Error") << endl;
    return 0;
        
}
char bufRus [256];
    char* Rus(const char* text)
{   
    CharToOem(text, bufRus);
    return bufRus;
}
Вторая

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 <iostream>
#include <math.h>
#include <windows.h>
char* Rus (const char* text);
using namespace std;
int main ()
 
{
    double a, b, c;
    cout <<"a=";
    cin >>a;
    cout <<"b=";
    cin >>b;
    cout <<"c=";
    cin >>c;
 
    
    if (a==b && a==c)
 
    cout << endl << Rus ("Треугольник равностороний") << endl;
 
    else 
        if (a==b || a==c || b==c)
            cout << endl << Rus ("Треугольник равнобедренный") << endl;
        else 
            cout << endl << Rus ("Треугольник разносторонний") << endl;
return 0;
}
    char bufRus [256];
    char* Rus(const char* text)
{   
    CharToOem(text, bufRus);
    return bufRus;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2011, 09:47     Помогите с CharToOem и ещё с if and else
Посмотрите здесь:

трудности с CharToOem C++
Ф-ия с CharToOem не возвращает слово через return C++
OemToChar/CharToOem C++
C++ Function 'CharToOem' should have a prototype
C++ CharToOem заглавные русские буквы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
samsebe
31 / 27 / 1
Регистрация: 25.01.2010
Сообщений: 145
08.10.2011, 10:07     Помогите с CharToOem и ещё с if and else #2
в первом коде убери ";" после условия if
Kovar
 Аватар для Kovar
0 / 0 / 0
Регистрация: 11.09.2011
Сообщений: 41
08.10.2011, 10:09  [ТС]     Помогите с CharToOem и ещё с if and else #3
Цитата Сообщение от samsebe Посмотреть сообщение
в первом коде убери ";" после условия if
Спасибо с этим разобрался а как же с CharToOem?
samsebe
31 / 27 / 1
Регистрация: 25.01.2010
Сообщений: 145
08.10.2011, 10:23     Помогите с CharToOem и ещё с if and else #4
вообще то у меня оба кода работают без ошибок
Kovar
 Аватар для Kovar
0 / 0 / 0
Регистрация: 11.09.2011
Сообщений: 41
08.10.2011, 11:05  [ТС]     Помогите с CharToOem и ещё с if and else #5
Цитата Сообщение от samsebe Посмотреть сообщение
вообще то у меня оба кода работают без ошибок
А почему у меня тогда пишет вот такую гадость CharToOemW (непонятно откуда взялось W) невозможно преобразовать параметр 1 из const char* в LPCWSTR

Добавлено через 12 минут
Всё нашел проблему и решил её спасибо!
iWord
 Аватар для iWord
10 / 10 / 1
Регистрация: 21.12.2010
Сообщений: 109
08.10.2011, 11:54     Помогите с CharToOem и ещё с if and else #6
еще можно через
C++
1
2
#include <locale>
setlocale(LC_ALL,"");
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
08.10.2011, 14:59     Помогите с CharToOem и ещё с if and else #7
iWord, не самый удачный способ.
Цитата Сообщение от Kovar Посмотреть сообщение
А почему у меня тогда пишет вот такую гадость CharToOemW (непонятно откуда взялось W) невозможно преобразовать параметр 1 из const char* в LPCWSTR
Отключи поддержку юникода или вызывай CharToOemA. Второе предпочтительней.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2013, 10:55     Помогите с CharToOem и ещё с if and else
Еще ссылки по теме:

C++ Функция CharToOem
Ошибка с CharToOem C++
замена chartooem C++

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

Или воспользуйтесь поиском по форуму:
yTpO
5 / 5 / 0
Регистрация: 15.03.2013
Сообщений: 67
06.04.2013, 10:55     Помогите с CharToOem и ещё с if and else #8
C++
1
2
3
4
5
6
7
//Подключение русского языка
char bufRus[256];
char* Rus(const char*text)
 {
 CharToOem(text, bufRus);
 return bufRus;
 }
Yandex
Объявления
06.04.2013, 10:55     Помогите с CharToOem и ещё с if and else
Ответ Создать тему
Опции темы

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