Les structures

profThiernesse
2,465 views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

Exercice 2

Les structures suivantes sont définies :

struct date {
	int jour;
	int mois;
	int annee;
}

struct contact {
	char nom[20];
	char prenom[20];
	char adresse[100];
	char numero[10];
	char localite[50];
	int CP;
	struct date naissance;
}

Il faut écrire la fonction encode_contact. Celle-ci doit permettre l'encodage d'une structure contact en vérifiant les données fournie par l'utilisateur.

Contraintes sur les données

Les données doivent respecter les conditions suivantes :

  • Le nom doit uniquement être composé des caractères de A à Z et de a à z.
  • Le prénom doit uniquement être composé des caractères de A à Z et de a à z.
  • L'adresse ne possède aucune contrainte particulière.
  • Le numéro ne peut être composé que de chiffre et des caractères de A à Z.
  • Le code postal est une valeur numérique comprise entre 1000 et 9999.
  • La localité doit uniquement être composé des caractères de A à Z et de a à z.
  • La date de naissance doit être une date valide.

Notes complémentaires

  • Il est conseillé d'écrire des fonctions supplémentaires pour tester les valeurs.
  • La fonction scanf lors de la saisie d'une chaîne de caractères coupe entre les espaces.
  • Penser à l'utilisation de fgets pour saisir une chaîne.
  • La bibliothèque ctype.h renferme des fonctions utiles pour réaliser des tests : voir les références
  • Votre fonction de saisie ne doit comporter aucun affichage même pour poser la question à l'utilisateur.
  • Les données sont fournies dans cet ordre à votre programme :
    1. Nom
    2. Prénom
    3. rue
    4. Numéro
    5. Localité
    6. Code postal
    7. Date de naissance
Encode contact
struct date {
int jour;
int mois;
int annee;
};
struct contact {
char nom[20];
char prenom[20];
char adresse[100];
char numero[10];
char localite[50];
int CP;
struct date naissance;
};
void encode_contact(struct contact *personne) {
//Ecrire le code de la fonction
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content