A l'aiiiiiiiiiiiiiiide

neothman Messages postés 3 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 16 décembre 2006 - 15 déc. 2006 à 23:30
cs_LOWLYMAN Messages postés 10 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 19 mars 2007 - 19 mars 2007 à 16:37
bonjour a tous
voici trois exercice de base en C++ mais avec lesquels j'ai eu quand meme un peu de dificulté faut le dire :s :s :s

si quelqun pourrai me donner la correction je lui en serai entierement reconaissant

merci a tous voici les 3 exo :

Exercice 1 :


1. Pour définir des objets, on doit utiliser
les classes ?  les structures ? les ensembles ?


Illustrer par un exemple.


2. Le concept de classes imbriquées et celui d’héritage sont pareils. Vrai ?  faux ?
Justifier votre réponse.
Illustrer par un exemple.


3. Pourquoi utilise-t-on
A / la surcharge des fonctions ? Donner un exemple de surcharge.
B / les fonctions amies ? Illustrer par un exemple
C / les constructeurs ? Donner un exemple




Exercice 2 :


Corriger la syntaxe du programme suivant et dresser la table d’exécution :


float taxe (float) ;


void main();
{
float achat = 1000, mt_taxe, total;
int a,b=5,c=10;
 cout << "\nMontant de l'achat : ";
// cin >> achat
  mt_taxe = taxe(achat);
 total = achat + mt_taxe;
cout << "\n Achat : " << achat;
 cout << "\n Taxe: " << mt_taxe;
 cout << "\n Total: " << total;
a=b*3+c/2;
b+==2;
c-=3;
cout <<"\n"<< a<<"  "<<b<<"  "<<c;
}


float taxe (float);
    {
        float taux = 0.2;
return(montant * taux);
}


 


Exercice 3 :


1. Créer un fichier « module.h » qui permettra de déclarer et définir la classe module (identification des cours enseignés, par exemple).
a. Un module a les attributs suivants :
- Code (entier, par exemple
- intitulé (chaîne de caractères, par exemple : Les réseaux)
- nombre d’heures (entier, par exemple : 45)
- enseignant (chaîne de caractères, par exemple : Mr ALAMI)
b. Définir les méthodes suivantes :
- saisir() : fonction qui permet de saisir un module
- afficher(int) : fonction qui permet d’afficher le module dont le code est donné en argument
- afficher() : fonction qui permet d’afficher tous les modules


2. Ecrire le programme de test « test.cpp » utilisant la classe « module »


// Tout ce qu’il faut  pour
// Saisir n modules  (n est un entier connu)
// Afficher les n modules
// Saisir un code module
// Afficher le module dont le code est renseigné


merci d'avance  

8 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
15 déc. 2006 à 23:52
Bravo pour ce titre explicite!

Je trouve les questions un peu bizarres (écrites dans un francais approximatif en plus), mais passons...

Dis-nous a quel endroit tu bloques, car le but n'est pas qu'on te donne directement toutes les réponses

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
neothman Messages postés 3 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 16 décembre 2006
16 déc. 2006 à 02:02
bon voila je propose ma version et vous me corriger ( c'est mieux ainsi non?? ) :


exercice 1 :


1- pour definir les objet on utilise bien sur les classes exemple :
  class etudiant
  {
          private :
               int code_etudiant;
               char nom_etudiant[30];
              
          public :


                void saisie();
                void affiche();
  };


2- faux ; classe imbriquées est une classe definie dans une classe alors que l'heritage permet d'utiliser les proprietés d'une classe et en ajouter


d'autres pour obtenir une nouvelle classe plus precise exemple :


class A {
 public:
          void f();
        };
class B : public A {
 void g();
        };
 
.... A a ; B b ;
a.f();   //permis
b.g();  // permis
b.f();   // permis
a.g();  // non permis g() n'est pas dans A




3-a on utilise la surcharge de fonction pour definir des fonctions ayant le meme nom mais avec des arguments en plus ou des arguments


differents : exemple :


int somme (int n1 , int n2)
{ return n1+n2 ; }


int somme (int n1 , int n2 , int n3 )
{return n1+n2+n3; }


double somme (double n1, double n2)
{ return n1+n2;}




3-b-on utilise les classes amies pour faire acceder ces dernieres aux données membres privées d'une autre classe exemple :
class A {
private :
   int i ,nbre;
   char nom;
   friend class B; // B est autorisée a utiliser le i le nbre et le nom
   friend void f();  // f() aussi est autorisée on peut modifier le i ou le nbre a partir de f() directement
public :
     void saisie();
     void affiche();
};


 


3-c on utilise des constructeurs pour construire l'objet avec ses attributs , ses methodes  , pour initialiser les valeurs des attributs .
exemple :


class exemple {
     int i;
     char c;
     public :     exemple() { i 0; c 0 }    // constructeur 1
     exemple(int ii, char cc)               { i ii; c cc }  // constructeur 2
     ;}


exemple ex1(1,'A');        // constructeur 2 appelé
exemple ex2()              // constructeur 1 appelé




=========================================================================================================




exercice 2 :


programme corrigé  :


float taxe (float) ;


void main()
{
float achat = 1000, mt_taxe, total;
int a,b=5,c=10;
 cout << "\nMontant de l'achat : ";
 cin >> achat;
  mt_taxe = taxe(achat);
 total = achat + mt_taxe;
cout << "\n Achat : " << achat;
 cout << "\n Taxe: " << mt_taxe;
 cout << "\n Total: " << total;
a=b*3+c/2;
b+=2;
c-=3;
cout <<"\n"<< a<<"  "<<b<<"  "<<c;
}


float taxe (float montant)
    {
        float taux = 0.2;
return(montant * taux);
}




========== table d'execution ; 
achat= 1000
mt_taxe=1000x0.2=200
total = 1000+200=1200




ecran     :    Achat :  1000
                   Taxe  :     200
                    Total :   1200




a=3x5+10/2=20
b=5+2=7
c=10-3=7


ecran :      a   20    b  7   c   7 


====================================


et pour l'exercice 3 c'est la ou je bloque :s :s  je ne sais pas est ce que je dois declarer deux classes l'une imbriquée dans l'autre et faire apres


un tableau de classe " module" car  y a une fonction " afficher()" qui affiche tout les modules .
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
16 déc. 2006 à 11:08
Pour l'exercice 3, tu peux utiliser un tableau de modules, qui sera une variable statique de la classe.
Dans le constructeur, tu ajoutes this au tableau
Les méthodes saisir et afficher seront du coup statiques elles aussi

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
16 déc. 2006 à 12:52
pas besoin de variable statique, suffit que dans son main il définisse un tableau qui sera transmis par adresse aux différentes fonctions de son test.cpp

le main comportant un menu

appelant différentes fonctions:

saisie
affichage
et recherche

ça me semble bcp plus propre qu'utiliser une variable globale mon cher Vecchio
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
16 déc. 2006 à 12:58
Ca c'est ton avis, mais je vois pas en quoi c'est plus propre

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
neothman Messages postés 3 Date d'inscription vendredi 15 décembre 2006 Statut Membre Dernière intervention 16 décembre 2006
16 déc. 2006 à 17:03
merci pour vos conseils je vous posterai le corrigé des que je l'aurai et un tableau de modules me semble etre la solution la mieu adaptée

merci encore a tous
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
18 déc. 2006 à 13:07
Vecchio, c'est le vieux débat entre variable local & global

pour un mini projet comme ici, il n'y a pas trop de différence dans la facilité de gestion,
mais pour les projets important, voire à plusieur, le controle fin des données me semble indispensable
(quitte à avoir un nombre important de paramètres à nos fonctions.)
les variables globales sont à éviter par principe.

Il n'empeche que j'en ai 2 pour la plupart de mes programmes :
* la langue utilisée
et
* si le mode verbose est employé.

___________________________________________________________
Magicalement
Nono
0
cs_LOWLYMAN Messages postés 10 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 19 mars 2007
19 mars 2007 à 16:37
http://www.cppfrance.com/auteurdetail.aspx?ID=989089
 salut tt le monde, je voudrai un ti coup d main.
j'ai fait un ti jeu de debutant, mais j'ai enconr un probleme concernant, comment vais je construire un fichier pour mettre dedans les pseudos et les scores, po pouvoir à la suite les consulter et les modifier à partir de l'excustion du programme( fenetre DOS).
merci d'avance.
0
Rejoignez-nous