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 :

C erreur indétectable


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Vestigo
    Invité(e)
    Par défaut C erreur indétectable
    Salut à tous, je suis nouveau sur le forum, j'ai 13 ans je connais un peu de C++, mais on m'a conseillé d'apprendre le C d'abord, donc c'est ce que je fais.

    J'ai fais un petit programme dont j'ai trouvé une partie sur le site (il y'a un cours), mais depuis 2 heure impossible de trouver l'erreur mon compilateur ne détecte rien pourtant.
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
     
     
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
     
     
    int main(int argc, char *argv[])
    {     
    long nombreMystere1=0,nombreMystere2=0,nombreMystere3=0, nombreEntre = 0; 
         long compteur= 1, niveauDeDifficulte=0 ;
     
         const long MAXF=100,MAXM=200,MAXD=400,MIN=1;
     
    srand(time(NULL));
     
    nombreMystere1=(rand()%(MAXF-MIN+1))+MIN;
     
    nombreMystere2=(rand()%(MAXM-MIN+1))+MIN;
     
    nombreMystere3=(rand()%(MAXD-MIN+1))+MIN;
     
     
    while(niveauDeDifficulte < 1 || niveauDeDifficulte > 3)
     
    {
     
    printf("Choisisser le niveau de difficulte.\n");
    printf("Tapez 1 pour: Niveau facile de 0 a 100\n");
    printf("Tapez 2 pour: Niveau moyen de 0 a 200\n");
    printf("Tapez 3 pour: Niveau difficile de 0 a 400\n");
    scanf("%ld",&niveauDeDifficulte);
     
     
    } 
     
       system("cls");
     
     
        switch (niveauDeDifficulte)
        {
            case 1:
                printf("Vous avez choisis le niveau facile\n\n");
     
     
     
    while(compteur,nombreEntre!=nombreMystere1)
     
    {
     
        printf("Quel est le nombre mystere?");
        scanf("%ld",&nombreEntre);
     
    if(nombreMystere1>nombreEntre)
     
        printf("C'est plus!\n\n\a");
     
     
     
     
     
       else if(nombreMystere1<nombreEntre)
     
        printf("C'est moins!\n\n\a");
     
     
     
        else 
     
        printf("Felicitation vous avez trouve le nombre mystere %ld coup\n\n",compteur);
     
        compteur++;
     
    }
     
    break;
    case 2:
    printf("Vous avez pris le niveau moyen\n\n");
     
    while(compteur,nombreEntre!=nombreMystere2)
    {
    printf("Quel est le nombre mystere?\n");
    scanf("%ld",&nombreEntre);
     
    if(nombreMystere2>nombreEntre)
    printf("C'est plus!\n\n\a");
     
    else if(nombreMystere2<nombreEntre)
    printf("C'est moins!\n\n\a");
     
    else
    printf("Felicitation vous avez trouve le nombre mystere %ld coup\n\n",compteur);
    compteur++;
     
    }
        break;
     
     
        case 3:
        printf("Vous avez pris le niveau difficile\n");
     
    while(compteur,nombreEntre!=nombreMystere3)
     
    {
    printf("Quel est le nombre mystere,\n");
    scanf("%ld",&nombreEntre);
     
    if(nombreMystere3>nombreEntre)
    printf("C'est plus!\n\n\a");
     
    else if(nombreMystere3<nombreEntre)
    printf("C'est moins!\n\n\a");
     
    else
    printf("Felicitation vous avez trouve le nombre mystere %ld coup\n\n",compteur);
     
    }
    break ;
    }
    return 0;
    }
    En fait le problème c'est que la phrase "Felicitation vous avez trouve le nombre mystere ..coup" ne s'affiche pas à l'écran: mon programme se ferme automatiquement.

    Savez vous la solution peut être que je n'ai pas inclut toutes les directive, je sais pas...

    Merci de me répondre.

  2. #2
    Membre émérite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par défaut
    Citation Envoyé par Vestigo
    En fait le problème c'est que la phrase "Felicitation vous avez trouve le nombre mystere ..coup" ne s'affiche pas à l'écran: mon programme se ferme automatiquement.
    Mets ceci juste avant le return:


    NB: Evite le scanf et privilégie fgets() accompagnée d'une fonction de conversion en entier. (strtoul par exemple).

  3. #3
    Vestigo
    Invité(e)
    Par défaut
    Merci de ton concour, mais qu'est ce que j'en ai marre j'embetais déjà tous le monde pour un programme en C++, et devine ce qu'était ma faute??devine???
    J'avais oublier aussi. Purée mais c'est pas possibe!! Je crois qu'il exciste des compilateurs qui mettent directement le non?

  4. #4
    Membre Expert Avatar de zooro
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    Citation Envoyé par Vestigo Voir le message
    Je crois qu'il exciste des compilateurs qui mettent directement le non?
    Non, mais certains EDI font une pause à la fin de l'exécution pour que tu aies le temps de lire la sortie.

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Par ailleurs:
    n'est pas portable, c'est un appel système spécifique à Windows. Pour être portable tu peux obtenir la même chose en faisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    printf ("Appuyez sur une touche pour continuer...\n");
    getchar ();
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  6. #6
    Vestigo
    Invité(e)
    Par défaut
    Ok merci pour tous.

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Vestigo Voir le message
    Je crois qu'il existe des compilateurs qui mettent directement le non?
    Code::Blocks fait ça.

Discussions similaires

  1. Erreur javascript indétectable ?
    Par opeo dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 08/01/2008, 15h26
  2. Erreur fréquente avec ASP et IIS
    Par Community Management dans le forum ASP
    Réponses: 2
    Dernier message: 11/02/2004, 22h20
  3. Réponses: 2
    Dernier message: 27/05/2002, 19h46
  4. erreur IDL:omg.org/CORBA/MARSHAL:1.0
    Par Pinggui dans le forum CORBA
    Réponses: 3
    Dernier message: 13/05/2002, 15h05
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h41

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