Как установить кодировку в c ++, я новичок - PullRequest
0 голосов
/ 06 мая 2020

Кто-нибудь может мне помочь? Я новичок в C ++ и не знаю, почему это не работает. Я хочу использовать венгерские символы [ÁŰŐÚÓÜÍ] Я пытался использовать setlocale(LC_ALL, "hu_HU.utf8"); setlocale(LC_ALL, "hu_HU.ISO88592"); и setlocale(LC_ALL,"hun");, но ни один из них не работает.

Извините за мой плохой английский sh ребята: I

Мой полный код:

#include <iostream>
#include <stdlib.h>
#include <cstdlib>
#include <windows.h>
#include <ctime>

using namespace std;

HANDLE con = GetStdHandle(STD_OUTPUT_HANDLE);
void jatekmenet();
int vegeredmeny();
void init();
void validation();
void rolling();
int balance=50000,huzas,radm,sec,last,bet;
char color;
int table[15];
int main()
{
    setlocale(LC_ALL, "hu_HU.utf8");
    system("cls");
    srand(time(0));
    SetConsoleTextAttribute(con, 15);
    cout<<"Udvozollek a programban! Ez egy roulett program!"<<endl;
    cout<<"Kerem valasszon opciot! "<<endl;
    cout<<"[0] Inditas"<<endl;
    cout<<"[1] Informacio"<<endl;
    cout<<"[2] Kilepes"<<endl;
    char opc = 'k';
    cin>>opc;
    if(opc=='0') {
        jatekmenet();
    } else if(opc=='1') {
        system("cls");
        SetConsoleTextAttribute(con, 240);
        cout<<"Informacio: A jatek ";
        SetConsoleTextAttribute(con, 241);
        cout<<"50.000 ";
        SetConsoleTextAttribute(con, 240);
        cout<<"coinnal kezdodik!"<<endl;
        cout<<"Ha bejon a FEKETE vagy a PIROS akkor megduplazodik a feltett penzed, ha pedig ZOLD jon meg 14 szeresedik a tet!"<<endl;
        SetConsoleTextAttribute(con, 79);
        cout<<"Abban az esetben ha nem jott ossze a tipped, elveszted a feltett penzedet!"<<endl;
        SetConsoleTextAttribute(con, 15);
        Sleep(7000);
        main();
    } else if(opc=='2') {

    }
    return 0;
}
void init() {
    for(int i=0;i<=15;i++) {
        table[i]=rand()%13+1;
    }
    rolling();
}
void jatekmenet() {
    system("cls");
    cout<<"Add meg a tetet: ";
    cin>>bet;
    balance = balance - bet;
    cout<<"A jatek tete: "<<bet<<" Melyik szint szeretned megrakni? [P/F/Z]"<<endl;
    cin>>color;
    if(color=='P') {
        cout<<"A megtett szin a Piros (A penz duplazodhat | Esely: Medium)"<<endl;
    } else if(color=='F') {
        cout<<"A megtett szin a Fekete (A penz duplazodhat | Esely: Medium)"<<endl;
    } else if(color=='Z') {
        cout<<"A megtett szin a Zöld (A penz 14szeresedhet | Esely: Kicsi)"<<endl;
    }
    Sleep(3000);
    sec = 10;
    while(sec>=0) {
        system("cls");
        cout<<sec<<" Masodperc mulva indul a porgetes!"<<endl;
        sec = sec-1;
        Sleep(1000);
    }
    init();
}
void rolling() {
    for(int i=0;i<=15;i++) {
        system("cls");
        last = table[i];
        cout<<"--> "<<table[i]<<" <--";
        Sleep(200);
    }
    SetConsoleTextAttribute(con, 10);
    cout<<" lett a nyertes szam!";
    SetConsoleTextAttribute(con, 15);
    validation();
}
void validation() {
    if(last==0) {
        if(color=='Z') {
            balance = balance+(14*bet);
            cout<<"  (Zöld 14x)! Penzed: "<<balance<<" (Nyertel "<<bet<<" coint)";
        } else {
            balance = balance-bet;
            cout<<"  (Zöld 14x)! Penzed: "<<balance<<" (Elvesztettel "<<bet<<" coint)";
        }
    } else if(last%2==0 && last!=0) {
        if(color=='P') {
            balance = balance+(2*bet);
            cout<<"  (Piros 2x)! Penzed: "<<balance<<" (Nyertel "<<bet<<" coint)";
        } else {
            balance = balance-bet;
            cout<<"  (Piros 2x)! Penzed: "<<balance<<" (Elvesztettel "<<bet<<" coint)";
        }
    } else if(last%2!=0) {
        if(color=='F') {
            balance = balance+(2*bet);
            cout<<"  (Fekete 2x)! Penzed: "<<balance<<" (Nyertel "<<bet<<" coint)";
        } else {
            balance = balance-bet;
            cout<<"  (Fekete 2x)! Penzed: "<<balance<<" (Vesztettel "<<bet<<" coint)";
        }
    } else {
        cout<<" (Szar van a palacsintába)! Penzed: "<<balance<<" (Nyertel "<<bet<<" coint)";
    }
    Sleep(5000);
    jatekmenet();
}

...