Vous êtes sur la page 1sur 6

Elémentd'enseignement Atelier de programmation 2

Niveau License Appliquée Classe: LFT


enInformatiqueIndustrielle

TP N°4 : Atelier de programmation 2


Objectifs Les Fonctions
Boite à outilslogiciels CodeBlocks

Exercice1 :

Dans cet exercice, on vous demande de faire un programme qui :


‐ Créer un type structure ; student qui comportent 3 champs (numéro carte, nom étudiant et moyenne…).
‐ Initialiser cette structure
‐ Afficher les champs de cette structure
(Utiliser la fonction strcpy : pour initialiser la chaine de caractère)

Exercice2 :
Reprendre l’application de l’exercice 1 en créant un pointeur qui pointe sur la variable de
type student et en utilisant l’allocation dynamique du mémoire

Exercice 3 :
Ecrire un programme se servant d'une fonction printBookqui permet d’afficher les paramètres de cette
structure

struct Books {
char title[50];
char author[50];
char subject[100];
intbook_id;
};

Exercice 4 :
On veut créer un tableau de 10 cases, dans chaque case on trouve une structure point qui contient
l’abscisse et l’ordonnée, donc chaque case de tableau contient les cordonnées d’un point du courbe ci-
dessous : pour (x=1 y=0, x=3 y=1 , x=5 y=2……)

0
0 2 4 6 8 10 12 14 16 18 20

1
Exercice 5:

Reprendre le fonctionnement du programme précédent mais on travaille avec les fonctions :

-nextPoint : détermine les cordonnés du point suivant automatiquement


-initTableauPoints ; remplissage tableau avec les 10 cordonnées
-afficheTableauPoints ; affichage tableau de 10 cases (chaque case structure point)

2
Elémentd'enseignement Atelier de programmation
Niveau License Appliquéeen Informatique Classe: LAII-1A, 1B,1C, 1D
Industrielle
Tp N°4 : Atelier de programmation 2
Objectifs Les Fonctions
Boite à outilslogiciels CodeBlocks
Introduction
Ou bien
Les objets de type structure est comme un tableau, constitué de la
réunion d’un ensemble de valeurs. Mais à la différence des tableaux,
typedefstruct {
ces valeurs ne sont pas nécessairement de même type. L’accès à une
champ1 ;
valeur de la structure ne se fait pas avec l’aide d’indice, mais grâce à
champ2 ;
son nom. Le type structure permet de rassembler des informations sous
champ3 ;
une type que vous aurez créé. Par exemple vous créez le type Personne
} nom du type créé ;
qui possède un nom, un prénom et un âge. Ou bien un type Point qui a
une abscisse x et une ordonnée y
Exemple :
I. Declaration de structure
typedefstruct {
Le format général de déclaration char title[50];
char author[50];
structnom du type créé { char subject[100];
champ1 ; intbook_id;
champ2 ; } Book;
champ3;
}; Nous utilisons ensuite ce type pour déclarer des variables :

Exemple : Book livre1 ;

struct personne { char nom[20], prenom[15]; Les champs d’une structure peuvent être :
intage ; - de n’importe quel type de base
}; - des tableaux d’éléments de type quelconque
- des pointeurs
Nous utilisons ensuite ce type pour déclarer des variables : - des structures

struct personne jhon ;

3
L'opérateur Dot (.) Est utilisé pour accéder aux données à l'aide d'une
II. Initialisation du structure variable de structure normale et la flèche (->) est utilisée pour accéder
aux données à l'aide de la variable pointeur. Vous avez appris comment
Il existe deux méthodes pour initialiser une variable de type structure accéder aux données de structure en utilisant la variable normale dans le
Première méthodel’initialisation se fait juste au moment de la déclaration sujet C - Structure. Donc, nous montrons ici comment accéder aux
de la variable de type structure. Deuxième méthodel’initialisation se fait données de structure en utilisant la variable pointeur dans le programme
aprèsla déclaration de la variable de type structure. C ci-dessous.

structpersonne{ #include <stdio.h>


char nom[20]; #include <string.h>
char prenom[20];
intno_employe; struct student
}; {
struct personne p1 = {"Dupond","Jean", 7845}; int id;
char name[30];
ou float percentage;
};
struct personne p2 ;
p2.nom = "Dupond"; int main()
p2.prenom = "Jean"; {
p2.no_employe = 7845; inti;
struct student record1 = {1, "Raju", 90.5};
struct student *ptr;
Pour accéder aux champs de la variable p2, il suffit de faire suivre le nom ptr = &record1;
de la variable d’un point suivi du nom du champ.
printf("Records of STUDENT1: \n");
III. Pointeur et structure printf(" Id is: %d \n", ptr->id);
printf(" Name is: %s \n", ptr->name);
Le type structure peut être consulté de 2 façons dans un programme C. printf(" Percentage is: %f \n\n", ptr->percentage);
Elles sont,
return 0;
-Utilisation d'une variable de structure normale }
-Utilisation de la variable pointeur

4
Dans ce programme, "record1" est une variable de structure normale et
"ptr" est une variable de structure de pointeur. Comme vous le savez,
l'opérateur Dot (.) Est utilisé pour accéder aux données en utilisant une
variable de structure normale et une flèche (->) est utilisée pour accéder
aux données à l'aide de la variable pointeur.

Nous déclarons et initialisons maintenant un tableau de 3 éléments de


type struct personne

Avec la méthode 1

struct personne tab[3] = { {"Dupond", "Jean", 7845},


{"Le Notre", "Alfred", 4321},
{"Le Gall", "Marc", 5678}}
;

Ou bien nous l’initialison avec la méthode 2

struct personne tab[3];


tab[0].nom ="Dupond";
tab[0].prenom ="Jean";
tab[0].no_employe =7845;
tab[1].nom ="Le Notre";
tab[1].prenom ="Alfred";
tab[1].no_employe =1234;
tab[2].nom ="Le Gall";
tab[2].prenom ="Marc";
tab[2].no_employe =5678 ;

5
6

Vous aimerez peut-être aussi