begin process at 2012 05 27 16:07:15
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caractères

 > ÉTUDIANT

ÉTUDIANT


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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é :5 293 / 311

Auteur : kohan95

Ecrire un message privé
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();
}


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip ANALYSEUR SYNTAXIQUEV(0.1)

 Sources de la même categorie

CALCUL DE CLEF RIB par Renfield
Source avec Zip [C] WD_STRING V2.2 par cyberripper
Source avec Zip LES STRING EN C, AFFECTATION, CONCATÉNATION, SPLIT, ... par appranting
Source avec Zip [C] WD_STRING V1.9 par cyberripper
Source avec Zip LIBRAIRIE LANGUAGES par astro53

 Sources en rapport avec celle ci

LES OPÉRATIONS DE LA LISTE CHAINÉE par smaili
Source avec Zip Source avec une capture ALGORITHME DE TRI D'UN TABLEAU PAR ORDRE CROISSANT OU DÉCROI... par Thuzhen
Source avec Zip COMPARATIF DES TRIS QUADRATIQUE par gnairod
Source avec Zip COMBSORT ALGORITHME DE TRI SIMPLE RAPIDE NON-RECURSIF par xtremejames183
Source avec Zip LE QUICKSORT NON-RECURSIF ET L'IMPACT DE L'INSERTIONSORT SUR... par nickydaquick

Commentaires et avis

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+

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 !

Commentaire de kohan95 le 22/03/2007 19:02:24

merci bcp  PCBill

Commentaire de Reckahomis le 03/05/2007 20:24:14

merci mon frére c genial de ta part
bravo

Commentaire de kohan95 le 23/05/2007 00:32:45

pa dkoi

Commentaire de manjra88 le 12/06/2008 13:54:48 7/10

bon code

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Petit probleme sous visual c++ [ par Hakim ] Salut,j'essaie a l'aide de visual c++ de traiter des valeurs saisie par un utilisateur mais voila mon probleme.Lorsque j'utilise une edit box tout mar champ de saisie [ par vinc ] Comment récupérer ligne par ligne dans un champ de saisie en Visual C++ ?vinc [?] Saisie d'une fonction [ par Cidrik ] Salut,Je débute en C et j'aimerais créer un programme qui réalise une étude de fonction (niveau 1°S) mais j'aimerais savoir comment faire pour que qua tri dans un tableau a 2 dimension en cpp [ par vivo95 ] Bonjours, je rechercherai comment faire pour faire un tri dans un tableau a 2 dimension, je sais le faire dans un tableua a 1 dim mais la je seche.Mer Securisation de la saisie des infos. [ par xabi62 ] Lorsqu'un utilisateur saisie des donnees (un entier par exemple), et que l'on saisie un caractere, le prog ne s'arrete plus, il tourne en boucle sur c Verifier la saisie [ par RobRoy ] comment faire pour empecher l'utilisateur de rentrer autre chose qu'un short lorsque que je lui impose un cin.ou sinon y a t il un moyen de tester la AU secours, urgent, urgent, petit prog a faire pour les forts [ par ptiJune ] salut, je programme en vb et je ne sais rien du c.Mais j'ai un ami qui a un projet à rendre pour lundi 3/06/2002.C'est un truc tout con mais comme je tri par comptage et tri de dijkstra. urgent!!! et au secours!!! [ par magicoz ] Bonjour, j'aurais voulu avoir de l'aide pour les tris par comptage et dijkstra.Je ne comprend pas le principe.Est-ce que quelqu'un peut m'expliquer et a l'aide!!!!?!? programme equivalent au DIR de Dos [ par rouxc ] Ce programme doitpermettre de lister des fichiers en parcourant les sous-répertoires avecquelques options de tri pour la sélection et l'affichage des Activer/Désactiver champ de saisie [ par CHENRY ] En VC++ 6 avec les MFC, comment faire pour activer désactiver dynamiquement un champ de saisie.Cette option existe dans les propirétes lorsqu'on créé


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,295 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales