Question langage C
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Question langage C



  1. #1
    invitec77afd19

    Question langage C


    ------

    Bonjour,

    j'ai une question à vous poser concernant le "if" en langage C

    En faite je tape sur une touche du clavier (modéliser par la variable "i") et je veut tester si cette touche est un "int"

    par conséquent je ne veut pas faire plein de testes du genre
    if(i==2) ou if(i==3) ....

    mais plutot quelque chose du genre if(i== int)

    c'est possible?


    merci beaucoup

    -----

  2. #2
    lou_ibmix_xi

    Re : Question langage C

    Houla, je te conseillerai de lire des tutoriaux sur la programmation en C, comme le disais quelqu'un d'autre sur un autre post de ce forum, tu ne PEUX PAS apprendre le C en posant des questions, il faut un bon bouquin (ou tutorial), un bon compilateur, et beaucoup de travail...

    De plus, Towl t'as répondu ici et tu confonds encore '1' et 1...

    Toujours est-il que ce type de méchanisme n'existe pas en C. Un test simple et plus concis serait:
    Code:
    if ((c >= '0') && (c <= '9')) {
        /* c contient un caractère codant un digit */
    }
    Tu as également à ta disposition une floppée de macro (ialnum, isalpha, ...) pour ce genre de tests (sous unix, "man isdigit" par exemple, ou google)

  3. #3
    inviteead871d5

    Re : Question langage C

    salut, si tu veux faire un truc du genre i==int, ça va pas le faire étant donnée que ta variable a été déclarée d'un certain type...
    ce que tu peux faire c'est un truc du genre: if(i==(int)i){ printf("i est un entier");}
    mais je suis pas sur

    je suis tout de même d'accord avec lou, la valeur retournée par ton clavier est un caractère...

    A+

  4. #4
    invite765732342432
    Invité

    Re : Question langage C

    Petite question: es-tu vraiment obligé d'utiliser le C pour faire ton programme ?

    Il y a des langages beaucoup plus simples pour les débutants avec lesquels tu te poserais beaucoup moins de questions (PHP par exemple pourrait être une solution, mais aussi Turbo Pascal, voir Visual Basic).
    Le C, ce n'est vraiment pas pour les débutants

  5. A voir en vidéo sur Futura
  6. #5
    inviteb5c9ad8d

    Re : Question langage C

    Ben ça risque d'être dur de vérifier que $i est un entier en PHP, sachant que c'est un langage non typé...

    Donc j'imagine que le problème du C doit avoir une explication, non ?

    Mais la solution de lou_ibmix_xi semble être la plus logique.

  7. #6
    Towl

    Re : Question langage C

    c'est justement car php est non typé qu'il accepte les truc du genre isInt() sur une variable. Il analyse syntaxiquement la variable pour en déterminer son type.

    En C, ormis la déclaration, rien n'indique le type d'une variable. Et tu peux t'amuser à faire ce que tu veux avec, genre lire un tableau de caractere comme une structure, un caractère comme un entier... C'est justement la force du C, mais aussi sa faiblesse.

    Un exemple d'utilisation de ce type de transformation : obtenir les champs d'une adresse IP
    Code:
    void toto(guint ip_addr)
    {
        union
        {
            guint ip_addr;
            guchar[4] ip
        } ip;
        ip = ip_addr;
        printf("La conversion de %u en IP est %u.%u.%u.%u\n", ip.ip_addr, ip.ip[0], ip.ip[1], ip.ip[2], ip.ip[3]);
    }
    Et pour rebondir sur les langages a apprendre, je conseillerais plutot le python qui de part son absence d'accolades et son obligation à indenter donner l'habitude de programmer proprement. Et puis il est vraiment sympa comme langage
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

  8. #7
    inviteb5c9ad8d

    Re : Question langage C

    Citation Envoyé par Towl Voir le message

    Et pour rebondir sur les langages a apprendre, je conseillerais plutot le python qui de part son absence d'accolades et son obligation à indenter donner l'habitude de programmer proprement. Et puis il est vraiment sympa comme langage
    Pour être plus "in", préfère le Ruby au Python...

  9. #8
    Towl

    Re : Question langage C

    Je ne connais pas le ruby, mais a priori il ne permet pas d'obliger à avoir une présentation clair (ie de belles indentations). Or pour avoir donnée des cours de soutiens en programmation, j'ai remarqué que l'indentation n'est pas souvent respectée par les débutant, et qu'il était bon de les habituer dès le début avec cela.
    De plus Python a à l'origine été prévu pour être un langage d'enseignements, donc des concepts simples et puissant y sont développés, ainsi qu'une syntaxe facilement assimilable (je réitère, je ne connais pas le ruby, donc je ne peux pas comparer la dessus )
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

  10. #9
    inviteb5c9ad8d

    Re : Question langage C

    Citation Envoyé par Towl Voir le message
    Je ne connais pas le ruby, mais a priori il ne permet pas d'obliger à avoir une présentation clair (ie de belles indentations). Or pour avoir donnée des cours de soutiens en programmation, j'ai remarqué que l'indentation n'est pas souvent respectée par les débutant, et qu'il était bon de les habituer dès le début avec cela.
    De plus Python a à l'origine été prévu pour être un langage d'enseignements, donc des concepts simples et puissant y sont développés, ainsi qu'une syntaxe facilement assimilable (je réitère, je ne connais pas le ruby, donc je ne peux pas comparer la dessus )
    En fait, son créateur à conçu Ruby, parce qu'il ne trouvait pas dans Perl et Python de quoi le satisfaire. Mais je n'en n'ai fait que très peu. J'ai vu à quoi ressemblait le Perl, j'ai jamais voulu en faire, je n'aime pas trop les langages Write Only Python, je ne connais pas bien, mais ça a l'air très sympa. Mais si tu connais le Python, il n'y a qu'un pas pour le Ruby, la syntaxe est très proche.

    L'indentation, c'est pas optionnel pour moi, malheureusement, tout le monde n'a pas les mêmes règles. C'est pour ça que des IDE comme Eclipse sont à mon sens obligatoire.

    (moi en ce moment c'est 100% JAVA )

Discussions similaires

  1. Question langage C
    Par invitec77afd19 dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 28/07/2008, 12h47
  2. Question langage C
    Par invitec77afd19 dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 25/07/2008, 14h54
  3. Question langage C
    Par invitec77afd19 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 24/07/2008, 18h04
  4. Question langage C
    Par invitec77afd19 dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 02/07/2008, 12h02
  5. Question de langage
    Par invite5eef2692 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 14/03/2006, 15h35
Découvrez nos comparatifs produits sur l'informatique et les technologies.