mercredi 6 avril 2011

Exercices Corrigés Langace C++ : LES TYPES DE VARIABLES COMPLEXES - LES STRUCTURES

LES DECLARATIONS DE TYPE SYNONYMES: TYPEDEF

Exercice 1:


Afficher la taille mémoire d'un point à l'aide de l'opérateur sizeof.

Exercice 2:


Définir le type typedef char ligne[80];
Déclarer dans main() un pointeur de ligne; lui attribuer de la place en mémoire (pour 5 lignes).
Écrire une fonction qui effectue la saisie de 5 lignes puis une autre qui les affiche. 
Les mettre en œuvre dans main().

STRUCTURES ET TABLEAUX

Exercice 3:

Créer une structure point{int num;float x;float y;}
Saisir 4 points, les ranger dans un tableau puis les afficher.

STRUCTURES ET POINTEURS

Exercice 4:

Reprendre l'exercice 2: Une fonction saisie permet de saisir un point, une fonction affiche permet d'afficher un point.


-------------------------------------------------------------------------------------------------------
Correction
-------------------------------------------------------------------------------------------------------

Exercice 1:

#include <stdio.h>
#include <conio.h>
typedef float point[2];
void main()
{
printf("TAILLE D'UN POINT: %2d OCTETS\n",sizeof(point));
printf("\nPOUR SORTIR FRAPPER UNE TOUCHE ");
getch();
}

Exercice 2:


#include <stdio.h>
#include <conio.h>
#include <alloc.h>
/* cette declaration est normalement dans le fichier µ/
/*d’en-tete typedef char ligne[80]; */
void saisie (ligne *tx)
{
int i;
printf("\n               SAISIE DU TEXTE\n\n");
for (i=0;i<5;i++)
       {
        printf("LIGNE Num %d ",i);
        scanf("%s",tx+i); /* saisie de la ligne nøi */
        }
}
void affiche(ligne *tx)
{
int i;
printf("\n\n\n             AFFICHAGE DU TEXTE\n\n");
for(i=0;i<5;i++)
printf("%s\n",tx+i);
}
void main()
{
ligne *texte;
texte = malloc(sizeof(ligne)*5);/* reserve de la place pour 5 lignes */
saisie(texte);
affiche(texte);
free(texte);
printf("\nPOUR SORTIR FRAPPER UNE TOUCHE ");
getch();
}

Exercice 3:

#include <stdio.h>
#include <conio.h>
typedef struct {int num;float x;float y;} point;
void main()
{
point p[4];/* tableau de points */
int i;
float xx,yy;
/* saisie */
printf("SAISIE DES POINTS\n\n");
for(i=0;i<4;i++)
       {
       printf("\nRELEVE N¯%1d\n",i);
       p[i].num = i;
       printf("X= ");scanf("%f",&xx);
       printf("Y= ");scanf("%f",&yy);
       p[i].x = xx;p[i].y = yy;
       }
/* relecture */
printf("\n\nRELECTURE\n\n");
for(i=0;i<4;i++)
       {
       printf("\nRELEVE N¯%1d",p[i].num);
       printf("\nX= %f",p[i].x);
       printf("\nY= %f\n",p[i].y);
       }
printf("\n\nPOUR SORTIR FRAPPER UNE TOUCHE ");
getch();
}


Exercice 4:

 #include <stdio.h>
#include <conio.h>
void saisie(point *pp,int i)
{
float xx,yy;
printf("\nRELEVE Nø%1d\n",i);
printf("X= ");scanf("%f",&xx);
printf("Y= ");scanf("%f",&yy);
pp->num = i;pp->x = xx;pp->y = yy;
}
void affiche(point *pp)
{
printf("\nRELEVE Nø%1d",pp->num);
printf("\nX= %f",pp->x);
printf("\nY= %f\n",pp->y);
}
void main()
{
point p[4];/* tableau de points */
int i;
printf("SAISIE:\n\n");
for(i=0;i<4;i++)saisie(&p[i],i);
printf("\n\nRELECTURE:\n\n");
for(i=0;i<4;i++)affiche(&p[i]);
printf("\n\nPOUR SORTIR FRAPPER UNE TOUCHE ");
getch();
}

0 commentaires:

Enregistrer un commentaire

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites

 

IP