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 :

Menu utilisateur qui ne fonctionne pas


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 11
    Points
    11
    Par défaut Menu utilisateur qui ne fonctionne pas
    bonjour tous le monde
    je veux ecrire un programme en C qui propose un menu à l'utilisateur avec les choix :
    -saisir un nouvel etudiant (et le mettre dans le tableau)
    -Afficher tous les etudiants
    -Afficher tous les etudiants admis ayant une moyenne >=10
    -Afficher un etudiant recherché par son matricule
    -Afficher un etudiant recherché par son nom
    -Afficher le nom et le prenom du major (ayant la plus grande moyenne)
    -Trier les étudiants par date de naissance (si même date trier par moyenne)

    merci repondez moi le plus rapidement possible
    voici le 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
    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    #include<stdio.h>
    #include<conio.h>
    typedef struct date {
            int jour;
            int mois;
            int an;
            } Date;
    typedef struct etudiant {
            int mat;
            char nom[20];
            char prenom[20];
            Date date_naiss;
            float moy;
            } Etudiant;
     
    Date saisie_date() {
         Date d;
         printf("Donner le jour :");
         scanf("%d",&d.jour);
         printf("donner le mois :");
         scanf("%d",&d.mois);
         printf("Donner l annnee :");
         scanf("%d",&d.an);
         return(d);
         }
    Etudiant saisie_etudiant(){
             Etudiant e;
             printf("le nom :");
             gets(e.nom);
             printf("le prenom :");
             gets(e.prenom);
             printf("le matricule :");
             scanf("%d",&e.mat);
             e.date_naiss=saisie_date();
             printf("la moyenne :");
             scanf("%f",&e.moy);
             return(e);
             }
    void affiche_etudiant(Etudiant e){
         printf("le matricule est : %d\t",e.mat);
         printf("\tle nom est : %s\t",e.nom);
         printf("\tle prenom est : %s\t",e.prenom);
         printf("\tla date de naissance est : %d/%d/%d\t",e.date_naiss.jour,e.date_naiss.mois,e.date_naiss.an);
         printf("\tla moyenne : %0.02f\t",e.moy);
         }
    typedef struct classe {
           int dim;
           Etudiant T[1000];
           }classe;
    classe saisie_plusieurs(){
           classe c ;
            int i;
            for(i=0;i<c.dim;i++)
            {c.T[i]=saisie_etudiant();}
            return c;
            }
     
    void affiche_tous(classe c){
         int i;
         for(i=0;i<c.dim;i++)
         {printf("Matricule : %d",c.T[i].mat);
         printf("Nom : %s",c.T[i].nom);
         printf("Prenom : %s",c.T[i].prenom);
         printf("Moyenne : %f",c.T[i].moy);
         printf("Date de naissance : %d/%d/%d",c.T[i].date_naiss.jour,c.T[i].date_naiss.mois,c.T[i].date_naiss.an);
         }}
    void affiche_admis(classe c){
         int i;
         for(i=0;i<c.dim;i++)
         {if(c.T[i].moy>=10)
         affiche_tous(c);
         } }
    void rech_matricule(classe c){
         int i;
         for(i=0;i<c.dim;i++)
         printf("entrer le matricule recherché :");
         scanf("%d",&c.T[i].mat);
         affiche_tous(c);
         }
    classe affiche_major(void){
         classe c;
         int i;
         float m;
         m=0;
         for(i=0;i<c.dim;i++)
     
         m=c.T[i].moy;
     
     
    int compare_date(Date x,y){
        if(x.an>y.an) return 1;
        else if(x.an<y.an) return 2;
        else if(x.mois>y.mois) return 1;
        else if(x.mois<y.mois) return 2;
        else if(x.jour>y.jour) return 1;
        else if(x.jour<y.jour) return 2;
        else return 0;
    }
    void tri_table(classe *te){
         int n,k; Etudiant aux;
         n=te;
         for(i=O;i<=n;i++){
                           k=i;
                           for(j=i+1;j<=n-1;j++)
                           if(compare_date(Etudiant[k].date_naiss,Etudiant[j].date_naiss)==1)k=j;
                           }
         aux=Etudiant[i];
         Etudiant[i]=Etudiant[k];
         Etudiant[k]=aux;
    }
    main(){
           int i;
           switch(i)
           case 1 : printf("Saisir un nouveu etudiant");   
           case 2 : printf("Afficher tous les etudiants");
           case 3 : printf("Afficher admis");
           case 4 : printf("Recherche par matricule");
           case 5 : printf("Recherche par nom");
           case 6 : printf("Afficher le nom et le prenom du major");
           case 7 : printf("Trier les etudiants par leur date de naissance"); 
           }
           }

  2. #2
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    merci repondez moi le plus rapidement possible
    Tu as oublié de poser ta question. Où ton code pose t-il problème ou qu'est-ce qui te pose un problème ?
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    personne pour me repondre??
    jai un probleme dans le menu qui vas proposer a l'utilisateur les choix
    et dans quelque fonctions comment celle de la recherche par nom

  4. #4
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    jai un probleme dans le menu qui vas proposer a l'utilisateur les choix
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    main(){
           int i;
           switch(i)
           case 1 : printf("Saisir un nouveu etudiant");   
           case 2 : printf("Afficher tous les etudiants");....
    1 - main retourne (explicitement) int et main sans arguments s'écrit
    2 - i n'a pas été initialisé. Le switch(i) n'a donc pas de sens
    - Lire i
    - tester la valeur de i avec le switch (et ne pas oublier que le corps du switch est entre { et }. Mais ces erreurs ont certainement été signalées par le compilateur.

    3 - Chaque case fait un affichage mais ne saisit pas de réponses

    4 - Ne pas oublier, que si on ne met pas un break après un case, le suivant va être exécuté
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 16
    Points : 11
    Points
    11
    Par défaut
    je veux pour le switch
    dans le premier cas je veux executeler la fonction saisir etudiant quand on entre la valeur 1 au clavier
    et pour les autres de meme mais d'autre fonctions

  6. #6
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    je veux pour le switch
    Pas compris.
    je veux executeler la fonction saisir etudiant quand on entre la valeur 1 au clavier
    Dans ce cas, il faut appeler la fonction qui convient à chaque cas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    int main(void)
    {
    int i;
    // lire une valeur pour i
    switch(i)
    {
    case 1:    // afficher message si on veut
               // Appeler fonction adéquate
               break; // pour terminer l'exécution du switch
    case ....
    }
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

Discussions similaires

  1. [AC-2000] Menu personnalisé qui ne fonctionne pas
    Par steps5ive dans le forum IHM
    Réponses: 10
    Dernier message: 16/07/2013, 21h25
  2. [CSS 2.1] Menu qui ne fonctionne pas correctement avec IE
    Par beegees dans le forum Mise en page CSS
    Réponses: 0
    Dernier message: 13/10/2010, 10h37
  3. [CSS 2] Sous menu qui ne fonctionne pas sous IE7
    Par dolphi dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 07/03/2009, 23h06
  4. Menu qui ne fonctionne pas
    Par skisofrene dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/11/2006, 15h33

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