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 :

[Débutant] Faire un graph ss lib avec une boucle


Sujet :

C

  1. #1
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 425
    Points
    425
    Par défaut [Débutant] Faire un graph ss lib avec une boucle
    Bonjour,

    Je fais encore appelle à vous pour un problème assez c*on je penses mais je n’ai pas trouver de solution ^^.

    Je suis actuellement entrain de faire un programme de saisie de note (5 note à saisir) et j’essaie de mettre en place un graphique (si on peux appeler ça comme ça) mais sans librairie :/

    Le graph est comme ça en fonction de la note on met + ou – une étoile, 10 étant représenter par la |

    *********|**********

    Voila 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    #include<stdio.h>
    #include<stdlib.h>
     
    int main()
    {
    	int i, j;		// Initialistion de var
    	float n, z = 0; // Initialistion de var
     
    	printf("Numero Eleve    |  Note\n"); // Affichage du txt
     
    	for (i=1;i<=5;i=++i)	// Initialistion de la boucle for
    	{
    		do // Initialistion de la boucle do-while
    		{
    			printf("     %d          |   ",i); // Affichage du txt ou i représente le N°élève
    			scanf("%f", &n); // Récupération de la note
    		}
    		while(n>20 || n<0); // Verrification de la saisie
     
    		j=i; // Initialistion de la var j pour la prochaine boucle
    		z=n; // Initialistion de la var z 
    	}
     
    	printf("\n\n"); // Saut de ligne
    	printf("Numero Eleve    |  Graph\n"); // Affichage du txt
     
    	for (j=1;j<=5;j=++j) // Initialistion de la boucle for
    	{
    		printf("     %d          |   %.0f\n",j, z);  // Affichage du txt
    	}
     
    	system("pause");
    	return 0;
    }
    le programme fonctionne mais il revoit uniquement la dernier variables enregistrer :/ donc le problème je n’arrive pas à récupérer les valeurs saisies dans la boucle au-dessus pour le graph ça viendra après une fois que j’aurai réussi à récupérer les valeurs.

    Merci par avance,
    Cordialement.

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut Re: [Débutant] Faire un graph ss lib avec une boucle
    Citation Envoyé par Darkenshin
    Voila mon code :
    Je note l'effort de présentation. C'est suffisament rare pour être souligné... Par contre, il y a un peu trop de commentaires inutiles et faux...
    le programme fonctionne mais il revoit uniquement la dernier variables enregistrer :/ donc le problème je n’arrive pas à récupérer les valeurs saisies dans la boucle au-dessus pour le graph ça viendra après une fois que j’aurai réussi à récupérer les valeurs.
    C'est normal, les valeurs n'ont pas été enregistrées. Pour ça, il faudrait un fichier ou tableau...

    Correction. Pose des questions si tu ne compremds pas.
    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
     
    #include <stdio.h>
    #include <stdlib.h>
     
    int main (void)
    {
    #define N 5
     
       float z[N];
     
       printf ("Numero Eleve    |  Note\n");
     
       {
          int i;
     
          for (i = 0; i < N; i++)
          {
             float n;
             int ret;
     
             do
             {
                /* Affichage du Numero de l'eleve */
                printf ("     %d          |   ", i + 1);
                fflush (stdout);
     
                /* Recuperation de la note */
                ret = scanf ("%f", &n);
     
                if (ret != 1)
                {
                   int c;
     
                   while ((c = getchar ()) != '\n' && c != EOF)
                   {
                   }
                }
             }
             /* Verification de la saisie */
             while (n > 20.0 || n < 0 || ret != 1);
     
             /* enregistrement de la note */
             z[i] = n;
     
          }
       }
       printf ("\n\n");
     
       /* affichage des notes */
       printf ("Numero Eleve    |  Graph\n");
     
       {
          int i;
          for (i = 0; i < N; i++)
     
          {
             printf ("     %d          |   %.0f\n", i + 1, z[i]);
     
          }
     
       }
       return 0;
    }
    Pas de Wi-Fi à la maison : CPL

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 17
    Points : 20
    Points
    20
    Par défaut
    Comme dit precedemment chaque valeur enregistree dans le scanf ecrase la precedente. Tu ne garde donc que la derniere valeur entree.

    change n par note[5] et dans le scanf tu demande a ecrire a note[i-1].

    De cette facon quand tu reliras tu demanderas les valeurs sur le tableau note[j].

    Stef

  4. #4
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 425
    Points
    425
    Par défaut
    Emmanuel Delahaye, merci euh quand tu parle d’effort de présentation tu parles des balise code ? Effectivement j'ai mis pas mal de commentaires inutiles ça me permet de voir ce que je fait :s, tu pourrai m'indiquer ce qui son faux pour que je comprennes pourquoi ?

    Je ne savais pas non plus que les données n’étaient enregistré, j’avais essayé de le faire pas un tableau mais je n’ai pas réussi :/ avec ton code je vais voir pourquoi je n’ai pas réussi.

    scol30, merci

  5. #5
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Darkenshin
    Emmanuel Delahaye, merci euh quand tu parle d’effort de présentation tu parles des balise code ?
    Oui et de l'indentation.
    Effectivement j'ai mis pas mal de commentaires inutiles ça me permet de voir ce que je fait :s, tu pourrai m'indiquer ce qui son faux pour que je comprennes pourquoi ?
    int i, j; // Initialistion de var
    Ben non. C'est "Definition de variable "
    do // Initialistion de la boucle do-while
    Ben non. C'est "Debut de la boucle..." etc.
    Pas de Wi-Fi à la maison : CPL

  6. #6
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 425
    Points
    425
    Par défaut
    Ok merci je vois ce qye tu veux dire, enfin pour moi ça revient à dire ce que tu dis

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

Discussions similaires

  1. Faire communiquer Axapta(Dynamics Ax) avec une autre application
    Par Access Newbie dans le forum Microsoft Dynamics
    Réponses: 5
    Dernier message: 13/12/2007, 15h52
  2. Comment faire un ORDER BY dynamique avec une direction?
    Par Danny Blue dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/03/2007, 01h46
  3. Réponses: 3
    Dernier message: 03/02/2007, 00h12
  4. Réponses: 1
    Dernier message: 31/01/2007, 12h30
  5. Réponses: 3
    Dernier message: 17/11/2006, 14h35

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