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 sur les structures


Sujet :

C

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 45
    Par défaut exercice sur les structures
    Définir une structure EMPLOYE caractérisée par les informations suivantes : matricule, non, prénom, âge, salaire.
    1. Lire et afficher les informations de 5 employés.
    2. Afficher les informations d’un employé à partir d’une matricule donnée par l’utilisateur.
    3. Calculer et afficher le nombre d’employés qui ont un salaire qui dépasse 10000.
    4. Afficher les informations de l’employé(s) le(s) plus âgé(s).

    J'ai un problème concernant la question 4
    1- comment je peux faire s'il y a de personne qui on le même age ?!
    2- est ce que je dois utiliser les pointeurs ?

  2. #2
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    Bonjour,

    ben c est bien.
    Mais ce serait mieux avec une meilleur indentation.

  3. #3
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 082
    Par défaut
    Bonjour,

    Quelle est la question ?

    Si c'est pour une verification :

    * Commencer par indenter votre code. J'espere que c'est le C/C qui a foiré, car la, c'est tout simplement illisible.

    * D'apres le peu que j'ai pu decrypter : La fonction main ne s'ecrit pas du tout comme ca ! C'est :

    int main (void)
    ou
    int main (int argc, char *argv[])

    Dans votre cas, la premiere solution est preferable.

    * Si vous connaissez le systeme de fonction, il serait bienvenu d'installer un systeme de menu qui appelerai des fonctions au lieu de tout laisser dans le main sans faire de menu.

    * Pour le /* 1 */ et /* 2 */ : Tu permet a l'utilisateur de rentrer deux fois le meme matricule. Bon, en general, le matricule a pour but d'identifier un et un seul employé. De plus, dans le /* 2 */, si tu ne trouve aucun employé a afficher, il serait bien de dire qu'aucun employé ne correspond au matricule trouvé.

    * Pour le /* 3 *: on te demande de calculer et d'afficher combien d'employé ont au dessu de 10 000, pas d'afficher les emplyé eu meme.

    compteur = compteur + 1;

    peut se simplifier en

    compteur += 1;

    et comme il s'agit d'une incrementation, on peut simplifier encore en :

    compteur++;

    * Pour le /* 4 */, Tu as fait l'inverse du /* 3 */

    On te demande d'afficher les info du plus vieux employer et tu n'affiche que l'age.


    * Il manque un return 0; a la fin du main pour dire que tout c'est bien passer.



    Bref, il manque des chose mais la pire est l'indentation inexistante qui rend toute lecture agreable de ton code impossible.

    Ré indente et reposte avec une question s'il te plait.

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 45
    Par défaut
    Merci beaucoup pour vos conseil j'ai encore un petit problème
    comment je peux faire s'il y a de personne qui on le même age ?!
    est ce que je dois utiliser les pointeurs ?

  5. #5
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 082
    Par défaut
    Bonjour,

    En premier lieu, je tiens a vous faire remarquer qu'il est tres mal vu d'editer entierment un message apres qu'on est repondu en l'utilisant. Mes remarque precedent, etant donné que vous avez editer afin de supprimer votre code, ne sont plus valable.



    Dans un second temps, qu'est ce qui vous fait dire que pour savoir si deux personne (ou plus) ont le meme age, il faut utiliser les pointeurs ??

    Je vous conseille fortement de reprendre les bases avant de continuer.


    Ensuite, votre probleme actuel concerne l'algorithmie. Autrement dit, la logique !

    Donc, faite un algo en langage C ou en francais, nous vous aiderons alors.

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 45
    Par défaut
    1. Lire et afficher les informations de 5 employés.

    Type employe = structure
    Matricule : entier
    Nom : chaine de caractére
    Prenom : chaine de caractére
    Age : entier
    Salaire : réel
    Finstructure

    Debut
    Variables :
    P [5] : employe
    Compteur, pos, m, max : entier
    a : booléen

    Pour i <--0 à 4 faire :
    Ecrire ("Entrez le numéro de matricule de l’employé ", i+1)
    Lire (p[i].matricule)
    Ecrire ("Entrez le nom de l’employé : ", i+1)
    Lire (p[i].nom)
    Ecrire ("Entrez le pénom de l’employé ", i+1)
    Lire ("p[i].prenom)
    Ecrire ("Entrez l’âge de l’employé ", i+1)
    Lire (p[i].age)
    Ecrire ("Entrez le salaire de l’employé ", i+1)
    Lire (p[i].salaire)
    Finpour

    Pour i <-- 0 à 4 faire :
    Ecrire (p[i].matricule)
    Ecrire (p[i].nom)
    Ecrire (p[i].prenom)
    Ecrire (p[i].age)
    Ecrire (p[i].salaire)
    Finpour

    2.Afficher les informations d’un employé à partir d’une matricule donnée par l’utilisateur.

    Ecrire (" Entrez un numero de matricule ")
    Lire (m)

    a=0
    Pour i <--0 à 4faire :
    Si (m = p[i].matricule) alors :
    a=1
    Pos=i
    Finsi
    Finpour


    Si a=1 alors :
    Ecrire (p [pos].nom)
    Ecrire (p [pos].prenom)
    Ecrire (p [pos].age)
    Ecrire (p [pos].salaire)
    Sinon
    Ecrire (" le numero de matricule est erroné")
    Finsi

    3.Calculer et afficher le nombre d’employés qui ont un salaire qui dépasse 10000.
    Compteur <--0
    Pour i <--0 à 4
    Si (p[i].salaire>10.000) alors :
    Compteur=compteur+1
    Finsi
    Finpour
    Ecrire (" le nombre des employes ayant un salaire superieur a 10.000 est ", compteur)

    4. Afficher les informations de l’employé(s) le(s) plus âgé(s).
    Max=p [0].âge
    Pour i<--0 à n-1 faire :
    Si (max<=p[i].âge)
    Max=p[i].âge
    Pos=i
    Finsi
    fin pour

    écrire (p[pos].nom)
    écrire (p[pos].prénom)
    écrire (p[pos].âge)
    écrire (p[pos].salaire)

  7. #7
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 082
    Par défaut
    J'ai l'impressions de parler a un mur.

    De une, il n'y a absolument aucune question, tu nous claque juste ton algo comme ca.
    De deux, tu ne dis même pas pour quel probleme tu as fait ca (je commence a douter qu'il y ai un probleme)
    De trois, il a fallu que je fasse un effort assez derangeant et long pour comprendre que peut etre, tu as voulu resoudre cette remarque :

    * Pour le /* 3 *: on te demande de calculer et d'afficher combien d'employé ont au dessu de 10 000, pas d'afficher les emplyé eu meme.

    [...]

    * Pour le /* 4 */, Tu as fait l'inverse du /* 3 */
    Bref, ici, c'est pas le salon de thé de madame Soleil ou Mamie Voyante. On est pas dans ta tete.

    Si tu persiste a faire n'importe quoi, je laisse tomber definitivement.
    Ne fais pas de up si tu ne recois aucune reponse, mais applique ce que je t'ai dit au dessus. On est la pour vous aidez, pas pour nous prendre la tete inutilement.

    Cordialement.

Discussions similaires

  1. Exercices sur les structures conditionnelles
    Par alibouriga dans le forum Pascal
    Réponses: 5
    Dernier message: 24/03/2013, 22h11
  2. exercice/corrige sur les structure de donne
    Par mdh12 dans le forum Débuter
    Réponses: 1
    Dernier message: 01/12/2009, 22h58
  3. Exercice sur les structures
    Par Robmilou dans le forum Débuter
    Réponses: 2
    Dernier message: 19/05/2008, 01h57
  4. aide pour exercice sur les structures
    Par demetria dans le forum C
    Réponses: 10
    Dernier message: 25/09/2007, 22h11
  5. Réponses: 4
    Dernier message: 28/07/2005, 16h22

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