begin process at 2008 07 06 01:44:19
1 205 433 membres
14 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ÉTUDIANT


Information sur la source

Catégorie :Chaîne de caractères Classé sous : étudiants, tri, saisie Niveau : Débutant Date de création : 20/03/2007 Vu / téléchargé: 3 366 / 217

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

Un programme qui fait la saisie des étudiants puis les trier
Un programme qui fait la saisie des étudiants puis les trier.
Il vous donne
Liste des étudiants par ordre alphabétique des villes
La  liste des étudiants par ordre alphabétique des noms    
La  liste étudiants classé par ville et par nom        
La liste étudiants classé par nom et par ville

Bon c’est mon premier programme avec les structure c’est vous avez des remarque ou des modifications n’hésitez pas à corriger les erreurs.


Enfin n’hésitez pas à corriger les erreurs 

Source

  • #include<stdio.h>
  • #include<stdlib.h>
  • #include<string.h>
  • #include<conio.h>
  • typedef struct adresse
  • {
  • int num_rue;
  • char nom_rue[41];
  • char ville[16];
  • }adress;
  • typedef struct etudiant
  • {
  • char nom[26];
  • char prenom[21];
  • char fil[4];
  • adress adr;
  • }etud;
  • //FONCTION DE SAISIE
  • void saisie(etud t[100],int x)
  • {
  • int i=1,f;
  • do
  • {
  • printf("Etudiant numero %d \n-----------------\n",i);
  • printf("entrez le nom : ");
  • gets(t[i-1].nom);
  • printf("entrez le prenom : ");
  • gets(t[i-1].prenom);
  • printf("entrez la filiere : ");
  • gets(t[i-1].fil);
  • printf("entrez le numero de la rue : ");
  • scanf("%d",&t[i-1].adr.num_rue);
  • getchar();
  • printf("entrez le nom de la rue : ");
  • gets(t[i-1].adr.nom_rue);
  • printf("entrez la ville : ");
  • gets(t[i-1].adr.ville);
  • i++;
  • }while(i<=100 && i<=x);
  • }
  • //fonction echange
  • void echange(etud *e1,etud *e2)
  • {
  • etud tmp;
  • tmp=*e1;
  • *e1=*e2;
  • *e2=tmp;
  • }
  • //fonction de tri par ville
  • void tri_ville(etud t[100],int debut,int fin)
  • {
  • int i,j,k;
  • for(i=debut;i<fin-1;i++)
  • {
  • k=i;
  • for(j=i+1;j<fin;j++)
  • if(stricmp(t[i].adr.ville,t[j].adr.ville)>0) k=j;
  • echange(&t[k],&t[i]);
  • }
  • }
  • //fonction de tri par nom
  • void tri_nom(etud t[100],int debut,int fin)
  • {
  • int i,j,k;
  • for(i=debut;i<fin-1;i++)
  • {
  • k=i;
  • for(j=i+1;j<fin;j++)
  • if(stricmp(t[i].nom,t[j].nom)>0) k=j;
  • echange(&t[k],&t[i]);
  • }
  • }
  • //fonction de tri par nom et ville
  • void tri_nom_ville(etud t[100],int debut,int fin)
  • {
  • int i,j,str,end,trouv;
  • tri_nom(t,debut,fin);
  • i=debut;
  • while(i<fin)
  • {
  • str=i;end=i;
  • trouv=1;
  • for(j=i+1;j<fin&&trouv;j++)
  • if(stricmp(t[i].nom,t[j].nom)==0) end=j;
  • else trouv=0;
  • if(str!=end) tri_ville(t,str,end);
  • i=end+1;
  • }
  • }
  • void tri_ville_nom(etud t[100],int debut,int fin)
  • {
  • int i,j,str,end,trouv;
  • tri_ville(t,debut,fin);
  • i=debut;
  • while(i<fin)
  • {
  • str=i;end=i;
  • trouv=1;
  • for(j=i+1;j<fin&&trouv;j++)
  • if(stricmp(t[i].adr.ville,t[j].adr.ville)==0) end=j;
  • else trouv=0;
  • if(str!=end) tri_nom(t,str,end);
  • i=end+1;
  • }
  • }
  • void affichage(etud t[100],int debut,int fin)
  • {
  • int i;
  • for(i=debut;i<fin;i++)
  • {
  • puts(t[i].nom);
  • puts(t[i].prenom);
  • puts(t[i].fil);
  • printf("%d\n",t[i].adr.num_rue);
  • puts(t[i].adr.nom_rue);
  • puts(t[i].adr.ville);
  • }
  • }
  • void choixmenu(void)
  • {
  • int a,n;
  • char ch;
  • etud t[100];
  • printf("combien d'etudiant voulez-vous saisir (max 100) : ");
  • scanf("%d",&n);
  • getchar();
  • saisie(t,n);
  • do{
  • printf("\n+---------------------------MENU-----------------------------+");
  • printf("\n| (1) | Liste des etudiant par ordre alphabetique des villes |");
  • printf("\n| (2) | Liste des etudiant par ordre alphabetique des nom |");
  • printf("\n| (3) | Liste etudaints classée par ville et par nom |");
  • printf("\n| (4) | Liste etudaints classée par nom et par ville |");
  • printf("\n| (5) | sortir du programme |");
  • printf("\n+------------------------------------------------------------+\n");
  • printf("\nchoisissez le numero correspondant a ce que vous voulez faire : ");
  • scanf("%d",&a);
  • switch(a)
  • {
  • case 1: tri_ville(t,0,n);
  • affichage(t,0,n);break;
  • case 2: tri_nom(t,0,n);
  • affichage(t,0,n);break;
  • case 3: tri_ville_nom(t,0,n);
  • affichage(t,0,n);break;
  • case 4: tri_nom_ville(t,0,n);
  • affichage(t,0,n);break;
  • case 5:
  • exit(0);
  • default: printf("choix incorrect\n");
  • }
  • getchar();
  • printf("voulez-vous faire un autre chois (O/N) : ");
  • scanf("%c",&ch);
  • }while(ch=='O' || ch=='o');
  • }
  • main ()
  • {
  • choixmenu();
  • getch();
  • }
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>

typedef struct adresse
{
        int num_rue;
        char nom_rue[41];
        char ville[16];
}adress;

typedef struct etudiant
{
        char nom[26];
        char prenom[21];
        char fil[4];
        adress adr;
}etud;
            //FONCTION DE SAISIE             
void saisie(etud t[100],int x)
{
     int i=1,f;
     do
     {
         printf("Etudiant numero %d \n-----------------\n",i);
         printf("entrez le nom : ");
         gets(t[i-1].nom);
         printf("entrez le prenom : ");
         gets(t[i-1].prenom);
         printf("entrez la filiere : ");
         gets(t[i-1].fil);
         printf("entrez le numero de la rue : ");
         scanf("%d",&t[i-1].adr.num_rue);
         getchar();
         printf("entrez le nom de la rue : ");
         gets(t[i-1].adr.nom_rue);
         printf("entrez la ville : ");
         gets(t[i-1].adr.ville);
         i++;
     }while(i<=100 && i<=x);
}
     //fonction echange
void echange(etud *e1,etud *e2)
{
     etud tmp;
     tmp=*e1;
     *e1=*e2;
     *e2=tmp;
}
      //fonction de tri par ville
void tri_ville(etud t[100],int debut,int fin)
{
     int i,j,k;
     for(i=debut;i<fin-1;i++)
     {
                             k=i;
                             for(j=i+1;j<fin;j++)
                             if(stricmp(t[i].adr.ville,t[j].adr.ville)>0) k=j;
                             echange(&t[k],&t[i]);
     }
}
     //fonction de tri par nom
void tri_nom(etud t[100],int debut,int fin)
{
    int i,j,k;
    for(i=debut;i<fin-1;i++)
    {
                            k=i;
                            for(j=i+1;j<fin;j++)
                            if(stricmp(t[i].nom,t[j].nom)>0) k=j;
                            echange(&t[k],&t[i]);
    }
}
      //fonction de tri par nom et ville
void tri_nom_ville(etud t[100],int debut,int fin)
{
     int i,j,str,end,trouv;
     tri_nom(t,debut,fin);
     i=debut;
     while(i<fin)
     {
                 str=i;end=i;
                 trouv=1;
                 for(j=i+1;j<fin&&trouv;j++)
                 if(stricmp(t[i].nom,t[j].nom)==0) end=j;
                 else trouv=0;
                 if(str!=end) tri_ville(t,str,end);
                 i=end+1;
     }                  
}
     
void tri_ville_nom(etud t[100],int debut,int fin)
{
     int i,j,str,end,trouv;
     tri_ville(t,debut,fin);
     i=debut;
     while(i<fin)
     {
                 str=i;end=i;
                 trouv=1;
                 for(j=i+1;j<fin&&trouv;j++)
                 if(stricmp(t[i].adr.ville,t[j].adr.ville)==0) end=j;
                 else trouv=0;
                 if(str!=end) tri_nom(t,str,end);
                 i=end+1;
     }
}   
     
     
void affichage(etud t[100],int debut,int fin)
{
     int i;
     for(i=debut;i<fin;i++)
     {
                           puts(t[i].nom);
                           puts(t[i].prenom);
                           puts(t[i].fil);
                           printf("%d\n",t[i].adr.num_rue);
                           puts(t[i].adr.nom_rue);
                           puts(t[i].adr.ville);
     }
}
 
 
void choixmenu(void)
{
   int a,n;
   char ch;
   etud t[100];
   printf("combien d'etudiant voulez-vous saisir (max 100) : ");
   scanf("%d",&n);
   getchar();
   saisie(t,n);
   do{
   printf("\n+---------------------------MENU-----------------------------+");
   printf("\n| (1) | Liste des etudiant par ordre alphabetique des villes |");
   printf("\n| (2) | Liste des etudiant par ordre alphabetique des nom    |");
   printf("\n| (3) | Liste etudaints classée par ville et par nom         |");
   printf("\n| (4) | Liste etudaints classée par nom et par ville         |");
   printf("\n| (5) | sortir du programme                                  |");
   printf("\n+------------------------------------------------------------+\n");
   printf("\nchoisissez le numero correspondant a ce que vous voulez faire : ");
   scanf("%d",&a);
   switch(a)
   {
            case 1: tri_ville(t,0,n);
                    affichage(t,0,n);break;
            case 2: tri_nom(t,0,n);
                    affichage(t,0,n);break;
            case 3: tri_ville_nom(t,0,n);
                    affichage(t,0,n);break;
            case 4: tri_nom_ville(t,0,n);
                    affichage(t,0,n);break;
            case 5:
                             exit(0); 
            default: printf("choix incorrect\n");
   }
   getchar();
   printf("voulez-vous faire un autre chois (O/N) : ");
   scanf("%c",&ch);
   }while(ch=='O' || ch=='o');
}

main ()
{
     choixmenu();
     getch();
}
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de jdalton42 le 21/03/2007 15:51:21

    Salut,

    bon vais etre indulgeant

    c'est un assez bon code pour un débutant mais il y a beaucoup de progrès a faire

    aussi ton programme, euh

    sert un peu a rien quoi...

    a+

  • signaler à un administrateur
    Commentaire de PCBill le 22/03/2007 17:23:30

    Bienvenue au monde du C/C++ !
    Vous pouvez vous inspirer de ma source qui traite du même sujet que le votre sur :
    http://www.cppfrance.com/codes/GESTION-SCOLAIRE_41119.aspx

    Bon courage !

  • signaler à un administrateur
    Commentaire de kohan95 le 22/03/2007 19:02:24

    merci bcp  PCBill

  • signaler à un administrateur
    Commentaire de Reckahomis le 03/05/2007 20:24:14

    merci mon frére c genial de ta part
    bravo

  • signaler à un administrateur
    Commentaire de kohan95 le 23/05/2007 00:32:45

    pa dkoi

  • signaler à un administrateur
    Commentaire de manjra88 le 12/06/2008 13:54:48 7/10

    bon code

Ajouter un commentaire

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS