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 :

Exercice saisie de notes


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Novembre 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2014
    Messages : 20
    Par défaut Exercice saisie de notes
    Bonjour,

    J'essaie de réaliser cet exercice sur code blocks langage C mais malheureusement le programme ne s'exécute pas correctement.

    Écrire un algorithme qui déclare un tableau de 9 notes, dont on fait ensuite saisir les valeurs par l'utilisateur.

    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
    #include <stdio.h> 
    #include <stdlib.h> 
     
    int main() 
    { 
      int t[9]; 
      int i=0; 
      for (i=0 ; i<9; i++); 
    { 
     
      printf("saisir la note svp"); 
      scanf("%s",t[i]); 
    } 
      for (i=1 ; i<9; i++); 
      i=t[i]; 
        printf("la note est : %s",t[i]); 
     
    }

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    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 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par avatarkhalid Voir le message
    J'essaie de réaliser cet exercice sur code blocks langage C mais malheureusement le programme ne s'exécute pas correctement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      printf("saisir la note svp"); 
      scanf("%s",t[i]);
    Bonjour

    Je pense qu'on t'a appris que toute fonction qui devait modifier une variable devait alors recevoir l'adresse de cette variable. Et si t'en n'es pas encore là, alors on t'a au-moins appris à utiliser correctement scanf()...

    Citation Envoyé par avatarkhalid Voir le message
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
     for (i=1 ; i<9; i++);
    T'as appris ton cours C sur la boucle for() et la signification du point-virgule ?

    Citation Envoyé par avatarkhalid Voir le message
    A quoi tu penses quand tu écris cette ligne ???
    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]

  3. #3
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Bonjour.

    scanf("%s", t[i]);. Tu demandes comme saisie une chaîne de caractères et tu désires la sauver dans une variable int. Ca doit certainement poser quelques problèmes...

  4. #4
    Membre averti
    Femme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Novembre 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2014
    Messages : 20
    Par défaut exercice langage C code blocks
    Bonjour,


    à Gerald3d oui sais vrais j'avais oublié de mettre char pour la déclaration de caractère, sev@r scanf est correct mais pour i=t[i] sais faux j'avoue

    j'ai mal pensé , bref j'essai de réalisé autre fois l'exercice, la résulta est toujours incorrect le même problème d’exécution!


    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
     #include <stdio.h>
    #include <stdlib.h>
     
    int main()
    {
      char t[9];
      int i=0;
      {
     
      for (i=0 ; i<9; i++);
     
      printf("\n saisir la note %numero svp: t[i]");
      scanf("%s",t[i]);
    }
        printf("la note %numero est : %s",t[i]);
     
    }

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    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 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par avatarkhalid Voir le message
    à Gerald3d oui sais vrais j'avais oublié de mettre char pour la déclaration de caractère
    Mouais t'as tout compris à l'envers !!! Pourquoi déclarer des caractères quand on veut saisir des nombres ?

    Citation Envoyé par avatarkhalid Voir le message
    scanf est correct
    Non.

    Citation Envoyé par avatarkhalid Voir le message
    j'ai mal pensé , bref j'essai de réalisé autre fois l'exercice, la résulta est toujours incorrect le même problème d’exécution!


    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
     #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
      char t[9];
      int i=0;
      {
    
      for (i=0 ; i<9; i++);
    
      printf("\n saisir la note %numero svp: t[i]");
      scanf("%s",t[i]);
    }
        printf("la note %numero est : %s",t[i]);
    
    }
    C'est de plus en plus catastrophique. J'ai mis en rouge tout ce qui ne va pas...
    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
    Membre averti
    Femme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Novembre 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2014
    Messages : 20
    Par défaut exercice langage C code blocks
    Bonjour,

    Oui sev@ar désolé j'ai fais des erreurs stupide ! je suis débutant en langage C j'essai de m'amélioré un peu j'ai corrigé ce que tu as mis en rouge
    mais toujours problème d'exécution il me donne la même résulta même si je fais 10 ! il manque quelque choses à ton avis sais quoi ?

    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
    #include <stdio.h>
    #include <stdlib.h>
     
    int main()
    {
      char t[9];
      int i=0;
     
      printf("\n saisir la note %numero:",t[i]);
      scanf("%d",&t[i]);
     
      for (i=0 ; i>9 ; i++)
      {
     
      }
        printf("\n la note du tableau numero est : %d",t[i]);
     
    }

  7. #7
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    en fait, tu ne comprends pas du tout ce que tu écris.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (/*INIT*/;/*COND*/;/*PAS*/) /*INSTRUCTION*/
    C'est la structure d'une boucle for.
    INIT est une initialisation de la boucle. C'est une instruction exécutée avant de commencer.
    Tant que l'expression COND sera vraie, l'instruction INSTRUCTION sera exécutée, puis le compteur sera avancé (telle que PAS le définit)

    par ailleurs, INSTRUCTION peut être un bloc d'instruction, introduit par { et fermée par }Tu as écris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (i=0 ; i>9 ; i++)
      {
     
      }
    Ceci se traduit par:
    mettre i à 0.
    tant que i est supérieur à 9:
        - faire {} c'est à dire, rien.
        - augmenter i de 1
    Il y a deux erreurs:
    le corps de la boucle est vide, la boucle ne sert donc à rien en tant que telle.

    i est initialisé à 0, et la boucle est faite seulement tant que i>9. Or, "0 > 9" est faux, donc tu n'entres même pas dans la boucle.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par Sve@r Voir le message
    J'ai mis en rouge tout ce qui ne va pas...
    Sans oublier :
    Citation Envoyé par Sve@r Voir le message
    Pourquoi déclarer des caractères quand on veut saisir des nombres ?
    Autre remarque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      scanf("%d",&t[i]);
      for (i=0 ; i>9 ; i++)
      {
     
      }
        printf("\n la note du tableau numero est : %d",t[i]);
    As-tu réellement conscience de ce que tu fais ? Sais-tu à quoi servent les accolades, une boucle for ?

  9. #9
    Membre averti
    Femme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Novembre 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Novembre 2014
    Messages : 20
    Par défaut exercice langage C code blocks
    Je pense que cette fois si est correct ?

    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 <stdlib.h>
     
    int main()
    {
      int t[9];
      int i=0;
     
    for (i=0; i<9; i++)
    {
     
      printf("\n saisir la note %numero:",t[i]);
      scanf("%d",&t[i]);
    }
     
     
     printf("\n la note du tableau %numero est : %d",t[i]);
     
    }

  10. #10
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    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 832
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Winjerome Voir le message
    Sans oublier :

    Ouais, effectivement j'avais mentionné ça mais oublié de le mettre en rouge. Mais il y avait tellement de trucs à voir aussi...

    Citation Envoyé par avatarkhalid Voir le message
    Je pense que cette fois si est correct ?

    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 <stdlib.h>
     
    int main()
    {
      int t[9];
      int i=0;
     
    for (i=0; i<9; i++)
    {
     
      printf("\n saisir la note %numero:",t[i]);
      scanf("%d",&t[i]);
    }
     
     
     printf("\n la note du tableau %numero est : %d",t[i]);
     
    }
    Mouais presque. Pourquoi tu affiches t[i] dans le printf() vu que t[i] n'a pas encore été saisi ??? Et ça veut dire quoi "%numero" dans printf() ?

    Ensuite l'affichage: tu as saisi tes 9 notes dans une boucle de saisie. Admettons que ce soit enfin correct. Si tu veux les afficher, il faut alors refaire une boucle d'affichage !!!
    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]

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 17/06/2012, 12h06
  2. Saisie des notes (Gestion des notes)
    Par oussaki dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/01/2012, 11h03
  3. probléme de saisie des notes des etudiants
    Par zimamouche1 dans le forum Langage
    Réponses: 8
    Dernier message: 22/07/2011, 16h51
  4. [Turbo Pascal] Exercice sur la gestion des notes d'élèves d'une classe
    Par burnit4mosta dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 06/04/2009, 13h53
  5. Saisie de note de frais, le meilleur moyen?
    Par Tuizi dans le forum SharePoint
    Réponses: 4
    Dernier message: 18/08/2008, 12h24

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