1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Ascii

  • slicker
  • 21. Mai 2008 um 10:35
  • Unerledigt
  • slicker
    3
    slicker
    Mitglied
    Punkte
    65
    Beiträge
    11
    • 21. Mai 2008 um 10:35
    • #1

    Hallo Leute,
    ich hab mal ne Frage, vllt. kann mir ja einer helfen.
    Ich habe eine Aufgabe bekommen, "Geben Sie alle Zeichen des ASCII-Codes in Form einer Tabelle auf dem Bildschirm aus" also als ganz normale Konsolenausgabe.
    Da unser Lehrer nicht da ist und ich keine Ahnung habe wie ich da ran gehen soll, hoffe ich das mir da einer helfen kann.
    Es soll nachher ungefähr so aussehen:

    0 1 2 3 4 5 6 7 8 9
    30 ! " # $ % & '
    40 ( ) *
    50
    60
    70
    80
    90
    100
    110
    120

    etc.

    Ich hoffe das einer ne Idee hat und danke schonmal im voraus.

  • sloth
    13
    sloth
    Mitglied
    Reaktionen
    7
    Punkte
    1.717
    Beiträge
    314
    • 21. Mai 2008 um 10:46
    • #2

    Wobei brauchst du jetzt genau Hilfe?
    Hast du schonmal C/C++ programmiert, oder weißt du nicht, wie der komplette Sourcecode auszusehen hat?


    Bitte präzisiere ;>

  • slicker
    3
    slicker
    Mitglied
    Punkte
    65
    Beiträge
    11
    • 21. Mai 2008 um 10:52
    • #3

    Ich habe diese Woche Montag damit angefangen, weil mich das Arbeitsamt in so einen tollen Kurs reingesteckt hat. Wir haben jetzt gerade mal so die ersten Übungsaufgaben für verzweigungen, schleifen usw. gemacht.
    An diese Aufgabe weiß ich nun aber gar net wie ich ran gehen soll.Und da der Lehrer heute morgen spontan zu einer beerdigung gefahren ist, kann ich den net mal fragen.
    Alles was du mir sagen kannst, was mich der Lösung des Problems näher bringt ist sehr hilfreich^^

  • Ringding
    11
    Ringding
    Mitglied
    Reaktionen
    12
    Punkte
    1.237
    Beiträge
    244
    • 21. Mai 2008 um 11:11
    • #4

    Sowas ähnliches wirst du brauchen. Da bastelst du dir dann halt noch ne schöne Schleife, und fertig ist das.

    Code
    void show_ascii(int c)
    {
        printf("%02x : %c\n", c, (char) c);
    }

    Z.B. so: (den Rest lass ich dir als Hausaufgabe)

    Code
    int i;
        for (i=32; i<48; i++)
            show_ascii(i);


    Ergibt

    Code
    20 :  
    21 : !
    22 : "
    23 : #
    24 : $
    25 : %
    26 : &
    27 : '
    28 : (
    29 : )
    2a : *
    2b : +
    2c : ,
    2d : -
    2e : .
    2f : /
    Alles anzeigen
  • slicker
    3
    slicker
    Mitglied
    Punkte
    65
    Beiträge
    11
    • 21. Mai 2008 um 11:22
    • #5

    super...denn danke ich dir vielmals für deine antwort und dann schau ich mal was sich daraus so schönes basteln lässt :grinning_squinting_face:

    gruß slicker

  • sloth
    13
    sloth
    Mitglied
    Reaktionen
    7
    Punkte
    1.717
    Beiträge
    314
    • 21. Mai 2008 um 11:43
    • #6

    Hmm.. welche Notation brauchst du denn? ;o

    Ich glaube, das sollte auch funktionieren:

    Code
    int main() {
    char blah = 33;
    
    
    for (int i = 33; i < 127; i++) cout << blah++ << endl;
    
    
    return 0;
    }

    Sollte alle druckbaren ASCII-Zeichen ausgeben.
    Wieso das 33-126 ist, kannst du hier nachlesen :)

  • slicker
    3
    slicker
    Mitglied
    Punkte
    65
    Beiträge
    11
    • 21. Mai 2008 um 12:33
    • #7

    und wie bekomm ich das ganze jetzt in so eine tabelle?
    hast du da vllt. auch einen lösungsansatz?

  • sloth
    13
    sloth
    Mitglied
    Reaktionen
    7
    Punkte
    1.717
    Beiträge
    314
    • 21. Mai 2008 um 13:18
    • #8

    Hmm.. was für eine Tabelle genau meinst du? Mit Indizes?

  • slicker
    3
    slicker
    Mitglied
    Punkte
    65
    Beiträge
    11
    • 21. Mai 2008 um 13:19
    • #9

    Ok ich hab ne lösung gefunden.Ist zwar net die schönste aber es funzt erstmal.
    Danke euch für eure Unterstützung! ;):thumb:

    Meine Lösung sah so aus:

    #include <iostream>
    #include <iomanip>

    using
    namespace std;
    int main()
    {
    cout<<"\n"<<"\t"<<"\t"<<"\t"<<"\t"<<"\t"<<"ASCII-Tabelle"<<"\n";

    cout<<"\t"; for (int spalte1 = 0; spalte1 <= 9;spalte1++){ cout<<spalte1<<"\t"; }
    cout<<"\n"<<"30"<<"\t"; for (int spalte2 = 30; spalte2 <= 39; spalte2++){ cout<<char(spalte2)<<"\t"; }
    cout<<"\n"<<"40"<<"\t"; for (int spalte3 = 40; spalte3 <= 49; spalte3++){ cout<<char(spalte3)<<"\t"; }
    cout<<"\n"<<"50"<<"\t"; for (int spalte4 = 50; spalte4 <= 59; spalte4++){ cout<<char(spalte4)<<"\t"; }
    cout<<"\n"<<"60"<<"\t"; for (int spalte5 = 60; spalte5 <= 69; spalte5++){ cout<<char(spalte5)<<"\t"; }
    cout<<"\n"<<"70"<<"\t"; for (int spalte6 = 70; spalte6 <= 79; spalte6++){ cout<<char(spalte6)<<"\t"; }
    cout<<"\n"<<"80"<<"\t"; for (int spalte7 = 80; spalte7 <= 89; spalte7++){ cout<<char(spalte7)<<"\t"; }
    cout<<"\n"<<"90"<<"\t"; for (int spalte8 = 90; spalte8 <= 99; spalte8++){ cout<<char(spalte8)<<"\t"; }
    cout<<"\n"<<"100"<<"\t"; for (int spalte9 = 100; spalte9 <= 109; spalte9++){ cout<<char(spalte9)<<"\t"; }
    cout<<"\n"<<"110"<<"\t"; for (int spalte10 = 110; spalte10 <= 119; spalte10++){ cout<<char(spalte10)<<"\t"; }
    cout<<"\n"<<"120"<<"\t"; for (int spalte11 = 120; spalte11 <= 129; spalte11++){ cout<<char(spalte11)<<"\t"; }
    cout<<endl<<endl;
    }

    2 Mal editiert, zuletzt von slicker (21. Mai 2008 um 13:23)

  • soulhack
    1
    soulhack
    Mitglied
    Punkte
    10
    Beiträge
    2
    • 21. Mai 2008 um 13:21
    • #10

    könntest du die ausgabe nochmal in code-tags posten? so erkennt man vielleicht leichter, was du haben willst :winking_face:

  • slicker
    3
    slicker
    Mitglied
    Punkte
    65
    Beiträge
    11
    • 21. Mai 2008 um 13:30
    • #11

    raus kommt dann das:

    ASCII-Tabelle
    0 1 2 3 4 5 6 7 8 9
    30 ! " # $ % & '
    40 ( ) * + , - . / 0 1
    50 2 3 4 5 6 7 8 9 : ;
    60 < = > ? @ A B C D E
    70 F G H I J K L M N O
    80 P Q R S T U V W X Y
    90 Z [ \ ] ^ _ ` a b c
    100 d e f g h i j k l m
    110 n o p q r s t u v w
    120 x y z { | } ~

    normalerweise sind da überall noch tabs dazwischen dann sieht das ganze auch schick aus aber irgendwie schreibt man hier im editor was anderes als das was nachher raus kommt^^

    Einmal editiert, zuletzt von slicker (21. Mai 2008 um 13:33)

  • Ringding
    11
    Ringding
    Mitglied
    Reaktionen
    12
    Punkte
    1.237
    Beiträge
    244
    • 21. Mai 2008 um 16:01
    • #12

    Relativ kompakt z.B. so

    Code
    #include <stdio.h>
    
    
    int main()
    {
        int i, j;
    
    
        for (i=30; i<128; i=j) {
            printf("%3d  ", i);
            for (j=i; j<i+10 && j<128; j++)
                printf("%c%s", (char) ((j<32) ? 32 : j), (j+1<i+10) ? " " : "");
            printf("\n");
        }
    
    
        return 0;
    }
    Alles anzeigen

    Die Dezimalschreibweise verunschönt das ganze ein wenig, aber sowas ist nie schön :winking_face:

    EDIT: Ah, du machst das mit C++ streams. Na das lässt sich doch sicher auch irgendwie gewinnbringend einsetzen...

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung