Tp1: Prise en Ma (2inh) Utilisation de Codeblocks: Yosra Fatnassi 1° Master Aii Objectifs
Tp1: Prise en Ma (2inh) Utilisation de Codeblocks: Yosra Fatnassi 1° Master Aii Objectifs
Tp1: Prise en Ma (2inh) Utilisation de Codeblocks: Yosra Fatnassi 1° Master Aii Objectifs
Utilisation de CodeBlocks
Yosra fatnassi
1° master AII
Objectifs :
– Créer un projet dans CodeBlocks ;
– ´Ecrire des programmes en C/C++ avec CodeBlocks ;
Exercice 1
Réécrire le programme suivant, en ne faisant appel qu'aux nouvelles
possibilités d'entrées sorties de C++, donc en évitant les appels à printf
et scanf :
#include<stdio.h>
#define PI 3.14159
main(){
int r; float p, s;
printf("donnez le rayon entier d'un cercle:");
scanf("%d",&r);
p=2*PI*r;
s=pi*r*r;
printf("le cercle de rayon %d ",r);
printf("a un perimetre de %f et une surface de
%f",p,s);
}
La correction en c++ :
#include<stdio.h>
#include<iostream>
Using namespace std ;
Const float pi=3.14;
Int main()
{
Int r;
Float p,s;
Cout<<"donnez le rayon entier d'un cercle:";
Cin>>r ;
P=2*pi*r ;
S=pi*r*r ;
Cout<<r;
Cout<<p<<s;
Return 0;
}
Exercice 2
Le programme suivant est correct en C. Corriger les erreurs qui sont
détectées par un compilateur C++ et utiliser les nouvelles possibilités
d'E/S du C++.
main(){
int x1=10, x2=15, y1;
y1=f(x1);
printf("valeur de f(x1)=%d," , y1);
printf("valeur de f(x2)=%d", f(x2));
}
f(int x){ return x*x-3; }
La correction en c++ :
#include<iostream>
Using namespace std ;
Int f(int x);
Int main()
Int x1=10,x2=15,y1;
y1=f(x1) ;
cout<<"valeur de f(x1)="<<y1<<"\n";
cout<<"valeur de f(x2)="<<f1(x2)<<"\n";
}
f(int x){return (x*x-3); }
Exercice 3
Le programme suivant est correct en C. Réécrire ce programme en
utilisant au plus les nouvelles possibilités du C++.
#define MAX 10
struct duree {
unsigned int h;
unsigned int m;
};
typedef struct duree Duree;
Duree sum(Duree* x, int n){
int i;
unsigned int somme_h=0, unsigned somme_m=0;
Duree d;
for(i=0; i<n; i++) {
somme_h+=x.h;
somme_m+=x.m;
}
somme_h+=somme_m/60;
somme_m%=60;
d.h=somme_h;
d.m=somme_m;
return d;
}
int main(){
Duree d;
Duree tab[MAX];
sum(tab,5);
return 0;
}
Note
Dans les exercices suivants, différentes fonctions vous sont
demandées. Ecrire prototypes des fonctions dans un fichier
d'entête (.h) et leur définitions dans ".cpp". Ecrire une fonction
principale dans un troisième fichier utilisant ces fonctions.
Utiliser les instructions d'inclusion conditionnelles du
préprocesseurs (#if !defined(X), #define X et #endif).
La correction:
#include<iostream>
Using namespace std ;
#define MAX 10
struct duree {
unsigned int h;
unsigned int m;
};
typedef struct duree Duree;
Duree sum(Duree*x, int n){
int i;
unsigned int somme_h=0;
unsigned somme_m=0;
Duree d;
for(i=0; i<n; i++) {
somme_h+=x->h;
somme_m+=x->m;
}
somme_h+=somme_m/60;
somme_m=60;
d.h=somme_m;
d.m=somme_m;
return d;
}
int main(){
Duree d;
Duree tab [MAX];
sum(tab,5);
return 0;
}