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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Kovar
0 / 0 / 0
Регистрация: 11.09.2011
Сообщений: 41
#1

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

08.10.2011, 09:47. Просмотров 1273. Ответов 7
Метки нет (Все метки)

Всем доброго дня. У меня вот такая вот проблема не могу разобраться по чему не работает русский язык, пишет что 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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2011, 09:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Помогите с CharToOem и ещё с if and else (C++):

Ошибка с CharToOem - C++
Часть с кода: #include &lt;iostream&gt; #include &lt;windows.h&gt; #include &lt;conio.h&gt; using namespace std; void rus (char*src) ...

VS C++ Не работает CharToOem - C++
#include &lt;iostream&gt; #include&lt;Windows.h&gt; using namespace std; void reversit(char); int main() { setlocale(LC_ALL, &quot;rus&quot;); ...

трудности с CharToOem - C++
есть код: char* Rus(char* text) { char* buf = new char(600); CharToOem(text, buf); strcpy(text, buf); delete...

замена chartooem - C++
подскажите вот есть такой код: char bufer ; char*rus (char*s) { CharToOem (s,bufer); return bufer; но на борланде 3.1 нету и...

Функция CharToOem - C++
Объясните пожалуйста, в чем тут ошибка? #include &lt;windows.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; int main() { char...

Function 'CharToOem' should have a prototype - C++
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; #include&lt;iomanip.h&gt; char NEWT; char*RUS(char*TEXT) { ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
samsebe
31 / 27 / 1
Регистрация: 25.01.2010
Сообщений: 145
08.10.2011, 10:07 #2
в первом коде убери ";" после условия if
0
Kovar
0 / 0 / 0
Регистрация: 11.09.2011
Сообщений: 41
08.10.2011, 10:09  [ТС] #3
Цитата Сообщение от samsebe Посмотреть сообщение
в первом коде убери ";" после условия if
Спасибо с этим разобрался а как же с CharToOem?
0
samsebe
31 / 27 / 1
Регистрация: 25.01.2010
Сообщений: 145
08.10.2011, 10:23 #4
вообще то у меня оба кода работают без ошибок
0
Kovar
0 / 0 / 0
Регистрация: 11.09.2011
Сообщений: 41
08.10.2011, 11:05  [ТС] #5
Цитата Сообщение от samsebe Посмотреть сообщение
вообще то у меня оба кода работают без ошибок
А почему у меня тогда пишет вот такую гадость CharToOemW (непонятно откуда взялось W) невозможно преобразовать параметр 1 из const char* в LPCWSTR

Добавлено через 12 минут
Всё нашел проблему и решил её спасибо!
0
iWord
10 / 10 / 1
Регистрация: 21.12.2010
Сообщений: 109
08.10.2011, 11:54 #6
еще можно через
C++
1
2
#include <locale>
setlocale(LC_ALL,"");
1
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
08.10.2011, 14:59 #7
iWord, не самый удачный способ.
Цитата Сообщение от Kovar Посмотреть сообщение
А почему у меня тогда пишет вот такую гадость CharToOemW (непонятно откуда взялось W) невозможно преобразовать параметр 1 из const char* в LPCWSTR
Отключи поддержку юникода или вызывай CharToOemA. Второе предпочтительней.
1
yTpO
5 / 5 / 0
Регистрация: 15.03.2013
Сообщений: 67
06.04.2013, 10:55 #8
C++
1
2
3
4
5
6
7
//Подключение русского языка
char bufRus[256];
char* Rus(const char*text)
 {
 CharToOem(text, bufRus);
 return bufRus;
 }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2013, 10:55
Привет! Вот еще темы с ответами:

CharToOem заглавные русские буквы - C++
не могу понять почему не пишутся русские заглавные буквы. передаю параметр в программу /label &quot;Иванов И.В&quot; После преобразования...

Функция с CharToOem не возвращает слово через return - C++
Здравствуйте! У меня есть такая: ф-ия char* rus3(char* c) { char buf; CharToOem(c,buf); return buf; }

Не работает CharToOem в Microsoft Visual C++ 2010 express - C++
Здравствуйте! Не работает CharToOem в Microsoft Visual C++ 2010 express. А также все другие варианты работы с русской строкой в...

CharToOem. Помогите! - C# ASP.NET
Создаю текстовый файл в Пенсионный Фонд. Проблема: Получается в DOS вот, что: &quot;ЗГЛВ&quot;&quot;,&quot;&quot;04.00&quot;&quot;,&quot;&quot;АГС&quot;&quot;,&quot;&quot;8.18&quot; А мне надо, чтобы...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.04.2013, 10:55
Ответ Создать тему
Опции темы

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