Quel est le résultat des programmes suivants :
1)
#include <stdio.h>
typedef struct point {
int x;
int y;
} Point;
int main (){
Point p1,p2;
p1.x = 0;
p1.y = 1;
p2.x = 3;
p2.y = 7;
printf("p1 :(%d,%d)\n",p2.x, p2.y);
printf("p2 :(%d,%d)\n",p1.x, p1.y);
}
2)
#include <stdio.h>
typedef struct point {
int x;
int y;
} Point;
int main (){
Point p1,p2;
p1.x = 3;
p1.y = 7;
p2 = p1;
printf("p1 :(%d,%d)\n",p1.x, p1.y);
printf("p2 :(%d,%d)\n",p2.x, p2.y);
}
3)
#include <stdio.h>
typedef struct point {
int x;
int y;
} Point;
int main (){
Point p1,p2;
p1.x = 3;
p1.y = 7;
p2.x = p1.y++;
p2.y = --p1.x;
printf("p1 :(%d,%d)\n",p1.x, p1.y);
printf("p2 :(%d,%d)\n",p2.x, p2.y);
}
4)
#include <stdio.h>
typedef struct point {
int x;
int y;
} Point;
Point p;
void creer_point(int x, int y){
Point p;
p.x = x;
p.y = y;
}
int main (){
Point p={0,0};
creer_point(1,1);
printf("p :(%d,%d)\n",p.x, p.y);
}
5)
#include <stdio.h>
typedef struct point {
int x;
int y;
} Point;
Point p;
Point deplacer_point(Point p, int dx, int dy){
p.x += dx;
p.y += dy;
return p;
}
int main (){
Point p={0,0};
p = deplacer_point(p,1,1);
printf("p :(%d,%d)\n",p.x, p.y);
}
Exercice 1
Écrivez un programme qui demande à l'utilisateur de saisir les codes et les noms de dix pays et les affiche à l’écran. Un code est une chaîne de caractères de deux caractères.
Ajoutez pour chaque pays dix villes. Chaque ville est caractérisée par un code (trois caractères), un nom et le nombre d’habitants.
Affichez la liste des pays saisis avec leurs villes.
Modifiez le programme afin de permettre la recherche d’un pays à partir de son code. Si le programme trouve le code, il doit afficher le nom du pays correspondant ainsi que toutes ses informations ; sinon, le programme devrait afficher un message d'erreur.
Exercice 2
Écrivez un programme en C qui permet à un utilisateur d’enregistrer une liste de dix produits vendus par un magasin de vente de chaussures. Les informations à manipuler sont décrite par la structure suivante :
typedef struct produit {
char code[5];
char marque[50];
int taille;
char couleur[10];
float prix;
} Produit;
Produit liste_produits[10];
Après la saisie des produits le programme doit afficher :
1) La liste des produits
2) La liste des produits noirs
3) La liste des produits dont la marque est « Timberland »
Exercice 3
Modifiez le programme précédent afin de permettre à l’utilisateur de saisir également les ventes effectuées. Les informations sur les ventes sont décrites dans la structure suivante :
typedef struct vente{
int num_vente;
Produit produit;
int quantite;
float prix;
}Vente;
Vente liste_ventes[10];
Après la saisie des ventes le programme doit afficher : num_vente, code du produit, marque du produit, taille du produit, couleur, quantité, prix unitaire et prix total.
Exercice 4
Modifiez le programme précédent afin de permettre à l’utilisateur de saisir également les dates des ventes effectuées. La structure des ventes devient ainsi :
typedef struct date {
short jour;
short mois;
short annee;
}Date;
typedef struct produit {
char code[5];
char marque[50];
int taille;
char couleur[10];
float prix;
} Produit;
typedef struct vente {
int num_vente;
Produit produit;
Date date_vente;
int qualtite;
float prix;
}Vente;
Produit liste_produits[10];
Vente liste_ventes[10];
Modifier l’affichage afin d’ajouter aussi les dates des ventes.