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

 C Discussion :

Sites référençant des codes sources C console très simples ?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    En formation Développeur Logiciel à l'AFPA
    Inscrit en
    Novembre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En formation Développeur Logiciel à l'AFPA

    Informations forums :
    Inscription : Novembre 2017
    Messages : 4
    Par défaut Sites référençant des codes sources C console très simples ?
    Bonjour,

    Je suis actuellement en formation de Développeur Logiciel à l'AFPA, on a fait une bonne semaine d'algo puis maintenant on essaie de transposer nos connaissances vers le C.
    Seul problème c'est qu'aujourd'hui on est seul devant notre PC, ça fais plusieurs heures que l'on galère à trouver la solution d'un truc simple..

    Alors mon but c'est pas de pomper le code des autres, c'est vraiment d'essayer de comprendre comment ça marche.

    Pour l'instant voici ce que j'ai fais.

    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
    31
    32
    33
    34
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    #include <string.h>
     
    int main()
    {
        //Définition des variables
        char NOM[20];
        char PRENOM[30];
        int AGE;
        float TAILLE;
     
        //Saisies des valeurs et vérifications
        printf("Bonjour\n");
     
        printf("Merci de saisir votre prenom SVP : \n");
        gets (PRENOM);
     
        printf("Merci de saisir votre nom SVP : \n");
        gets (NOM);
     
        printf("Merci de saisir votre age SVP : \n");
        scanf ("%i",&AGE);
     
        printf("Merci de saisir votre taille SVP : \n");
        scanf ("%f",&TAILLE);
     
     
        //Affichage du résultat
        printf("Bonjour %s %s: vous avez %d ans et vous mesurez %.2f metres.\n", NOM, PRENOM, AGE, TAILLE);
     
        return 0;
    }

    Mon but, c'est de pouvoir vérifier la valeur de ce qui est saisi dans mes variables, c'est à dire être sûr que l'utilisateur a rentré des chiffres pour son âge, et que cet age soit compris entre machin et machin sinon il s'affiche un message d'erreur jusqu'à ce que l'utilisateur rentre une valeur correcte.
    J'aimerai savoir comment faire pour les 4 types d'informations qui sont demandés dans ce programme console.
    J'ai essayé 10.000 façon et je me ramasse toujours, j'ai bien compris que c'est la mentalité du développeur de se tromper et de persévérer mais j'aimerai savoir tout de même si il existe des sites permettant de consulter des codes sources de codes déjà tout fait pour pouvoir voir comment font les autres et progresser.

    Je vous remercie et bonne journée.

  2. #2
    Membre éclairé
    Avatar de VivienD
    Homme Profil pro
    Développeur logiciel
    Inscrit en
    Octobre 2009
    Messages
    523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur logiciel
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 523
    Par défaut
    Bonjour,

    Pour ton problème en particulier, je te conseille une boucle do ... while pour chacune des entrées. Par exemple, l'entrée AGE, tu auras:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    /*
     * En admettant que tu as défini la fonction valid_age de telle sorte qu'elle renvoie 1, ou true,
     * si l'age est valide et 0, ou false, sinon.
     *
     */
    do
    {
        printf("Merci de saisir votre age SVP : \n");
        scanf ("%i",&AGE);
        if(valid_age(AGE))
            break;
        printf("L'age que vous avez entré n'est pas valide!\n");
    }
    while(1);
    Quant au(x) site(s) de référencement de codes sources, je ne pense pas que ça existe. Il y a bien sûr les dépôts sur GitHub et consorts mais il faut avoir une certaine expérience pour pouvoir déchiffrer les codes qui y pullulent. En revanche, il me semble que Développez.net a quelques codes sources à disposition; jetes-y donc un coup d'œil.

  3. #3
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    Pour ma part les majuscule en C ne sont pas réservé pour les variables ,seulement pour les defines.
    Il faut aussi avoir en tête que scanf est déconseillé (même si je comprend quand on débute de vouloir l'utiliser).

    Sinon un peu HS j'espere que ta formation propose autre chose que du C , il faut plusieurs années pour faire du code professionnel en C de plus les offres d'emploi en C sont relativement rare (et sur des domaines demandant en général une certaine expertise ).

  4. #4
    Candidat au Club
    Homme Profil pro
    En formation Développeur Logiciel à l'AFPA
    Inscrit en
    Novembre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En formation Développeur Logiciel à l'AFPA

    Informations forums :
    Inscription : Novembre 2017
    Messages : 4
    Par défaut
    Merci à vous deux, je prends note de ta proposition, j'essaierai de l’implémenter demain je te montre ce que j'avais fait mais ça voulait pas prendre en compte la valeur quand elle était comprise entre 18 et 67.. Ca continuait à tourner en boucle et à afficher le message de saisie de l'âge non stop !
    Je suis passé par tous les stades, de la boucle infinie au plantage à ça, c'est vraiment pas évident hahaha.

    Sinon ouais faut pas s'inquiéter on fait que 3 semaines de C sur 10 mois de formation (dont 2 mois et demi vers la fin de stage bénévole en entreprise aussi), c'est vraiment pour comprendre la relation du code avec la machine, savoir comment tout fonctionne sinon le gros du travail se fait en C++ JAVA, Javascript et Php/CSS.
    Mis à part pour cette journée là, le prof est quand même très bien et très pédago ! Ça me change de la gendarmerie hahaha.

    J'ai consulté les quelques codes sources sur le site et effectivement c'est pas ce qui peut m'intéresser et la plupart sont trop avancés je ne comprends aucune fonction.


    do
    {
    printf("Merci de saisir votre age SVP : \n");
    gets (AGE);
    BOOLEEN_AGE = sscanf ("%i",&AGE);
    if (BOOLEEN_AGE = (0))
    {
    printf("Saisie incorrecte, l'age doit etre compris entre 18 et 67 ans\n");
    printf("Merci de saisir votre age SVP : \n");
    gets(AGE);
    }
    }
    while (( (AGE < 17) || (AGE > 68 ));


    Est-ce que l'un d'entre vous peut m'expliquer où se situe mon erreur ? Je remarque déjà que j'ai oublié de mettre le break, c'est ça ? (D’où la boucle infini j'suppose)

    Et pourquoi scanf est plutot déconseillé ?
    Le prof nous a proposé la fonction gets mais je suis plus à l'aise avec scanf actuellement, c'est plus "modulable" et intuitif je trouve.

    Ah oui, et je vais arrêter de mettre mes fonctions en maj alors, c'était pour les repérer plus facilement mais le code couleur CodeBlocks suffira.

  5. #5
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    gets ? Sérieusement ? Plus personne n'utilise gets depuis 1990. Ne te recommandait-il pas plutôt fgets (le couple fgets / sscanf en fait) ?

    scanf est fortement déconseillée pour la saisie tout simplement parce qu'elle ne permet pas (en tout cas pas aisément) d'intercepter tous les cas d'erreur, y compris les plus triviaux : essaie de saisir 28abcd lorsqu'on te demande ton âge, par exemple. Cette fonction n'est tout simplement pas faite pour cela.

    Dans le cadre pédagogique d'un exercice pour débutant en revanche, personnellement je n'y vois pas d'inconvénient. Comprendre par la pratique pourquoi scanf n'est pas adaptée est même une très bonne chose.

    En ce qui concerne ton erreur, c'est un souci de logique : l'algorithme est mauvais, plus que sa transcription en C.

  6. #6
    Candidat au Club
    Homme Profil pro
    En formation Développeur Logiciel à l'AFPA
    Inscrit en
    Novembre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En formation Développeur Logiciel à l'AFPA

    Informations forums :
    Inscription : Novembre 2017
    Messages : 4
    Par défaut
    Okay je vais essayer de retravailler mon algorithmes alors de façon à ce que ce soit correct une fois transcrits en C.
    Sinon oui c'est bien gets, il nous a parlé de sscanf et scanf mais il a balancé ça sans nous expliquer quoi que ce soit pour le moment avec les problématiques exposées avant.
    Je pense que l'explication de ces fonctions sont au programme d'aujourd'hui.

    En tout cas je suis agréablement surpris de l'entraide de ce forum c'est fou.

    Encore merci

Discussions similaires

  1. Comment créer un exe à partir des codes source
    Par daniel50171 dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 20/08/2007, 19h49
  2. Réponses: 8
    Dernier message: 28/06/2007, 15h19

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