Enoncé







Reprendre la structure précédente (et la fonction main()), et écrire une fonction qui met à zéro l'abscisse et l'ordonnée (on appelera "raz" cette fonction, et elle ne retournera rien).






Solution



#include <stdio.h>


struct point
{
char c ;
int x , y ;
};



void raz(struct point * adr)
{
adr -> x = 0 ;
adr -> y = 0 ;
}


void main()
{
struct point p ;

printf("Entez le nom du point : \n") ;
scanf("%c", & p.c) ;
printf("Entez l'abscisse du point : \n") ;
scanf("%d", & p.x) ;
printf("Entez l'ordonné du point : \n") ;
scanf("%d", & p.y) ;

raz( & p);

printf("point %c de coordonnées %d %d\n",p.c,p.x,p.y) ;
}



explications :


Se reporter à l'exercice précédant pour quelques explications.

Il faut transmettre à la fonctio "raz" l'adresse (& de la structure à modifier. On doit donc accéder à la structure à l'aide d'un pointeur ( * ). L'accè aux éléments de la structure se fait alors ainsi : nom_structure -> éléments.



Renseignements sur : printf, scanf, les caractères de formattage, les structures , les types, retour de fonction.