ASCII таблица

Да се напише програма, която позволява да се отпечата ASCII таблицата на символите – ASCII кода (числo от 0 до 255) и символа, който съответства на този код. Таблицата да е подходящо форматирана и прегледна, така че ASCII кодовете да са в една колона, дясно подравнени.

По желание: Да се изведе същата ASCII таблица, но в 5 колони.

Публикувано в 11а, 11в с етикети . Постоянна връзка.

5 Responses to ASCII таблица

  1. dreanor каза:
    #include <cstdlib>
    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    int main(int argc, char *argv[])
    {
       for (int i=0;i<=51;i++)
       {
           switch(i){
                   case  7:cout<<setw(2)<<i<<"- "<<char(i);break;               //Simwolite izbroeni w case imat
                   case  8:cout<<setw(2)<<i<<"-"<<"BS"<<char(8);break;          //specialna funckiq kato tabulaciq
                   case  9:cout<<setw(2)<<i<<"-"<<"TAB"<<char(8)<<char(8);break;//backspace i drugi. Po tozi nachin
                   case 10:cout<<setw(2)<<i<<"-"<<"LF"<<char(8);break;          //prechat na izpulnenieto na programata
                   case 12:cout<<setw(2)<<i<<"-"<<"FF"<<char(8);break;          //i sum gi zamestil sus suotwetnite sukrashteniq
                   case 13:cout<<setw(2)<<i<<"-"<<"CR"<<char(8);break;
                   default:cout<<setw(2)<<i<<"-"<<char(i);
                   }
           cout<<setw(10)<<i+51<<"-"<<char(i+51);
           cout<<setw(10)<<i+102<<"-"<<char(i+102);
           cout<<setw(10)<<i+153<<"-"<<char(i+153);
           cout<<setw(10)<<i+204<<"-"<<char(i+204)<<endl;
       }
            
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
    • Данаил каза:

      А, направил си ASCII таблицата в пет колони, супер :-) Обаче не разбрах защо си сложил char(8) – при мен ти изтрива последната буква…

      • dreanor каза:

        Ами char(8) го сложих за да компенсира изместването на целия ред при отпечатване на TAB, BS, LL, LF i CR. Обаче сега видях, че съм качил грешния код на програмата, понеже после преправих начина на подреждане в колони. Ще кача новият код.

      • dreanor каза:
        #include <cstdlib>
        #include <iostream>
        #include <iomanip>
        using namespace std;
         
        int main(int argc, char *argv[])
        {
           for (int i=0;i<=51;i++)
           {
               switch(i){
                       case  7:cout<<setw(2)<<i<<"- "<<char(i);break;               //Simwolite izbroeni w case imat
                       case  8:cout<<setw(2)<<i<<"-"<<"BS ";break;          //specialna funckiq kato tabulaciq
                       case  9:cout<<setw(2)<<i<<"-"<<"TAB";break;//backspace i drugi. Po tozi nachin
                       case 10:cout<<setw(2)<<i<<"-"<<"LF";break;          //prechat na izpulnenieto na programata
                       case 12:cout<<setw(2)<<i<<"-"<<"FF";break;          //i sum gi zamestil sus suotwetnite sukrashteniq
                       case 13:cout<<setw(2)<<i<<"-"<<"CR";break;
                       default:cout<<setw(2)<<i<<"-"<<char(i);
                       }
               cout<<char(9)<<i+51<<"-"<<char(i+51);
               cout<<char(9)<<i+102<<"-"<<char(i+102);
               cout<<char(9)<<i+153<<"-"<<char(i+153);
               cout<<char(9)<<i+204<<"-"<<char(i+204)<<endl;
           }
                 
            system("PAUSE");
            return EXIT_SUCCESS;
        }
        

        А ето го и него.

        • Данаил каза:

          Сега вече съм съгласен. При мен под Линукс обаче и VT (символът с ASCII код 11) също прецаква оформлението – сваля с един ред надолу. И също в края на всяка колона и началото на следващата имаш по една повтаряща се стойност :-)

Вашият коментар