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 :

encore un petit probleme


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 50
    Points : 14
    Points
    14
    Par défaut encore un petit probleme
    rebonjour c'est encore moi je suis désolé héhé mais je fais plein d'essais et plain d'erreur aussi la plupart je les règles tout seul mais celui-ci est tenace alors voila

    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
    #include <stdio.h>
    #include <stdlib.h>
     
    int main()
    {
        int qui = 0
        printf ("Qui es tu!\n1:mary-claire\n2:emile\n3:aurelien\n4:rene" );
        scanf ("%d", &qui);
        switch (qui)
        {
           case 1:
            printf (" tu es mame tu est la mere de isabelle tu vis a bordeaux");
            break;
            case 2:
            printf ("tu es emilie la cousine de aurelien ");
            break;
            case 3 :
            printf (" tu es aurelien le fils de isabelle ");
            break;
            case 4 :
            printf (" tu est pepe le mari de mary-claire");
            break;
            default
            printf (" tu a rentre un nombre non valable");
        }
        return 0;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ||In function `main':|
    |7|error: syntax error before "printf"|
    |24|error: syntax error before "printf"|
    ||=== Build finished: 2 errors, 0 warnings ===|
    je ne voit pas l'erreur car avant de mettre les fonction le premier printf marche bien et pourtant je n'y est pas touche je sais mon programme est très bizarre mais j'ai essaye d avoir de l imagination
    merci d'avance

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 616
    Points
    23 616
    Par défaut
    Il manque tout simplement un point-virgule après le « qui=0 » de la ligne 6 :


  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 50
    Points : 14
    Points
    14
    Par défaut
    merci de ta reponse . j'ai une autre question j'ai une variable mais je ne veut pas que ce soit un nombre mais un nom et comment le mettre dans un printf je sais quand c'est un nombre decimal c'est %d voila merci d'avance

  4. #4
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Salut.

    Citation Envoyé par diabolo77 Voir le message
    j'ai une variableje ne veut pas que ce soit un nombre mais un nom et comment le mettre dans un printf
    Il faut stocker ce nom dans une chaîne de carractères et l'afficher avec le format %s.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char nom [] = "nom";
    printf ("%s\n", nom);
    Pour en savoir plus sur les chaînes de carractères en C :
    http://nicolasj.developpez.com/articles/libc/string/
    http://c.developpez.com/faq/?page=strings

    Cordialement,
    Idriss

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 50
    Points : 14
    Points
    14
    Par défaut
    encore un petit problemes je met tout sur un sujet pout pas cree plusieur post sa ferait polueur
    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
     
    int main(int argc, char** argv )
    {
        int nombre1 = 0, nombre2 = 0, compteur = 0, partie = 1;
        const int MAX = 100, MIN = 1;
        srand(time(NULL));
        nombre1 = (rand() % (MAX - MIN + 1)) + MIN;
        do
        {
          do
          {
              printf("quel est le nombre ? \n");
              scanf("%d", &nombre2);
              compteur++;
              if(nombre1 > nombre2)
                printf("c'est plus !\n");
              else if (nombre1 < nombre2)
                printf("c'est moin!\n");
              else
                printf("bravo tu as trouve le nombre mystere !!!\n");
                printf("tu as trouve le nombre mystere en %d coups" ,compteur);
          }while(nombre1 != nombre2);
        printf("tu veux rejoue:\n");
        printf("1:oui\n");
        printf("0:non\n");
        scanf("%d",&partie);
        }while(partie);
     
        return 0;
    }
    j'ai fais le tp tout ce passe bien je cree une amelioration qui me permet de savoir a la fin du jeu en combien de coup j'ai trouve le chiffre mystere et apres j'en ai cree une autre qui me permet de refaire une partie mais a chaque fois que l'etulisateur rentre un nombre maintenat le nombre de coup s'affiche je ne sais pas comment resoudre ce probleme car je n'ai pas touche a cette pari de code quand j'ai rajoute l'option voila merci d'avance et de m'avoir lu

  6. #6
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     else
    {
      printf("bravo tu as trouve le nombre mystere !!!\n");
      printf("tu as trouve le nombre mystere en %d coups" ,compteur);
    }
    Publication : Concepts en C

    Mon avatar : Glenn Gould

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

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 50
    Points : 14
    Points
    14
    Par défaut
    merci donc si je comprend bien quand il y a plusieur indication dans if ou autre truc pareil( excuse moi pour truc c'est pas tres jolie mais j'ai rien trouve d'autre) il faut mettre des sorte de parenthese c'est bien

  8. #8
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par diabolo77 Voir le message
    merci donc si je comprend bien quand il y a plusieur indication dans if ou autre truc pareil( excuse moi pour truc c'est pas tres jolie mais j'ai rien trouve d'autre) il faut mettre des sorte de parenthese c'est bien
    Je dirais commandes plutôt que indications.

    Les sortes de parentheses s'appellent des accolades.

    Et oui,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ( condition ) bloc_commande [ else bloc_commande ]
     
    bloc_commande : commande ";"
                  | { commande ";" commande ";" ... }
                  ;
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 50
    Points : 14
    Points
    14
    Par défaut
    encore une question c'est que je suis embetant
    j'ai fait un mode deux joueur avec plusieur niveaux
    disons que je suis le joueur 1 et jai choisi niveau1 le nombre mystere doit etre entre 1 et 100 si le joueur met par exemple 150 je voudrais que la question lui soit reposer . donc je me suis dit que le do while devrais faire l'affaire mais sa ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     {
            do
            {
            printf(" joueur 1 ferme les yeux et joueur 2 ecris un nombre entre 1 et %d? \n", MAX);
            scanf("%d",&nombre1);
            }while(nombre1 >= MAX && nombre1 <= MIN);
        }
    j'ai mit qu'une partie du code car mettre 60 ligne quand la faute est sur 5 ligne merci d'avance

  10. #10
    Membre confirmé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 096
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 096
    Points : 633
    Points
    633
    Par défaut
    Citation Envoyé par diabolo77 Voir le message
    encore une question c'est que je suis embetant
    j'ai fait un mode deux joueur avec plusieur niveaux
    disons que je suis le joueur 1 et jai choisi niveau1 le nombre mystere doit etre entre 1 et 100 si le joueur met par exemple 150 je voudrais que la question lui soit reposer . donc je me suis dit que le do while devrais faire l'affaire mais sa ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     {
            do
            {
            printf(" joueur 1 ferme les yeux et joueur 2 ecris un nombre entre 1 et %d? \n", MAX);
            scanf("%d",&nombre1);
            }while(nombre1 >= MAX && nombre1 <= MIN);
        }
    j'ai mit qu'une partie du code car mettre 60 ligne quand la faute est sur 5 ligne merci d'avance
    En faite, c'est un problème de condition.
    ton nombre ne peut pas être supérieur à Max et inférieur à Min en même temps !

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 50
    Points : 14
    Points
    14
    Par défaut
    voici mon code terminer avec un systeme deux joueur un systeme a niveaux systeme pour refaire une partie et un systeme pour savoir en combien de coup on a trouve le chiffre mystere:
    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
     
    int main(int argc, char** argv )
    {
        int nombre1 = 0, nombre2 = 0, compteur = 0, partie = 1, MAX = 0;
        int joueur = 0,niveau = 0;
        const int MIN = 1;
        printf("nombre de joueur?");//pour connaittre le nombre de joueur
        scanf("%d" ,&joueur );
        do
        {
            printf("quel niveaux choissisez vous ?\n");// systeme pour les niveaux
            printf("niveau 1 = 1 a 100\n");
            printf("niveau 2 = 1 a 1000\n");
            printf("niveau 3 = 1 a 10000\n");
            scanf("%d",&niveau);
            if (niveau == 1)
            MAX = 100;
            else if(niveau == 2)
            MAX = 1000;
            else
            MAX = 10000;
        if (joueur == 1)
        {
        srand(time(NULL));
        nombre1 = (rand() % (MAX - MIN + 1)) + MIN;//si il ya un joueur chifre mystere au hasard
        }
        else
        {
    do
            {
            printf(" joueur 1 ferme les yeux et joueur 2 ecris un nombre entre 1 et %d? \n", MAX);
            scanf("%d",&nombre1);
            }while(nombre1 >= MAX);// si deux joueur un joueur marque le nombre la boucle verifie que le chiifre mystere est entre MIN et MAX
        }
     
          do
          {
              printf("quel est le nombre ? \n");
              scanf("%d", &nombre2);
              compteur++;// on rajoute un a chaque fois que la boucle est repete
              if(nombre1 > nombre2)
                printf("c'est plus !\n");
              else if (nombre1 < nombre2)
                printf("c'est moin!\n");
              else
              {
                printf("bravo tu as trouve le nombre mystere !!!\n");
                printf("tu as trouve le nombre mystere en %d coups\n" ,compteur);
              }
          }while(nombre1 != nombre2);
        compteur = 0;
        printf("tu veux rejoue:\n");
        printf("1:oui\n");
        printf("0:non\n");
        scanf("%d",&partie);
        }while(partie);//on demande au joueur si il veut rejoue je me suis servi des booeleen
     
        return 0;
    }
    merci pour m avoir aidee

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 50
    Points : 14
    Points
    14
    Par défaut
    bonjour a tous j'ai commence a apprendre les fonction j'ai compris et j'ai essaye d'ameliore un exemple pour m'entraine j'ai decide de faire un systeme de conversion du franc a l'eure vis versa mais dans les sprintf ou il devraient apparaitre les resultat il yg a que des zero je ne vois^pas mon erreur peut etre que je n'ai pas si bien comprit les fonction merci d'avance


    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
     
    #include <stdio.h>
    #include <stdlib.h>
     
    double conversion1(double franc)
    {
        double euro = 0;
        euro = franc / 6.55957;
        return euro;
    }
    double conversion2(double euro)
    {
        double franc = 0;
        franc = 6.55957 * euro;
        return franc;
    }
    int main(int argc , char *argv[])
    {
        int choix = 0;
        double somme = 0;
        printf("voulez vous faire des conversion:\n1: du franc a l'euro\n0:de l'euro au franc\n");
        scanf("%d",&choix);
        printf("mettez une somme !");
        scanf("%f",&somme);
        if(choix)
        printf("%f F est egale a %f euro",somme,conversion1(somme));
        else
        printf("%f euro est egale a %f F",somme,conversion2(somme));
        return 0;
    }

  13. #13
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Salut.

    Première remarque : les paramètres de la fonction main () sont inutiles dans les deux bouts de code que tu nous a présentés => int main (void) est ici plus adapté .

    Tes fonctions ne comportent pas d'erreurs à première vue hormis le fait qu'on pourrait simplifier leur écriture. En effet, ce n'est pas une obligation mais tu peut simplifier l'écriture de tes fonctions comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    double conversion1(double franc)
    {
        return franc / 6.55957;
    }
    double conversion2(double euro)
    {
        return 6.55957 * euro;
    }
    Sinon, pour un double, le format est %lf. Le problème d'affichage est du à l'utilisation %f qui concerne en fait les nombre à virgule flottante de type float (un type que tu aurais pu utiliser aussi d'ailleurs).

    Voici ton code corrigé et fonctionnel :

    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
    #include <stdio.h>
    /* #include <stdlib.h> inutile ici */
     
    /* Prototypes */
    double conversion1(double);
    double conversion2(double);
     
    int main (void) /* pas de paramètres */
    {
        int choix = 0;
        double somme = 0;
        printf("voulez vous faire des conversion:\n1: du franc a l'euro\n0: de l'euro au franc\n");
        scanf("%d",&choix);
        printf("Mettez une somme :\n");
        scanf("%lf",&somme);
     
        if(choix) /* indentation */
            printf("%f F est egale a %lf euros\n",somme,conversion1(somme));
        else
            printf("%f euro est egale a %lf F\n",somme,conversion2(somme));
        return 0;
    }
     
    /* écritures simplifiée de tes fonctions */
    double conversion1(double franc)
    {
        return franc / 6.55957;
    }
    double conversion2(double euro)
    {
        return 6.55957 * euro;
    }
    Cordialement,
    Idriss

    Pour bien te former : Cours et tutoriels pour apprendre la programmation C & la FAQ C.

  14. #14
    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
    Pour préciser ce que dit ok.Idriss :
    Sinon, pour un double, le format est %lf. Le problème d'affichage est du à l'utilisation %f qui concerne en fait les nombre à virgule flottante de type float...
    Le format est, pour un double, %lf pour la famille des scanf() et, toujours pour un double, %f pour la famille des printf(). Dans ce dernier cas, le 'l' de %lf est sans effet et le format est équivalent à %f.
    Si pour printf() on veut afficher un float, le format est aussi %f, parce que la valeur de type float va être automatiquement transtypée en une valeur de type double .
    Le cas est différent pour la famille scanf() où on spécifie l'adresse où doit être écrite la valeur. Dans ce cas, il faut absolument spécifier le bon formatteur, %f pour un float et %lf pour un double.
    Publication : Concepts en C

    Mon avatar : Glenn Gould

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

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 50
    Points : 14
    Points
    14
    Par défaut
    merci d'abord pour ces reponse tres instructive mais je ne voit pas a quoi sa sert de faire des prototype ?Par contre j'ai compris la simplification je en cromprend meme pas pourquoi je ne l'ai pas fait plutot .

  16. #16
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Citation Envoyé par diabolo77 Voir le message
    je ne voit pas a quoi sa sert de faire des prototype ?
    Simplement pour te montrer leur existence. Plus tard, ces prototypes te seront utiles lorsque que tu fera de la programmation modulaire .

    Cordialement,
    Idriss

  17. #17
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par diabolo77 Voir le message
    je ne voit pas a quoi sa sert de faire des prototype ?
    Ce sont des indications que tu donnes au compilateur pour lui dire cette fonction attend ce type de paramètre et retourne ce type de valeur.

    Avec ces indication (facultatives), le compilateur est à même de faire plus de contrôles sur les types de valeurs passés à la fonction.

    Si le prototype est absent, le compilateur considère que c'est une fonction de type "int fonction()" et ne fait aucun contrôle sur la validité des types.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 50
    Points : 14
    Points
    14
    Par défaut
    bonjours à tous je commence a comprendre tout ce qui est fonction est prototype .Je suis en train de faire des essaies en voici un c'est une calculette a la façon diabolo77 mais j'ai apparament de la rencoeur contre tout ce qui est avec virgule flottante j'ai fait un programme avec 14 erreur mais je vais essaye de les regler tout seul mais il y en a un ( ou deux ou trois mais il se ressemble)dont je demande votre aide


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    double nombre1, double nombre2,int choix;
        printf(" entrez le nombre 1:\n");
        scanf(%lf),&nombre1);
        printf(" entrez le nombre 2:\n");
        scanf(%lf),&nombre2);
        printf("type d'operation\n");
        printf("1:operation\n");
        printf("2:soustraction\n");
        printf("3:multiplication\n");
        printf("4:division avec reste\n");
        printf("fait ton choix")
        scanf("%d",&choix);
    le message d'erreur
    ||In function `main'
    |14|error: syntax error before "double"|
    |16|error: syntax error before '%' token|
    |18|error: syntax error before '%' token|
    |25|error: syntax error before "scanf"|

    merci d'avance

    ps: je met le code complet si sa interrese quelqu'un
    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
     
    #include <stdio.h>
    #include <stdlib.h>
     
    double addition(double nombre1,double nombre2);
    double soustraction(double nombre1,double nombre2);
    double multiplication(double nombre1,double nombre2);
    double division(double nombre1,double nombre2);
    double reste (double nombre1, double nombre2);
     
     
    int main()
    {
        double nombre1, double nombre2,int choix;
        printf(" entrez le nombre 1:\n");
        scanf(%lf),&nombre1);
        printf(" entrez le nombre 2:\n");
        scanf(%lf),&nombre2);
        printf("type d'operation\n");
        printf("1:operation\n");
        printf("2:soustraction\n");
        printf("3:multiplication\n");
        printf("4:division avec reste\n");
        printf("fait ton choix")
        scanf("%d",&choix);
        switch(choix)
        {
            case 1:
               printf("%f+%f=%f",nombre1,nombre2,addition(nombre1,nombre2));
            break;
            case 2;
               printf("%f-%f=%f",nombre1,nombre2,soustraction(nombre1,nombre2));
            break;
            case 3;
               printf("%fx%f=%f",nombre1,nombre2,multiplication(nombre1,nombre2));
            break;
            case 4;
               printf("%f/%f=%f et a pour reste %f",nombre1,nombre2,division(nombre1,nombre2),reste(nombre1,nombre2));
            break;
            default;
               printf(" cette operation n'est pas valable");
            break;
        }
        return 0;
    }
     
    double addition(double nombre1,double nombre2)
    {
        return(nombre1 + nombre2);
    }
    double soustraction(double nombre1,double nombre2)
    {
        return(nombre1 - nombre);
    }
    double multiplication(double nombre1,double nombre2)
    {
        return(nombre1 * nombre2);
    }
    double soustraction(double nombre1,double nombre2)
    {
        return(nombre1 / nombre2);
    }
    double reste(double nombre1, double nombre2)
    {
        return(nombre1 % nombre2);
    }

  19. #19
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Salut.

    =>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int main(void) /* On indique au compilo que la fonction main ne prend pas de paramètres (c'est pas obligatoire mais plus rigoureux) */
    Et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        printf(" entrez le nombre 1:\n");
        scanf(%lf),&nombre1);
        printf(" entrez le nombre 2:\n");
        scanf(%lf),&nombre2);
    =>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        printf(" entrez le nombre 1:\n");
        scanf("%lf",&nombre1);
        printf(" entrez le nombre 2:\n");
        scanf("%lf",&nombre2);
    Cordialement,
    Idriss

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 50
    Points : 14
    Points
    14
    Par défaut
    merci de ta reponse quel faute : Mur :
    voila grace a toi et a ma relecture mes fautes sont tombé a 10 mais il y en a qui reste. bon le plus facile est fait maintenat je vais devoir debugger avec des message d'erreur que je ne connais pas je l'ai met pas tous juste ce qui me parrait bizarre c'est sur les declaration des variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    /*||In function `main':|
    |13|error: syntax error before "double"|
    |17|error: `nombre2' undeclared (first use in this function)|
    |17|error: (Each undeclared identifier is reported only once|
    |17|error: for each function it appears in.)|*/
    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
    int main(void)
    {
        double nombre1, double nombre2,int choix;
        printf(" entrez le nombre 1:\n");
        scanf("%lf",&nombre1);
        printf(" entrez le nombre 2:\n");
        scanf("%lf",&nombre2);
        printf("type d'operation\n");
        printf("1:operation\n");
        printf("2:soustraction\n");
        printf("3:multiplication\n");
        printf("4:division avec reste\n");
        printf("fait ton choix")
        scanf("%d",&choix);
    kezako
    merci d'avance

    ps : merci pour tes explications sa me permet de mieux compprendre mes erreurs

Discussions similaires

  1. Petit problème de fork
    Par osmose22 dans le forum Linux
    Réponses: 7
    Dernier message: 18/03/2007, 21h10
  2. [TP]petit probleme avec solution
    Par pompompolom dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 02/12/2004, 19h48
  3. petit probleme avec l'éditeur de builder
    Par qZheneton dans le forum C++Builder
    Réponses: 2
    Dernier message: 28/10/2004, 16h19
  4. petit probleme de requete
    Par nico33307 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 25/08/2004, 11h36
  5. petit probleme dans une requte POSTGRE SQL
    Par ghis le fou dans le forum Requêtes
    Réponses: 5
    Dernier message: 08/09/2003, 13h51

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