Ascii code tabelle ausgeben C



  • wxSkip schrieb:

    Erstens das und zweitens entspricht das nicht den Voraussetzungen. (nur 16 statt 20 Spalten, nur bis 127)

    Naja, wenn der TO das im Quelltext anpasst, hat er ja noch was Eigenes gemacht. 🙂



  • DirkB schrieb:

    wxSkip schrieb:

    Erstens das und zweitens entspricht das nicht den Voraussetzungen. (nur 16 statt 20 Spalten, nur bis 127)

    Naja, wenn der TO das im Quelltext anpasst, hat er ja noch was Eigenes gemacht. 🙂

    Was sollen eigentlich die Defines?



  • SO nach langem übergehen meines Codes und das durchgehen euer Comment's hab ichs jetzt (hatte auch etwas Hilfe von einem Freund)

    #include <stdio.h>
    
    int main()
    {
        int sterne      =0, //Zählervariable für die Sternenreihe
            zahlenzeile =0, //Zählervariable für die Zahlenzeile
            zeilenh     =0, //Zählervariable für den Zeilenumbruch
            spalten     =0, //Zählervariable für die Spalten
            ascii       =0; //Zählervariable für die Ausgabe der
                            //ASCII-Codes
    
        printf("\nASCII-Code Tabelle\n\n");
    
        //Ausgabe der Zahlenzeile
        printf("     * ");
        for(zahlenzeile=0; zahlenzeile<=19;zahlenzeile++){
            if(zahlenzeile<=9 && zahlenzeile >0)
                printf("  %d", zahlenzeile);
            else
            printf(" %d", zahlenzeile);
        }
    
        printf("\n"); //Zeilenumbruch
        //Ausgabe der Sternenzeile
        for(sterne=0; sterne<=65; sterne++)
            printf("*");
    
        printf("\n"); //Zeilenumbruch
    
        //Ausgabe der ASCII-Codes
            for(spalten=0; spalten <= 255; spalten += 20)
            {
                printf(" %3d *", spalten); //Ausgabe Der Zeilennummern
                    for(zeilenh = 0; zeilenh < 20; zeilenh++)
                    {
                        //Berechnung der ASCII's
                        ascii = spalten + zeilenh;
                        //Ausgabe aller ASCII's über 32
                        if(ascii < 32 || ascii > 255)
                        {
                            printf("   ");
                        }
                        else
                        {
                            printf("%3c",ascii);
                        }
                    }
                printf("\n");
            }
        return 0;
    }
    


  • Nein, es stimmt immer noch nicht ganz... Vor der Spalte 0 ist eine Leerzeile zu viel.



  • Aber es funktioniert =)))



  • Na schön, dann hier meine Lösung aus den letzten 8 Minuten:

    #include <stdio.h>
    
    int main()
    {
        printf("ASCII-Code Tabelle\n\n     *");
        for(int headline_num = 0; headline_num <= 19; ++headline_num) printf("%2d ", headline_num);
        printf("\n");
    
        for(int stars = 0; stars <= 65; ++stars) putc('*');
    
        for(int ascii = 0; ascii <= 255; ++ascii)
        {
            if(ascii % 20 == 0) printf("\n %3d *", ascii);
    
            printf(" %c ", ascii < 32 ? ' ' : (char)ascii);
        }
    }
    


  • Wow ... gut so professionel haben wir das noch nicht gelernt aber trotzdem ... RESPEKT 🙂 👍



  • Hello World schrieb:

    Wow ... gut so professionel haben wir das noch nicht gelernt aber trotzdem ... RESPEKT 🙂 👍

    Was ist daran professionell?



  • Alles du hast es viel efizienter gemacht als ich z.B. mit dem speichern der Variablen



  • Hello World schrieb:

    Alles du hast es viel efizienter gemacht als ich z.B. mit dem speichern der Variablen

    Nun gut, wenn Einfachheit auch zur Professionalität gehört 😃



  • Nun gut, wenn Einfachheit auch zur Professionalität gehört 😃

    Find ich schon 😛


Anmelden zum Antworten