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 :

Programme pour entrer une note


Sujet :

C

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 12
    Par défaut Programme pour entrer une note
    Bonjour à tous voilà,

    J'ai un petit programme a créer, me demande donc d'entrez une note entre 0 et 20, et si cette note n'est pas comprise entre 0 et 20, recommencez le programme.

    J'ai essayer ceci

    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
    #pragma hdrstop
    #include <stdio.h>
    #include <conio.h>
    //---------------------------------------------------------------------------
     
    #pragma argsused
    int main(int argc, char* argv[])
    {
    float A;
    printf("Entrez la note de l'eleve X");
    printf("\nNote=");
    scanf("%f",&A);
    if (A>=0&&A<=20)
    {       printf("la note de l'eleve de est de %f/20",A);
    }
    else
    {       while(A<=0&&A>=20)
            {printf("Erreur de saisie la note doit etre comprise entre 0 et 20, recommencez!");
            }
    }
    getch();
         return 0;
    }
    //---------------------------------------------------------------------------
    Mais commencant dans le C, cela ne fonctionne pas comment puis-je faire pour que si la valeur rentrer n'est pas comprise entre 0 et 20 il me dit erreur de saisie et me repropose de rentrer une note?

    merci de votre aide
    Anaata.

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 10
    Par défaut
    Je suis un vrai débutant comme toi.

    Reprend-moi si je me trompe mais essais de faire une boucle do while qui englobe tout le programme.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 12
    Par défaut
    Merci de ta réponse,

    mais le problème c'est que je ne connais pas le principe des boucles on la pas encore étudié en cours, et je suis curieux donc je fait un exo que je devrait pas faire comprenant les fonctions boucle.^^

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 10
    Par défaut
    Tient dit moi merci

    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
     
    #include <stdio.h>
    #include <stdlib.h>
     
    int main(int argc, char *argv[])
    {
    int nombreEntre = 0;
     
    printf("Entrer la note de l'eleve X.");
    scanf("\n%d", &nombreEntre);
    printf("La note de l'eleve est %d", nombreEntre);
     
    while (nombreEntre > 21)
    {
        printf("Entrer la note de l'eleve X.");
        scanf("\n%d", &nombreEntre);
        printf("La note de l'eleve est %d", nombreEntre);
     
    }
     
      return 0;
    }

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 10
    Par défaut
    A toi de rajouter des printf etc... Pour que le code soit un peu plus présentable Et pense a faire des // Ecrit un commentaire. Pour commenter aussi Mais si tu est assoiffé de connaissance va sur les cours et tutoriels je pense qu'il y a tout ce qu'il te faut la dedans. Tu veras c'est bien foutu crois moi.

    Sur ce bonne soirée et n'hésite pas à demander en cas de besoin.

    Pirodactil

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 12
    Par défaut
    Merci pour cette proposition

    mais lors du test cela ne correspond pas a ce que je désire ou alors j'ai mal copié/collé^^

    Je voudrais qu'on demande de rentrer une note entre 0 et 20.
    Si cette note remplie bien les conditions,
    "la note de l'eleve est X/20"
    si cette note ne remplie pas les conditions,
    "Erreur de saisie , recommencez"
    et à ce moment me redemandez de rentrer une note.

    dans ton programme il ne me dit pas que la note est fausse et meme si ma note 45 il me dit la note est X, rentrer une note.

    Comprend tu mon problème? XD

    Merci de ton aide en tout cas.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 12
    Par défaut
    j'ai essayer ceci
    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
     
    //---------------------------------------------------------------------------
     
    #pragma hdrstop
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    //---------------------------------------------------------------------------
     
    #pragma argsused
    int main(int argc, char* argv[])
    {
    float A;
     do
       {
        printf("Entrer une note comprise entre 0 et 20.");
        printf("\nNote=");
        scanf("%f", &A);
       }
     while (A<0&&A>20);
     {printf("Erreur de saisie la note doit etre comprise entre 0 et 20, recommencez!");
     }
     getch();
     return 0;
    }
    Seulement lorsque je tape une mauvaise note par exemple 25 il me dit bien qu'il y erreur de saisie mais il ne me propose pas de rerentrer un note...

    Anaata

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 10
    Par défaut
    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
    //---------------------------------------------------------------------------
     
    #pragma hdrstop
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    //---------------------------------------------------------------------------
     
    #pragma argsused
    int main(int argc, char* argv[])
    {
    float A;
     do
       {
        printf("Entrer une note comprise entre 0 et 20.");
        printf("\nNote=");
        scanf("%f", &A);
       }
     while (A<0&&A>20);
     {printf("Erreur de saisie la note doit etre comprise entre 0 et 20, recommencez!");
    printf("\nEntrer une note comprise entre 0 et 20.");
        printf("\nNote=");
        scanf("%f", &A); 
    }
     getch();
     return 0;
    }
    Essais sa mais je ne promet rien . Au faite puisque tu fait du langage C le code que j'ai mis devrait fonctionner non ?

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Septembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 10
    Par défaut
    Je te conseil d'utiliser l'IDE Code:BLocks lien de telechargement http://prdownload.berlios.de/codeblo...ingw-setup.exe
    prend le premier

    En espérant avoir répondu a toutes tes questions

    Sur ce bonne journée

    Pirodactil

  10. #10
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 156
    Billets dans le blog
    151
    Par défaut
    Bonjour,

    En effet votre programme va stopper si une note invalide est entrée.
    En fait, vous avez inverser le fonctionnement de la boucle.

    Dans la théorie:

    La boucle doit fonctionner tourner sur elle même à chaque fois qu'une mauvaise note à été insérée.
    Sinon, bah on affiche la note (disons).

    Du coup, en pseudo code:
    do
    Afficher message
    while ( A < 0 || A > 20 ) // Vraiment le contraire de votre précédent test
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 12
    Par défaut
    Désolé, petit imprevu hier soir qui a fait que je n'est pas pu me connecter donc,

    Avec le code suivant:
    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
     
    //---------------------------------------------------------------------------
     
    #pragma hdrstop
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    //---------------------------------------------------------------------------
     
    #pragma argsused
    int main(int argc, char* argv[])
    {
    float A;
    do
    {
    printf("Entrer une note comprise entre 0 et 20.");
    printf("\nNote=");
    scanf("%f", &A);
    }
    while (A<0||A>20);
    {printf("Erreur de saisie la note doit etre comprise entre 0 et 20, recommencez!");
    printf("\nEntrer une note comprise entre 0 et 20.");
    printf("\nNote=");
    scanf("%f", &A);
    }
    getch();
    return 0;
    }
    Il me propose donc
    " Entre une note..."
    Note=
    a ce moment je tape la je tape 12,et là il me dit erreur de saisie, recommencer, Entrez une note.."
    Pourquoi? normalement le test veux que je lorsqu'une note est <0 ou >20, il me dise erreur de saisie, là c'est tout l'inverse, lorsque je rentre 32 il me repropose de rentrer un note sans me dire qu'il y a une erreur

  12. #12
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 156
    Billets dans le blog
    151
    Par défaut
    Cette fois, votre programme boucle bien, pour la demande de note (si la note est fausse le programme continue à demander la note) ->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    do
    {
    printf("Entrer une note comprise entre 0 et 20.");
    printf("\nNote=");
    scanf("%f", &A);
    }
    while (A<0||A>20);
    Sauf qu'une fois la note est juste, le programme sort de la boucle est continue son petit bonhomme de chemin ->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    printf("Erreur de saisie la note doit etre comprise entre 0 et 20, recommencez!");
    printf("\nEntrer une note comprise entre 0 et 20.");
    printf("\nNote=");
    scanf("%f", &A);
    Ainsi, comme vous pouvez le voir, il affichera toujours l'erreur.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 12
    Par défaut
    Donc, qu'est-ce qu'il faut que je change? là j'ai la tete entre deux programme en C trois transcodage et un site internet j'ai un peu de mal a raisonné en C je vous avouerai...

  14. #14
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 156
    Billets dans le blog
    151
    Par défaut
    Bah, je le ferai comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    - Faire
    {
     - Affichage message
     - Récupération valeur
     - if ( A < 0 && A > 20 )
     {
       - Affichage erreur
     }
     
    } Tant que A < 0 && A > 20
    - Affichage valeur
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  15. #15
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 61
    Par défaut
    Bon voici un code avec contrôle d'erreur :

    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
    #include <stdio.h>
    #include <stdlib.h>
     
    int main()
    {
        int note;
        int compteur = 0;
        do
        {
            if (compteur != 0)
        {
            printf("Attention, la note que vous avez entré n'est pas valide\n");
        }    
            printf("Veuillez entrer la note de l'élève ?\n");
            scanf("%d", &note);
                    compteur++;
                   } while (note < 0 || note > 20);
            printf("La note de l'élève est %d", note);
     return(0);   
    }

Discussions similaires

  1. Programme pour faire une installation
    Par Seth77 dans le forum EDI/Outils
    Réponses: 6
    Dernier message: 13/12/2006, 10h47
  2. [VBA] MsgBox pour entrer une valeur
    Par Pitou5464 dans le forum Access
    Réponses: 3
    Dernier message: 22/08/2006, 16h19
  3. Réponses: 18
    Dernier message: 24/07/2006, 19h30
  4. Réponses: 21
    Dernier message: 28/02/2006, 15h23
  5. Réponses: 9
    Dernier message: 10/11/2005, 23h31

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