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 :

scanf et addition


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 4
    Par défaut scanf et addition
    Bonjour ,
    J'ai un probléme avec mon code j'obtient toujours la valeur 0 comme resultat , c'est un simple programme d'addition
    voici mon code :
    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>
    void lecture (int a , int b)
     {
          printf("Saisir deux entiers :\n") ;
          scanf ("%d %d",&a,&b);
     
     }
     int somme (int a , int b )
    {
     
        return (a+b) ;
    }
    void affiche (int x )
    {
        printf("la somme = %d ", x ) ;
    }
    int main ()
    {
        int x,y ;
        lecture(x,y) ;
        affiche(somme(x,y)) ;
    }

  2. #2
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    Alors il y'a la balise code sur le site , sinon c'est normal tu fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void lecture (int a , int b)
     {
          printf("Saisir deux entiers :\n") ;
          scanf ("%d %d",&a,&b);
     
     }
    La portée des variables a et b sont jusqu'à la fin de la fonction donc tu ne récupère nullement le résultat final , pour cela il faut utiliser des pointeurs.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    lecture scan et stocke dans des variables temporaires. Dès que la fonction est finie, elle sont perdues.
    x et y dans le main conservent donc leur valeur totalement aléatoire initiale.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 4
    Par défaut
    Merci pour vos conseils , comment je peux donc améliorer mon code pour garder les valeurs de a et b .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void lecture (int *a , int *b)
     {
          printf("Saisir deux entiers :\n") ;
          scanf ("%d %d",a,b);
     
     }
    merci d'avance

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 830
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Sam246 Voir le message
    Merci pour vos conseils , comment je peux donc améliorer mon code pour garder les valeurs de a et b .
    Comment fait scanf() (une fonction donc) pour stocker ce que l'utilisateur saisit dans les variables demandées ?

    C'est le même principe.

    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int main (){
        int x,y ;
        lecture(&x, &y) ;
        affiche(somme(x, y)) ;
    }
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 4
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Comment fait scanf() (une fonction donc) pour stocker ce que l'utilisateur saisit dans les variables demandées ?

    C'est le même principe.

    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int main (){
        int x,y ;
        lecture(&x, &y) ;
        affiche(somme(x, y)) ;
    }
    Merci beaucoup Sve@r

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. exception EconvertError avec le message("n'est pas une valeur correct)
    Par menoulette dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/09/2013, 22h55
  2. Mon code ne tient pas sur une ligne
    Par supertoms dans le forum VBA Access
    Réponses: 1
    Dernier message: 21/04/2008, 17h35
  3. [MySQL] Mon code ne fonctionne pas correctement
    Par bebas dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/02/2007, 13h27
  4. radiobutton erreur n'est pas une valeur entière correcte
    Par pierrot67 dans le forum Bases de données
    Réponses: 3
    Dernier message: 12/03/2006, 21h27
  5. erreur '' n'est pas une valeur entière correcte
    Par ffxlenoir dans le forum Langage
    Réponses: 5
    Dernier message: 02/12/2005, 13h57

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