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 :

Correction de programme en C


Sujet :

C

  1. #1
    Membre éprouvé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Par défaut Correction de programme en C
    [MOD : Merci de bien lire les règles du forum et d'apprendre à utiliser les balises de code]

    salut, chers developpeurs. Je suis debutant en programmation, et je programme en C, cependant j'ai un probleme. J'ai écris un programme qui permet de calculer la somme, le produit et la moyenne de 3 nombres entiers saisis au clavier. La partie concernant les saisis s'executent mais les calculs ne sont pa effectués. Voici le programme, s'il vous plait aidez moi à le corriger et à le rendre totalement executable:
    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
     
    //Programme de calcul//
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    /*declaration des variables*/
    int n1,n2,n3,som,prod,moy;
    n1=0;
    n2=0;
    n3=0;
    som=0;
    prod=0;
    moy=0;
    /*saisie des données*/
    clrscr();
    printf("entrez le premier nombre \n");
    scanf("%d", n1);
    printf("entrez le deuxieme nombre \n");
    scanf("%d", n2);
    printf("entrez le troisieme nombre \n");
    scanf("%d", n3);
    /*calculs*/
    som=n1+n2+n3;
    prod=n1*n2*n3;
    moy=som/3;
    /*sortie des resultats*/
    printf("la somme est:" som \n);
    printf("le produit est:" prod \n);
    printf("la moyenne est:" moy \n);
    return 0;
    }

  2. #2
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut
    Ensuite lorsque tu fais un scanf avec un entier il faut lui passer l'adresse de l'entier, c'est-à-dire &nom_de_variable

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 116
    Par défaut
    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
     
     
    //Programme de calcul//
    #include<stdio.h>
     
    int main(void)
    {
    /*declaration des variables*/
    int n1,n2,n3,som,prod,moy;
    n1=0;
    n2=0;
    n3=0;
    som=0;
    prod=0;
    moy=0;
    /*saisie des données*/
    printf("entrez le premier nombre \n");
    scanf("%d", &n1);
    printf("entrez le deuxieme nombre \n");
    scanf("%d", &n2);
    printf("entrez le troisieme nombre \n");
    scanf("%d", &n3);
    /*calculs*/
    som=n1+n2+n3;
    prod=n1*n2*n3;
    moy=som/3;
    /*sortie des resultats*/
    printf("la somme est:%d\n",som);
    printf("le produit est:%d\n",prod);
    printf("la moyenne est:%d\n",moy);
    return 0;
    }
    réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    utilisateur@ordi:~$ ./a.out
    entrez le premier nombre
    1
    entrez le deuxieme nombre
    2
    entrez le troisieme nombre
    3
    la somme est:6
    le produit est:6
    la moyenne est:2
    Comme il est dit plus haut, le scanf modifie les variables en passant par leur adresse : les valeurs des variables passées en argument ne sont pas modifiables.

    <conio.h>, tout le monde n'arrête pas de dire que ce n'est pas dans la librairie standard du C, pareil pour clrscr. (ça c'est juste pour dire c'est mal quand c'est pas dans la lib standard)

    Sinon c'est bon je crois. A part les horreurs du printf, les caractères interprétés en dehors des guillemets qui entourent la chaîne de caractère .

  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 : 46
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 921
    Par défaut
    kromartien a bien résumé la situation.
    J'ajoute que :
    • la fonction scanf est difficile à utiliser, et qu'elle est déconseillée.
      Petit exemple: que se passe-t-il si j'entre "a" à la question "entrez le premier nombre" ?

    Quelques liens: http://emmanuel-delahaye.developpez....tes.htm#saisie et http://xrenault.developpez.com/tutoriels/c/scanf/
    • Les prototypes de main sont :

    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int main (int argc, char **argv)
    Un lien: http://emmanuel-delahaye.developpez....s.htm#typemain

  5. #5
    Membre éprouvé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Par défaut Merci
    merci les gars, mon programme s'execute correctement . Encore merci pour ce que vous fetes pour toute la communauté.

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 116
    Par défaut
    Merci pour les remerciements, c'est à ce moment qu'on pense à ajouter le tag .

Discussions similaires

  1. [Turbo Pascal] Copier-coller un code source dans TP7 - Correction de programme
    Par pasrico dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 11/01/2012, 19h11
  2. Structurer correctement un programme
    Par ZeBen dans le forum C#
    Réponses: 18
    Dernier message: 28/06/2010, 09h39
  3. optimisation/correction de programme
    Par bolloche dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 01/07/2008, 16h08
  4. Correction de programmes simples.
    Par elishac dans le forum Caml
    Réponses: 5
    Dernier message: 10/06/2008, 20h03
  5. Correction de programme
    Par Thesilverking dans le forum Assembleur
    Réponses: 4
    Dernier message: 09/09/2006, 04h07

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