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 :

Lire entrée utilisateur


Sujet :

C

  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2019
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2019
    Messages : 26
    Par défaut Lire entrée utilisateur
    Bonjour,
    je suis un etudiant en G3 informatique de gestion et debutant en langage c mais j'aimerai ecrire un programme c qui calcule la somme des valeurs fournies au clavier par l'utilisateur tant que la saisie differe de 0.
    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # include <stdio.h>
    main(){
    int choix, i=0, n=0 a, b, s;
    printf("saisir la valeur a:");
    scanf("%d", & a);
    printf("saisir la valeur b:");
    scanf("%d", & 2);
    printf("saisir la valeur n:");
    scanf("%d", & n);
    s=a+b+n
    scanf("%d", & choix);
    }while( choix!=0); // contrôle de saisie
    }
    Ça fait 3 jours que je bosse dessus et suis bloqué. Guidez moi SVP.
    MERCI

  2. #2
    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 : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Ce code ne compile même pas.
    Mets-y un peu du tien... aide-toi et on t'aidera.
    Et si on t'a donné cet exercice c'est que ton cours permet d'y répondre.
    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.

  3. #3
    Membre très actif

    Homme Profil pro
    sans
    Inscrit en
    Octobre 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Octobre 2019
    Messages : 205
    Par défaut
    Salut, je suis débutant aussi, mais ton while est bizarre, il a juste sa condition mais pas ses actions à faire si la condition se réalise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while(condition)
    {
    // actions
    }
    J'ai raison non ?


    Et si on t'a donné cet exercice c'est que ton cours permet d'y répondre.
    Ah ! ça c'est pas faux

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 827
    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 827
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Citation Envoyé par Goodspel Voir le message
    je suis un etudiant en G3 informatique de gestion
    Et déjà administrateur systèmes et réseaux

    Citation Envoyé par Goodspel Voir le message
    Par exemple: scanf("%d", & 2);


    Citation Envoyé par Goodspel Voir le message
    Ça fait 3 jours que je bosse dessus
    Et sans manger ni boire je parie. Bousk a parfaitement résumé notre point de vue. On aide ceux qui y mettent du leur, qui par exemple utilisent leur livre de C autrement que pour caler les meubles quoi...

    Citation Envoyé par amateurprg Voir le message
    Salut, je suis débutant aussi, mais ton while est bizarre, il a juste sa condition mais pas ses actions à faire si la condition se réalise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while(condition)
    {
    // actions
    }
    J'ai raison non ?
    Oui tu as raison mais tu as parfois des situations où l'action est directement écrite dans la condition. Par ex pour vider stdin while (fgetc(stdin) != EOF); sur une seule et unique ligne avec donc un point-virgule final. Toutefois je t'accorde qu'il y a rarement l'occasion d'arriver à une telle situation. Et évidemment ce n'est pas le cas ici où son while est tout simplement écrit en dehors du main() (ce qu'il aurait vu s'il avait indenté proprement son code). Je pencherais ici pour une tentative de do { ... } while(); complètement ratée.
    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]

  5. #5
    Membre très actif

    Homme Profil pro
    sans
    Inscrit en
    Octobre 2019
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Octobre 2019
    Messages : 205
    Par défaut
    Ah merci Sve@r ! j'apprend de plus en plus ici, c'est super !

    oui c'est sur qu'il est en dehors du main(), je l'avais remarqué d'emblée mais je pensais que c'était si évident que c'était pas la peine que j'en parle.
    Et puis je m'étais dis aussi que peut-être c'était une technique d'écriture qu'on apprend à l'école, alors je doutais un peu de moi, parce que j'ai pas fait d'école technique, juste un cap de sellier-garnisseur (intérieur des voitures etc..).

  6. #6
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 602
    Par défaut La solution est le problème
    Bonjour,

    Je pense que nous devrions avoir pour règle de ne pas intervenir sans code qui compile.

    Le compilateur donne toutes les informations pour corriger le tir. Au plus, nous pourrions aider à la compréhension d'un message d'erreur un peu abscons.

    Ici l'aide est facile : "travailler son cours".

    Salutations

  7. #7
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2019
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2019
    Messages : 26
    Par défaut Mon petit raisonnement
    Oft suis administrateur... Cela ne revient pas à dire que suis meilleur partout, je pense que on est là pour s'entreder et non se monquer même socrate se faisait ignorant alors voilà mon petit raisonnement qui tente de resoudre mon probleme après vos remarques et suggestions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # include <stdio.h>
    main(){
    double n,s;
    do{
    printf("saisir un nbr:");
    scanf("%lg",&n);
    s+=n
    }while(n!=0);
    printf("la somme est:%lg",s);
    }
    en attendant vos dernières critiques si le projet est très bien implementé.
    merci

  8. #8
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    bonjour,

    il manque la balise de fin de code, d'où un code difficile à lire.
    - la déclaration de main() doit être précédée du type int de retour de main().
    - la variable s est utilisée alors qu'elle n'a jamais été initialisée.
    - il manque encore un point-virgule à la fin d'une ligne.

  9. #9
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 827
    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 827
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Goodspel Voir le message
    Oft suis administrateur...
    Ce n'est pas parce que tu as installé une lan aréa dans ta chambre qu'il faut te croire admin...

    Citation Envoyé par Goodspel Voir le message
    en attendant vos dernières critiques si le projet est très bien implementé.
    Ok, si on corrige les remarques de dalfab ce code produit le résultat attendu.
    Mais cela ne doit pas t'empêcher aussi de l'indenter. Ecrire un code ce n'est pas seulement écrire un code fonctionnel mais c'est écrire un code agréable à lire et facilement modifiable.
    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]

  10. #10
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 223
    Par défaut
    Je pense que nous devrions avoir pour règle de ne pas intervenir sans code qui compile.
    Pas tout à fait d'accord, un code qui ne compile pas peut être la source de la demande de l'utilisateur, le problème est surtout quand les messages d'erreur ne sont même pas lus, mais ils peuvent ne pas être compris. Je ne sais pas cela est vu en cours, je présume que oui.

    Mais cela ne doit pas t'empêcher aussi de l'indenter. Écrire un code ce n'est pas seulement écrire un code fonctionnel mais c'est écrire un code agréable à lire et facilement modifiable.
    Et ça permet de beaucoup plus facilement repérer une erreur.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

Discussions similaires

  1. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  2. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  3. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 08h05
  4. Comment débuter en programmation ?
    Par Marc Lussac dans le forum Débuter
    Réponses: 0
    Dernier message: 08/04/2002, 11h29
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

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