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 :

Problème prog en C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 54
    Par défaut Problème prog en C
    Bonjour voila j'ai effectuer un programme mais je doit rajouter quelque condition en +, mais je n'arrive pas a trouver un solution qui marche.

    voici mon programme actuel

    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
    PSEUDO CODE
     
    affecter 1 à nbressais
    faire randomize
     
    REPETER
     
    nombre1 = rand() modulo (MAX - MIN + 1)
    nombre2  = rand() modulo (MAX - MIN + 1)
    resultat = nombre1 * nombre2
    ecrire nombre1 X nombre2
    Lire proposition
     
    Si resultat > proposition (V)
        Alors  nbressais = nbressais + 1
                  Ecrire ‘’ BRAVO LA REPONSE EST CORECTE’’
     
    finsi  
     
    Sinon 
     
         Alors  nbressais = nbressais + 1
                     ecrire  Non la reponse correcte est  ‘’resultat ‘’
    finsi
     
    JUSQU'A CE QUE nbressais >5 (V)
     
    fin

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    LANGAGE C
     
     
     
    #include <mylib.h>
    #include <stdio.h>
    #include <stdlib.h>
     
    long int nombre1 = 0 ;
    long int nombre2 = 0 ;
    long int resultat = 0 ;
    long int proposition = 0 ;
    long int nbressais ;
    const long MAX = 20 , MIN = 0 ;
     
     
    int main()
    {
    cls (BLEU);
    gotoxy (1, 1); printf ("%45s", "DEVOIR 4");
    gotoxy (2, 1); printf ("%45s", "========");
    nbressais = 1;
    randomize();
     
    do{
     
    nombre1 = (rand() % (MAX - MIN + 1));
    nombre2 = (rand() % (MAX - MIN + 1));
    resultat= nombre1 * nombre2;
    gotoxy (4, 1);printf("%ld X %ld = ",nombre1,nombre2);
    lire_long_int (&proposition, 4, 11, 4, 0, 400);
     
    if(resultat == proposition){
    nbressais = nbressais + 1 ;
    gotoxy (5, 2);printf("BRAVO LA REPONSE EST CORECTE \n");
    }
     
    else{
    nbressais = nbressais + 1 ;
    gotoxy (5,2);printf("Non la reponse correcte est %ld \n", resultat);
    }
     
    }while (!(nbressais >5));
     
    system("PAUSE");
    return 0;
    }

    Je doit rajouter une condition qui dit que:

    Si apres 3 séries consécutives il n'a pas obtenu la note de 7,5/10 le programme s'arrête!



  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Par défaut
    Bonjour,

    Si tu nous montrais le texte précis de l'exercice ?

    Car là, ton code (et le pseudo-code aussi) me semble bizarre : la valeur à deviner change à chaque tour de la boucle, ce n'est probablement pas ce qu'on t'a demandé.
    En général, pour ce genre de programme, on prend une valeur (peu importe comment), et on attribue un certain nombre de tours pour la deviner.

    Et cette moyenne dont il est question, à quoi correspond-elle ?

    Sans voir le texte de l'exercice, la valeur à deviner, résultant de la mutiplication de 2 nombres pouvant avoir pour valeur 0 à 20, peut prendre pour valeur 0 à 400 ==> très peu de chance de trouver sans autre renseignement. Cela également me paraît bizarre.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 54
    Par défaut
    le programme que je vous ai mis au dessus est correct ! en fait on propose 5 enoncer aléatoire de chiffre compris entre 0 et 20.et le programme s'arrete apres 5 enoncer.

    Ce que je doit faire maintenant c'est que le programme s'arrete lorsque que l'on atteind 7,5/10 ou bien lorques soit aprés 3 série consécutives on a pas obtenu au moins 7,5/10

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Citation Envoyé par conceicao
    Ce que je doit faire maintenant c'est que le programme s'arrete lorsque que l'on atteind 7,5/10 ou bien lorques soit aprés 3 série consécutives on a pas obtenu au moins 7,5/10
    Il faut donc que tu gardes en mémoire les trois derniers résultats, et que tu refasses la moyenne à chaque tour sur ces trois derniers résultats... Non ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 54
    Par défaut
    Citation Envoyé par Fabllot
    Il faut donc que tu gardes en mémoire les trois derniers résultats, et que tu refasses la moyenne à chaque tour sur ces trois derniers résultats... Non ?
    je pense pas qu'il faut faire de moyenne , par exemple

    1er calcul = 6 sur 10

    2eme calcul = 5 sur 10

    3eme calcul = 3 sur 10

    apres 3 calcul avec moins de 7,5/10 le programme s'arrete.

    Je n'arrive pas a trouver un soliution pour ca

  6. #6
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Par défaut
    Citation Envoyé par conceicao
    je pense pas qu'il faut faire de moyenne , par exemple

    1er calcul = 6 sur 10

    2eme calcul = 5 sur 10

    3eme calcul = 3 sur 10

    apres 3 calcul avec moins de 7,5/10 le programme s'arrete.

    Je n'arrive pas a trouver un soliution pour ca
    Désolé je n'avais pas compris.
    Dans ce cas tu peux faire quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Si résultat >= 7,5
        condition = 3 // ou le nombre de cycle consécutifs autorisés
    sinon
        condition --
     
    Si condition = 0
        STOP
    sinon
        CONTINUER
    Je pense qu'il faut iniatialiser la variable "condition" à 3 dès le début...
    Et cela devrait marcher...

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Par défaut
    Bonjour,
    Citation Envoyé par conceicao
    le programme que je vous ai mis au dessus est correct ! en fait on propose 5 enoncer aléatoire de chiffre compris entre 0 et 20.et le programme s'arrete apres 5 enoncer
    Tant mieux pour toi.

    Mais ai-je dit le contraire ?

    J'ai seulement écrit que ça m'étonnait, car ça ne correspond pas à ce que l'on fait généralement dans ce genre de problème.

    Je constate, d'après ce que tu as répondu, qu'on te demande des valeurs de 0 à 20, et que, comme je l'ai déjà signalé, tu génères des valeurs de 0 à 400.
    Citation Envoyé par conceicao
    Ce que je doit faire maintenant c'est que le programme s'arrete lorsque que l'on atteind 7,5/10 ou bien lorques soit aprés 3 série consécutives on a pas obtenu au moins 7,5/10
    Tu n'as pas répondu à ma question : comment est calculée cette valeur ?

    Ça n'a rien à voir avec la manière de boucler/fermer après x séries d'essai.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 54
    Par défaut
    Citation Envoyé par thewho
    Bonjour,

    Tant mieux pour toi.

    Mais ai-je dit le contraire ?

    J'ai seulement écrit que ça m'étonnait, car ça ne correspond pas à ce que l'on fait généralement dans ce genre de problème.

    Je constate, d'après ce que tu as répondu, qu'on te demande des valeurs de 0 à 20, et que, comme je l'ai déjà signalé, tu génères des valeurs de 0 à 400.

    Tu n'as pas répondu à ma question : comment est calculée cette valeur ?

    Ça n'a rien à voir avec la manière de boucler/fermer après x séries d'essai.

    a oui escuse moi , j'ai oublier de precisier comment on obtien la cote sur 10.

    En fait pour chaque bonne reponse on obtien 2 point sinon si la reponse est mauvaise on retire - 0,5 point.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 54
    Par défaut
    Citation Envoyé par thewho
    Bonjour,

    Tant mieux pour toi.

    Mais ai-je dit le contraire ?

    J'ai seulement écrit que ça m'étonnait, car ça ne correspond pas à ce que l'on fait généralement dans ce genre de problème.

    Je constate, d'après ce que tu as répondu, qu'on te demande des valeurs de 0 à 20, et que, comme je l'ai déjà signalé, tu génères des valeurs de 0 à 400.

    Tu n'as pas répondu à ma question : comment est calculée cette valeur ?

    Ça n'a rien à voir avec la manière de boucler/fermer après x séries d'essai.

    a oui escuse moi , j'ai oublier de precisier comment on obtien la cote sur 10.

    En fait pour chaque bonne reponse on obtien 2 point sinon si la reponse est mauvaise on retire - 0,5 point.

Discussions similaires

  1. Problème graphique de mon prog
    Par Poulain dans le forum Windows Forms
    Réponses: 6
    Dernier message: 29/05/2007, 18h39
  2. Problème avec prog modifiant la date et l'heure système
    Par eldesir dans le forum Assembleur
    Réponses: 1
    Dernier message: 19/01/2007, 20h39
  3. Probléme prog en C(help me svp)
    Par conceicao dans le forum C
    Réponses: 7
    Dernier message: 02/11/2006, 13h15
  4. Réponses: 2
    Dernier message: 13/05/2006, 13h02
  5. Réponses: 15
    Dernier message: 25/09/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