Étudiant

0/5 (6 avis)

Vue 9 261 fois - Téléchargée 566 fois

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 / Exemple :


#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(); }

Codes Sources

A voir également

Ajouter un commentaire Commentaires
manjra88
Messages postés
1
Date d'inscription
jeudi 12 juin 2008
Statut
Membre
Dernière intervention
12 juin 2008

12 juin 2008 à 13:54
bon code
kohan95
Messages postés
35
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
28 juillet 2010

23 mai 2007 à 00:32
pa dkoi
Reckahomis
Messages postés
2
Date d'inscription
jeudi 3 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2010

3 mai 2007 à 20:24
merci mon frére c genial de ta part
bravo
kohan95
Messages postés
35
Date d'inscription
lundi 5 février 2007
Statut
Membre
Dernière intervention
28 juillet 2010

22 mars 2007 à 19:02
merci bcp PCBill
PCBill
Messages postés
48
Date d'inscription
lundi 25 décembre 2006
Statut
Membre
Dernière intervention
29 septembre 2009

22 mars 2007 à 17:23
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 !
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.