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 :

problème de menu


Sujet :

C

  1. #1
    Membre actif
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 46
    Par défaut problème de menu
    Bonjour a tous programmeurs programmeuzes ^^ ! !

    Voila j'ai un ptit probleme sur un programme en C , censé gérer des pistes de Vols : j'ai commencé a écrire l'algo mais j'sui bloquer a une case , parce que en fait, j'dois le développer sous forme de menu.
    En gros j'suis au case 4 et ce dernier doit etre capable de : transférer un employé entre les pistes. il faut savoir que c'est le principe des tableaux croisés entre piste et employé j'vous met la décla pour pa avoir de pb de variable ^^ , pis j'espere que quelqu'un répondra :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <stdlib.h>
    #include<stdio.h>
    #include<string.h>
    typeDef struct employe
    {int identifiant; char nom[50],prenom[50], tel[10];}employe;
     
    typeDef struct Piste
    {int code,nbe(ceci reprendre l'indice d'une case du tableau piste);
    char statu[50];employe tabE[100];}Piste;
     
    Piste tabP[100];
    int nbPiste = 0;
    objectif : Transférer un employer d'une piste a une autre !

    MERCI BEAUCOUP d'avance !!

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    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 840
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par luffy27 Voir le message
    Bonjour a tous programmeurs programmeuzes ^^ ! !

    Voila j'ai un ptit probleme sur un programme en C , censé gérer des pistes de Vols : j'ai commencé a écrire l'algo mais j'sui bloquer a une case , parce que en fait, j'dois le développer sous forme de menu.
    En gros j'suis au case 4 et ce dernier doit etre capable de : transférer un employé entre les pistes. il faut savoir que c'est le principe des tableaux croisés entre piste et employé j'vous met la décla pour pa avoir de pb de variable ^^ , pis j'espere que quelqu'un répondra :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <stdlib.h>
    #include<stdio.h>
    #include<string.h>
    typeDef struct employe
    {int identifiant; char nom[50],prenom[50], tel[10];}employe;
     
    typeDef struct Piste
    {int code,nbe(ceci reprendre l'indice d'une case du tableau piste);
    char statu[50];employe tabE[100];}Piste;
     
    Piste tabP[100];
    int nbPiste = 0;
    objectif : Transférer un employer d'une piste a une autre !

    MERCI BEAUCOUP d'avance !!
    Ben je présume que tabE contient le tableau des employés d'une piste. Donc transférer un employé de "piste1" vers "piste2 consiste à l'enlever de "piste1.tabE" et le rajouter à "piste2.tabE".

    Pour l'enlever de "piste1.tabE", tu vas avoir le problème du trou (si t'enlèves un employé du milieu du tableau). Si ton tableau n'a pas de critère de tri imposé, tu peux alors commencer par permuter l'employé que t'enlèves avec le dernier employé du tableau (l'employé que t'enlèves passe en fin de tableau) puis enlever ce dernier élément.
    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
    Membre éclairé Avatar de _SamSoft_
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    798
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 798
    Par défaut
    Ca sent les variables globales ce code...

    A modifier

  4. #4
    Membre éprouvé Avatar de siegfried64
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Maroc

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Par défaut
    tu devrais faire attention dans ton code, le langage c est "case sensitive", j'ai apporté quelques corrections a ton code dans la déclaration des structures, Voici une fonction de transfert, renvoie 1 si avec succes, 0 sinon :

    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
    #include <stdio.h>
    #include <stdlib.h>
    #include<string.h>
    typedef struct employe
    {int identifiant; char nom[50],prenom[50], tel[10];}Employe;
     
    typedef struct Piste
    {int code,nbe;
    char statu[50];Employe *tabE[100];}Piste;
     
    int Transfert(Piste *from,Piste *to,Employe *employe)
    {
        int i=0,j=0,nbeto=to->nbe,test=0;
        for(i=0;i<(from->nbe);i++)
        {
            if(from->tabE[i]!=employe)
            {
                from->tabE[j]=from->tabE[i];
                j++;
            }
            else
            {
                if(nbeto==100)                  //Capacite maximal de la  piste atteinte
                {
                    printf("\nTransfert d'employe impossible");
                    return 0;
                }
                to->tabE[nbeto]=employe;        //Ajout d'employe au fin de la liste
                to->nbe++;                      //mise a jour du nombre d'employe du piste to
                from->nbe--;
                test=1;                         //Transfert avec succes (employe trouve)
            }
     
        }
        if(test)
        {
            from->nbe--;                        //mise a jour du piste from
            printf("\nTransfert avec succes");
            return 1;
        }
        else
        {
            printf("\nTransfert Failed,Employe introuvable");
            return 0;
        }
     
    }

Discussions similaires

  1. [CSS] petit problème avec menu déroulant et frame
    Par SylvainB dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 14/02/2006, 14h54
  2. [Tableaux] Probléme Tableau / Menu
    Par carnage_59 dans le forum Langage
    Réponses: 7
    Dernier message: 13/10/2005, 13h34
  3. [HTML+CSS] Problème de menu "dynamique"
    Par Invité dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 06/04/2005, 12h48
  4. [SDK] Problème de Menu
    Par MPB dans le forum Windows
    Réponses: 6
    Dernier message: 26/01/2005, 10h59
  5. [FLASH MX2004] Problème de menu avec explorer
    Par lyne dans le forum Flash
    Réponses: 2
    Dernier message: 24/08/2004, 19h34

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