Exercices corrigés C++ les classes et l’héritage – Partie 1

Avec des exercices corrigés en C++, vous pratiquerez divers concepts du langage C++. Vous commencerez par des exercices C++ de base à des exercices plus avancés. La solution est fournie pour chaque exercice. Vous devez essayer de résoudre chaque problème par vous-même avant de vérifier la solution. Si vous avez des questions concernant chaque problème, nous vous encourageons à les poster sur notre forum.
 
 
Vous pouvez utiliser l’éditeur C++ suivant pour résoudre les exercices suivants: (Cliquez sur l’onglet input si vous souhaitez entrer des valeurs, cliquez sur Run pour exécuter votre programme, le résultat sera affichée sur l’onglet output).
 

 

Exercice 1:

Écrivez une classe « Rectangle » ayant deux variables « a » et « b » et une fonction membre « surface() » qui retournera la surface du rectangle.


#include <iostream>
using namespace std;

class Rectangle {

   public:
   int a,b;
   int surface(){
	   return a*b;
   }
};

int main() {
	
  Rectangle rectangle;
  
  cout<<"Entrez la largeur(a) du rectangle :"<<endl;
  cin>>rectangle.a;
  
  cout<"Entrez la longueur(b) du rectangle:"<<endl;
  cin>>rectangle.b;
  
  cout<<"Surface : "<< rectangle.surface();
  
  return 0;
}
 

Exercice 2:

Écrivez une classe « Somme » ayant deux variables « n1 » et « n2 » et une fonction membre « sum() » qui calcule la somme. Dans la méthode principale main demandez à l’utilisateur d’entrez deux entiers et passez-les au constructeur par défaut de la classe « Somme » et afficher le résultat de l’addition des deux nombres.

#include <iostream>
using namespace std;

class Somme{
   public:
   int n1, n2;

   //constructeur par défaut
   Somme(int nbr1, int nbr2){
      n1=nbr1;
      n2=nbr2;
      cout<<"Les nombres sont initialisés.\n";
   }

   int sum(){
      return n1 + n2;
   }
};


int main (){

	int n1, n2;
	
	cout<<"Entrez le premier nombre : \n";
	cin>>n1;
	
	cout<<"Entrez le deuxième nombre : \n";
	cin>>n2;

	//appeler le constructeur par défaut.
	Somme obj(n1,n2);

	cout<<"Le résultat de l'addition est :"<< obj.sum() <<"\n";

	return 0;
}
 

Exercice 3:

Écrivez une classe C++ appelée « Student » avec les membres suivant :

  • nom (de type char),
  • note1, note2 (de type int)

Le programme demande à l’utilisateur d’entrer le nom et les notes. calc_moy() calcule la note moyenne et show() affiche le nom et la note moyenne.

#include <iostream>
using namespace std;

class Student{

	public:
	string nom;
	int note1, note2;

	Student(string _nom, int _note1, int _note2){
		nom = _nom;
		note1 = _note1;
		note2 = _note2;
	}

	int calc_moy(){
		return (note1 + note2)/2;
	}

	void show(){
		cout << "Étudiant: " << nom << " \n moyenne: "<< calc_moy() << endl;
	}

};

int main(){

	string nom;
	int note1, note2;

	cout << "Entrez le nom: ";
	cin >> nom;
	
	cout << "Entrez les notes de deux matiéres: ";
	cin >> note1;
	cin >> note2;
	
	Student s(nom, note1, note2);
	
	s.show();

	return 0;
}
 

Exercice 4:

Effectuez une opération d’addition sur des nombres complexes à l’aide d’une classe C++ appelée « Complex ». Le programme doit demander la partie réelle et imaginaire de deux nombres complexes et afficher les parties réelle et imaginaire de leur somme.

Exemple:

Premier nombre
Entrez la partie réelle: 1
Entrez la partie imaginaire: 4

Deuxième nombre
Entrez la partie réelle: 2
Entrez la partie imaginaire: 3

La somme est 3 + 7i
#include <iostream>
using namespace std;

class Complex{
	
	public:
	double real, imag;

	Complex(double r, double i){
		real = r;
		imag = i;
	}
};

int main(){

	double r1, i1;
	cout << "Premier nombre \n";
	cout << "Entrez la partie réelle: ";
	cin >> r1;
	cout << "Entrez la partie imaginaire: ";
	cin >> i1;
	
	//créer le nombre complexe 1
	Complex c1(r1, i1);
	
	cout << "Deuxième nombre\n";
	double r2, i2;
	cout << "Entrez la partie réelle: ";
	cin >> r2;
	cout << "Entrez la partie imaginaire: ";
	cin >> i2;

	//créer le nombre complexe 2	
	Complex c2(r2, i2);

	// calculer la somme des deux nombres complexes c1 et c2
	double r = c1.real + c2.real;
	double i = c1.imag + c2.imag;

	cout << "La somme est "<< r << " + " << i << "i";

	return 0;
}
 

Exercice 5:

Créez une classe appelée « Point ». Cette classe doit avoir 2 entiers (x, y) en tant que membres privés. Le constructeur doit définir les valeurs de x et y via des paramètres. La classe doit avoir une méthode publique appelée « distance ». Cela prend un seul paramètre(Point) et renvoie la distance entre les 2 points.


Exemple:

P1 (5,6)
P2 (3,2)
La distance entre P1 et P2 est : 4.47214
#include <iostream>
#include <math.h>

using namespace std;

class Point {
public:
	Point(double _x, double _y)
	{
		x = _x;
		y = _y;
	}
	
	double getX()
	{
		return x;
	}
	
	double getY()
	{
		return y;
	}

	double distance(Point &p)
	{
		const double px = getX() - p.getX();
		const double py = getY() - p.getY();
		
		return sqrt(px * px + py * py);
	}

private:
    double x;
    double y;
};


int main (){
    Point p1(5, 6);
    Point p2(3, 2);
     
    cout << " P1 (" << p1.getX() << "," << p1.getY() << ")" <<  endl;
    cout << " P2 (" << p2.getX() << "," << p2.getY() << ")" <<  endl;

    cout << "La distance entre P1 et P2 est : " << p1.distance(p2);
	
    return 0;
}
QCM C++

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *