Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C++ - wyświetlanie znaków Z kodu ASCII

Freeza14 01 Cze 2011 08:50 9428 5
  • #1 01 Cze 2011 08:50
    Freeza14
    Poziom 9  

    Witam wszystkich. Mam mały problemik.
    Chciałbym wyświetlić kilka znaków z kodu ASCII.

    Tablice znaków mam, to jedna z nich:

    C++ - wyświetlanie znaków Z kodu ASCII

    Zależy mi na przykład na:
    227 - znak liczby PI
    253 - Potęga 2

    Większość wyświetla się tak jak na załączonej fotografii, jednak zamiast tych, które mi są potrzebne pokazuje się coś innego.

    Oto kod, który dorwałem:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Próbowałem inaczej:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Co do kodu DEC wystarczy:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    I tak w cały świat się pokazuje. Ktoś wie, co jest grane? Co robię nie tak?
    Może jest inny sposób, by uzyskać znak PI czy potęgi?

    Proszę o pomoc :(

    0 5
  • #3 01 Cze 2011 11:47
    directx11
    Poziom 17  

    Kwestia strony kodowej - jakiego systemu używasz? Jeśli to Windows to masz taką komendę w konsoli jak chcp, którą możesz sprawdzić jaka jest aktualna lub ustawić jaką potrzebujesz - 437 powinna być OK.

    0
  • #4 02 Cze 2011 16:01
    Freeza14
    Poziom 9  

    Używam Windowsa XP Professional.

    Dziękuje ślicznie Wam :)
    Jak wrócę z roboty to sprawdzę :)

    To forum jest chyba najlepsze jakie znam :)
    Spytałem się o to samo na kilku innych ale tylko tu mi odpowiedzieli.

    Jeszcze raz dziękuje :) Życzę miłego dnia

    Dodano po 3 [godziny] 46 [minuty]:

    Niestety nadal mi nie wychodzi :(

    Na początku zmieniłem w programie i nic to nie dało więc zmieniłem bezpośrednio w konsoli CMD poleceniem "chcp 437" jednak to wciąż nie pomogło. Oto cały kodzik:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Może jakiejś biblioteczki brakuje (do tego) czy coś źle wpisuje?

    Dodano po 12 [minuty]:

    Oczywiście próbowałem też innych (nie wszystkich) stron kodowych i nic (i w programie i w konsoli).

    A Państwu działa?

    0
  • #5 04 Cze 2011 22:53
    wrych
    Poziom 20  

    Wszystko działa jak należy (obrazek). Pamiętaj, że kod \227 jest kodem w systemie ósemkowym, czyli 227 -> 2*8^2+2*8^1+7*8^0 = 2*64+2*8+7*1 = 128+16+7 = 241 i to jest kod znaku u z kreseczką, tak jak w Twojej tabelce.

    Natomiast:
    227 : 8 = 28 r. 3
    28 : 8 = 3 r. 4
    3 : 8 = 0 r. 3
    Spróbuj zatem kod ósemkowy \343 (tu pechowo wypadła liczba symetryczna), uzyskiwane reszty są cyframi liczby (pierwsza reszta to cyfra jedności).

    C++ - wyświetlanie znaków Z kodu ASCII

    1
  • #6 05 Cze 2011 21:50
    Freeza14
    Poziom 9  

    Używam Dev-Cpp lecz ściągnąłem również ten kompilator co Ty "wrych" użyłeś czyli CodeBlocks.

    Kod nawet mi się nie chce skompilować.
    A nie brałem całego tylko ten fragment co wkleiłem tu na forum.
    W co drugiej linijce błąd jak widać na zdjęciu.

    C++ - wyświetlanie znaków Z kodu ASCII

    Zmieniłem później na "\343" i ukazuje się "Ń" w Dev-Cpp.

    Nawet znajomy nie był wstanie mi pomóc, u niego mój kod działa tak jak bym ja chciał. w teorii mamy wszystko to samo (Windowsy, kompilatory, itp) a w praktyce nie działa tak samo.

    Że tak spytam... Jak wygląda Twój kod C++ który skompilowałeś i zadziałał w programie CodeBlocks?
    Ten program u mnie był dziś (05 czerwca 2011r. 21:40) zainstalowany więc nie bawiłem się jeszcze w ustawieniach.

    0