Vous êtes sur la page 1sur 3

#include <stdio.

h>
#include <stdlib.h>
#include <string.h>
struct date
{
int jours;
int mois;
int annee;

};
typedef struct date DATE;
struct tlf
{
char region[20];
int num_tlf;
};
typedef struct tlf TLF;
struct contact
{
char nom[20];
char prenom[20];
TLF phone;
DATE daitenaiss;
int salaire;

};
typedef struct contact CONTACT;

void main()
{
CONTACT an;
CONTACT *tab;
int n;
int i;
//1
/* CONTACT saisie()
{
printf("saisie nom\n");
scanf("%s",&e->nom);
printf("saisie prenom \n");
scanf("%s",&e->prenom);
printf("saisie region \n");
scanf("%s",&e->phone.region);
printf("saisie tlf \n");
scanf("%d",&e->phone.num_tlf);
printf("saisie salaire \n");
scanf("%d",&e->salaire);
printf("saisie date naissance \n");
scanf("%d%d%d",&e->daitenaiss.jours,&e->daitenaiss.mois,&e->daitenaiss.annee);
return *e;
} */
//
void saisie(CONTACT *e)
{
printf("saisie nom\n");
scanf("%s",&e->nom);
printf("saisie prenom \n");
scanf("%s",&e->prenom);
printf("saisie region \n");
scanf("%s",&e->phone.region);
printf("saisie tlf \n");
scanf("%d",&e->phone.num_tlf);
printf("saisie salaire \n");
scanf("%d",&e->salaire);
printf("saisie date naissance \n");
scanf("%d%d%d",&e->daitenaiss.jours,&e->daitenaiss.mois,&e->daitenaiss.annee);
}
int saisien()
{
printf("saisir n \n");
scanf("%d",&n);
return n;
}
CONTACT* allocation(int n)
{ CONTACT *tab;
tab=(CONTACT*) malloc (n*sizeof(CONTACT));
if(!tab)exit(-1);
return tab;

}
void remplir(CONTACT *tab,int n)
{
printf("--------remplissage-------\n ");
for(i=0;i<n;i++)
{
printf(" \n indice %d",i);
saisie((tab+i));
}

}
void afficher(CONTACT an){
printf("-------------------affichage----------------------- \n");
printf("nom: %s \n",an.nom);
printf("prenom: %s \n",an.prenom);
printf("region: %s \n ",an.phone.region);
printf("tlf: %d \n ",an.phone.num_tlf);
printf("salaire: %d \n",an.salaire);
printf("datenaiss: %d/%d/%d \
n",an.daitenaiss.jours,an.daitenaiss.mois,an.daitenaiss.annee);
}
//3
void affichertage(CONTACT *tab,int n)
{
printf("\n---------tri par age----------------\n");
DATE min ;
DATE aux;
min=tab[0].daitenaiss;
printf("%d%d%d",min.jours,min.mois,min.annee);
for(i=0;i<n;i++)
{
if((min.annee<(tab[i].daitenaiss.annee))||
((min.annee=(tab[i].daitenaiss.annee))&&(min.mois<tab[i].daitenaiss.mois))||
((min.annee=(tab[i].daitenaiss.annee))&&(min.mois=tab[i].daitenaiss.mois))&&(min.jo
urs<tab[i].daitenaiss.jours))

{
aux=min;
min=tab[i].daitenaiss;
tab[i].daitenaiss=aux;
}
afficher(*(tab+i));
}
}
//4
void affichertabsalaire(CONTACT *tab,int n)
{
int x,y;
printf("\n ----------comparaison salaire--------\n");
printf("\n donner x \n");
scanf("%d",&x);
printf("donner y \n");
scanf("%d",&y);

for(i=0;i<n;i++)
{
if((x<=tab[i].salaire)&& (y>=tab[i].salaire) )
afficher(*(tab+i));
else if((x>=tab[i].salaire)&& (y<=tab[i].salaire) )
afficher(*(tab+i));
}

n=saisien();
tab=allocation(n);
remplir(tab,n);
affichertage(tab,n);
affichertabsalaire(tab,n);

Vous aimerez peut-être aussi