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 :

message erreur pour la compilation , aidez moi


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 2
    Points : 4
    Points
    4
    Par défaut message erreur pour la compilation , aidez moi
    bonsoir ,
    j'ai un exercice qui me demande de faire un programme C qui permet de déterminer le minimum de quatre nombres
    mon travail est le suivant : lors de la compilation , il m'affiche erreur au niveau : void main(){ , merci de vouloir m'aider.
    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
    #include < stdio.h >
    #include < conio.h >
    void main(){
    int x,y,z,t,min ;
    printf("\n enter un nombre x ") ; 
    scanf("%d",&x);
    printf("\n entrer un nombre y :") ;
    scanf ("%d",&y);
    printf("\n enter un nombre z") ;
    scanf("%d",&z);
    printf("\n entrer un nombre t :") ;
    scanf ("%d",&t);
    min=x ; // on suppose que le minimum est x
    if (min>y) min=y ;//puis on corrige la valeur de min si ce n'est pas le cas
    if (min>z) min=z ;
    if (min>t) min=t ;
    printf("\n La valeur minimum est : %d",min) ;
    getch() ; 
    }

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 35
    Points : 26
    Points
    26
    Par défaut Et voila
    Pas besoin de conio ici.

    Voila mon programme

    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
    #include <stdio.h>
    #include <stdlib.h>
     
    int main()
    {int a, b, c, d;
    int min=60000;
     
        printf("\nSaisissez a : ");
        scanf("%d", &a);
        printf("\nSaisissez b : ");
        scanf("%d", &b);
        printf("\nSaisissez c : ");
        scanf("%d", &c);
        printf("\nSaisissez d : ");
        scanf("%d", &d);
     
        if(a<min)
        min=a;
        if(b<min)
        min=b;
        if(c<min)
        min=c;
        if(d<min)
        min=d;
     
        printf("\nDes nombres %d, %d, %d, et %d, le plus petit est %d", a,b ,c, d, min);
        return 0;
    }

  3. #3
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Que vient faire le nombre magique 60000 dans ce code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int min;
    ....
        scanf("%d", &d);
        min=a;
        if(b<min) min=b;
    ....
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  4. #4
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 91
    Points : 115
    Points
    115
    Par défaut
    Bonjour,

    Si on respecte le standard C99, la fonction main doit avoir le type int comme type de retour; et des arguments pouvant varier d'une plateforme à une autre.

    Les formes communes sont :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int main(void)
    {
          return 0;
    }
    et :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int main(int argc, char **argv)
    {
          return 0;
    }

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 35
    Points : 26
    Points
    26
    Par défaut
    Le nombre magique 60000 permet d'initialiser la valeur de min et ainsi lui affecter les valeur plus petites car si on l'initialise a 0, l'algo ne fonctionne que pour les nombres inférieurs a 0.

    Si cette variable n'est pas initialisée, elle aura une valeur aléatoire a chaque exécution, ainsi le mieux est de l'initialiser a la taille maximale que peut contenir un int.

    Pour un non signé elle est proche de 65000 mais ne l'ayant pas en tête j'ai mis 60000. Voila tout.

  6. #6
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 91
    Points : 115
    Points
    115
    Par défaut
    Citation Envoyé par eclectique_95470 Voir le message
    Pour un non signé elle est proche de 65000 mais ne l'ayant pas en tête j'ai mis 60000. Voila tout.
    Cette valeur n'est pas portable; la seule valeur portable pour le type int est INT_MAX (définie dans limits.h), et pour le type unsigned int c'est UINT_MAX toujours dans limits.h.

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Citation Envoyé par eclectique_95470 Voir le message
    Le nombre magique 60000 permet d'initialiser la valeur de min et ainsi lui affecter les valeur plus petites car si on l'initialise a 0, l'algo ne fonctionne que pour les nombres inférieurs a 0.

    Si cette variable n'est pas initialisée, elle aura une valeur aléatoire a chaque exécution, ainsi le mieux est de l'initialiser a la taille maximale que peut contenir un int.

    Pour un non signé elle est proche de 65000 mais ne l'ayant pas en tête j'ai mis 60000. Voila tout.
    Le mieux, c'est de lui donner la valeur de l'une des entrées (la première par exemple). C'est plus propre. Si on a 3 valeurs à tester, par exemple 25, 12 et 50, peu importe qu'on donne comme valeur départ 25, 12 ou 50 à "min", sa valeur finale sera toujours 12. Démarrer "min" avec une de ces valeurs évite les mauvaises surprises. Comme l'avait fait le P.O. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    min=x ; // on suppose que le minimum est x
    if (min>y) min=y ;//puis on corrige la valeur de min si ce n'est pas le cas
    if (min>z) min=z ;
    if (min>t) min=t ;

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/10/2008, 12h05
  2. Message "#Erreur" pour calculs dans formulaire
    Par tieuphuong dans le forum IHM
    Réponses: 10
    Dernier message: 09/08/2007, 12h27
  3. message erreur pour login
    Par jokenjo dans le forum IHM
    Réponses: 5
    Dernier message: 02/06/2007, 15h17
  4. Aidez moi svp pour une erreur en delphi
    Par jujudrogba dans le forum Framework .NET
    Réponses: 1
    Dernier message: 04/01/2007, 17h22
  5. message erreur aidez moi
    Par lilialex dans le forum Access
    Réponses: 10
    Dernier message: 13/12/2006, 13h26

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