IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

Affichage de CODE en ASCII et hexa des caractères


Sujet :

Contribuez

  1. #1
    Membre régulier
    Homme Profil pro
    Responsable ingénierie des logiciels - Recherche alternance
    Inscrit en
    Novembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable ingénierie des logiciels - Recherche alternance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 68
    Points : 92
    Points
    92
    Par défaut Affichage de CODE en ASCII et hexa des caractères
    Bonjour ,

    Le programme ci-dessous sert à ... (c'est marquer dans le titre du topic ):

    CODE SOURCE :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    #include <stdio.h>
    #include <stdlib.h>
     
    void main()
    {
     
        /******************************************************/
        /*           Programme Principal :                    */
        /*  Affichage de CODE en ASCII et hexa des caractères */
        /******************************************************/
     
        /* Déclaration d'un caractère Compteur */
     
        char compteur;
     
        /* Boucle sur tous les caractères de l'alphabet */
     
            /* Boucle sur tous les caracteres numeriques de 1 à 9 */
        for(compteur='1'; compteur<='9'; compteur++)
        printf("caractere = %c    CODE = %d   Code HEXA = %x\n", compteur, compteur, compteur);
     
     
        for(compteur='A'; compteur<='Z'; compteur++)
        /* Affichage du code en ASCII et du code Hexadécimal du caractere */
        printf("caractere = %c    CODE = %d   Code HEXA = %x\n", compteur, compteur, compteur);
     
    }
    Puisse ce programme aidé certaines personnes. A plus sur le forum !!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Petite question : Ils sont où, les caractères en minuscule ?

    ( au passage, quel intérêt par rapport à un "man ascii" ? )

  3. #3
    Membre régulier
    Homme Profil pro
    Responsable ingénierie des logiciels - Recherche alternance
    Inscrit en
    Novembre 2013
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable ingénierie des logiciels - Recherche alternance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 68
    Points : 92
    Points
    92
    Par défaut
    Si je poste un truc comme ça, ce n'est pas pour prouver que je sais le faire, aucun intérêt.
    Mais disons que quand j'ai débuter j'aurais bien aimé des codes de ce style. Mais bon, après si c'est mal je peux enlever.

    Si jamais, programme au complet avec caractères en minuscules :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    #include <stdio.h>
    #include <stdlib.h>
     
    void main()
    {
     
        /******************************************************/
        /*           Programme Principal :                    */
        /*  Affichage de CODE en ASCII et hexa des caractères */
        /******************************************************/
     
        /* Déclaration d'un caractère Compteur */
     
        char compteur;
     
     
        /* Boucle sur tous les caracteres numeriques de 1 à 9 */
        for(compteur='1'; compteur<='9'; compteur++)
        printf("caractere = %c    CODE = %d   Code HEXA = %x\n", compteur, compteur, compteur);
     
        /* Caracteres en majuscules */
        for(compteur='A'; compteur<='Z'; compteur++)
        printf("caractere = %c    CODE = %d   Code HEXA = %x\n", compteur, compteur, compteur);
     
        /* Caracteres en minuscules */    
        for(compteur='a'; compteur<='z'; compteur++)
        printf("caractere = %c    CODE = %d   Code HEXA = %x\n", compteur, compteur, compteur);
     
    }
    Un code qui pour toi semble sans importance, alors que pour un débutant ceci pourrait bien aider justement à comprendre comment utiliser efficacement la page man de l'ASCII. Je suis pas sûr que tu ai compris toutes les fonctionnalités du langage C grâce aux différents man ... Des exemples sont toujours utile, après je dis pas que c'est l'unique exemple que l'on peut trouver au contraire. Et c'est justement pour ça que j'ai un peu hésité, mais bon ça m'a prit 2sc et si ça peut aidé c'est le plus important.

    Mais bon si j'ai tord, tant pis, je perdrais pas mon temps la prochaine fois ...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bon...
    J'ai peut-être été un peux trop cru dans ce que j'ai dis... Donc, je vais reprendre.

    Concernant le code, pense à indenter tes boucles, même si elles ne possèdent qu'une seule instruction. Cela permet d'être plus lisible au premier coup d’œil.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for(compteur='1'; compteur<='9'; compteur++)
        printf("caractere = %c    CODE = %d   Code HEXA = %x\n", compteur, compteur, compteur);
    Ensuite, déclarer un void main() est une très mauvaise pratique, car tu ne permets pas de savoir à l'appelant si le programme c'est exécuté sans pépin. Il est d'usage de toujours déclaré main de type int, et de renvoyer une valeur de retour différente suivant qu'il y ai eu erreur ou non lors de l'exécution.

    Concernant les commentaires.. Un code commenté, c'est bien !
    Mais des commentaires utiles, c'est mieux.

    Autant je suis d'accord pour le commentaire au-dessus des boucles (encore que), autant le commentaire au dessus de char = compteur; est inutile. Cela n'apporte aucune information supplémentaire.

    Le commentaire concernant le programme principale, mets le plutôt en dehors du main, en tout début de fichier, pour que l'on puisse le voir dès l'ouverture du fichier.
    ( concernant la formulation, aussi, essaye d'être au plus précis : Affichage de la valeur décimal et hexadécimal des caractères alphanumérique en table ASCII )


    Ensuite, concernant la démarche...
    Je trouve que ta démarche est une bonne idée, mais qu'elle manque de profondeur.

    Montrer comment utiliser les caractères, soit, mais alors fait un réel exemple d'utilisation.
    "Simplement" afficher les caractères, "tout le monde" sait le faire plus ou moins rapidement, et l'information est disponible dans la man page ascii.
    Par contre, faire un exemple d'utilisation de la table ascii, là cela apporte un réel plus.
    Par exemple, refaire les macro isdigit(), isalpha(), ... en expliquant comment on arrive au résultat souhaité.
    Dans la même veine, il y a aussi la méthode de transformation de chaîne de caractère en nombre, comme atoi() par exemple, ou un htoi() (hexa vers entier) qui sont très éducatif à (re)faire.

    Je suis pas sûr que tu ai compris toutes les fonctionnalités du langage C grâce aux différents man
    Justement, si.
    J'ai eu, et j'ai encore, des cours sur le C. Seulement, un cours n'est pas suffisant, il faut se renseigner, vouloir comprendre et allez au bout des choses. Dans cette optique, les man pages (et plus généralement la documentation) sont tes meilleurs alliés pour comprendre.


    Sur ce, bon courage pour la suite !
    Dernière modification par Invité ; 29/11/2014 à 14h50.

  5. #5
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Par ailleurs, il y a aussi man ascii, qui fait assez bien l'affaire.

    Mais l'effort est louable
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

Discussions similaires

  1. Code Hexa des metadatas d'un fichier FLV
    Par vikti dans le forum C
    Réponses: 3
    Dernier message: 03/12/2007, 12h39
  2. Affichage du code ascii sur 8 bits
    Par baguinga dans le forum Débuter
    Réponses: 3
    Dernier message: 18/10/2007, 19h01
  3. Afficher des caractères et leur code ASCII
    Par hamada_10 dans le forum Pascal
    Réponses: 8
    Dernier message: 26/12/2006, 19h38
  4. Réponses: 4
    Dernier message: 28/01/2006, 20h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo