begin process at 2012 05 30 05:43:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

probleme.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme.

vendredi 27 juillet 2007 à 11:31:34 | probleme.

simpateg


je suis encore
debutant sur le c++. je vous en prie j'ai un probleme. j'ai un exercice qui me
casse la tete. il s'agit en fait de deux main deja implementé et qu'il ne faut
pas du tout modifier. tu dois enfait te servir  des affichages et du main pour
implementer les fichiers .h et . cpp que tu aura jugé par toi meme
indispensable pour l'affichage.

voici le premier main:



#include "Dessin.h"
#include <iostream>
using namespace std;
main()
{
        Dessin bonhomme(20,30);
        bonhomme(6 ,25) = 'O';
        bonhomme(14,25) = 'O';
        bonhomme(10,15) = 'V';
        bonhomme(4 ,6 ) = '\\';
        bonhomme(16,6 ) = '/';
        bonhomme(5 ,5 ) = '\\';
        bonhomme(15,5 ) = '/';
        for(int i=6;i<=14;i++) bonhomme(i,5) = '_';
        cout << bonhomme;
        return 0;
}


on devrai avoir cet affichage:






      O       O









          V








    \           /
     \_________/






voici le deuxieme main:


#include "Graphe.h"

#include <iostream>

using namespace std;

main()
{
        Graphe a(50,30);
        Dessin &d = a; // Ceci est juste pour vérifier que vous avez
                       // bel et bien dérivé Graphe de Dessin.
        a.cercle(15,15,14,'a');
        a.cercle(15,14,12,'b');
        a.cercle(15,13,10,'.');
        a.cercle(15,12,8,'!');
        a.cercle(15,11,5);
        a.cercle(15,10,2);

        a.rectangle(40,0,49,9);
        a.ligne(40,0,49,9);
        a.ligne(49,0,40,9);

        cout << a;
        return 0;
}



on devrai avoir aussi cet affichage:



            aaaaaaa
         aaa       aaa
       aa             aa
      aa    bbbbbbb    aa
     a   bbb       bbb   a
    a   bb           bb   a
   aa  b    .......    b  aa
   a  b   ...     ...   b  a
  a  bb  ..         ..  bb  a
  a bb  .    !!!!!    .  bb a
  a b  .   !!     !!   .  b a
 a  b .   !         !   . b  a
 a bb .  !           !  . bb a
 a b .. !    .....    ! .. b a
 a b .  !   ..   ..   !  . b a
 a b . !   .       .   ! . b a
 a b . !  ..       ..  ! . b a
 a b . !  .   ...   .  ! . b a
  abb. !  .  .. ..  .  ! .bba
  a b..!  .  .   .  .  !..b a
  a b . ! .. .. .. .. ! . b a           ..........
   abb. !  .  ...  .  ! .bba            ..      ..
   aabb. !  ..   ..  ! .bbaa            . .    . .
    a b . !  .....  ! . b a             .  .  .  .
     a b ..!!     !!.. b a              .   ..   .
      aabb...!!!!!...bbaa               .   ..   .
       aabbb.......bbbaa                .  .  .  .
         aaabbbbbbbaaa                  . .    . .
            aaaaaaa                     ..      ..
                                        ..........




voici ce que j'ai fais pour le premier main:



*********************************fichier Dessin.h *************************



#include<iostream>

class Dessin {
private:
        char * tableau;
        unsigned int width, height;

public:
        Dessin(unsigned int x, unsigned int y); // taille du dessin
        ~Dessin();

        char& operator() (unsigned int row, unsigned int col);      // surcharge de
l'opérateur                                                                       //() pour faire :                                                               //"bonhomme(6 ,25) = 'O';"
        char operator() (unsigned int row, unsigned int col) const;


        // pour faire "cout << bonhomme;"
        friend std::ostream& operator<<(std::ostream &os, const Dessin &dessin);

};








********************************fichier Dessin.cpp***************************




#include<iostream>
#include"Dessin.h"



Dessin::Dessin(unsigned int x, unsigned int y):tableau(NULL), width(x),
height(y)
{
        tableau = new char[width*height];
        memset(tableau, 0, sizeof(char)*width*height);
}





Dessin::~Dessin()
{

        if(tableau)
        {
                delete [] tableau;
                tableau = NULL;
        }
}



char& Dessin::operator() (unsigned int row, unsigned int col)
{
        return tableau[col*width+row];
}




char Dessin::operator() (unsigned int row, unsigned int col) const
{
        return tableau[col*width+row];
}



std::ostream& operator<<(std::ostream &os, const Dessin &dessin)
{
        for(unsigned int j=dessin.height-1;j>0;j--)
        {
                for(unsigned int i=0;i<dessin.width;i++)
                        os << dessin(i, j);
                os << std::endl;
        }
        os << std::endl;

        return os;
}




tout marche bien main le deuxieme main me bloque. il s'agit de l'affichage d'un
cercle dont les parametres sont, les cordonnees du centre, le rayon et le
caractere pour le dessin. pouvez vous m'aider?

merci





moi c'est simpat; etudiant en faculté de genie informatique et genie logiciel à l'université virtuelle africaine.
vendredi 27 juillet 2007 à 11:47:30 | Re : probleme.

juju12

Salut simpat;
Le deuxième utilise la classe Graphe donc a priori c'est celle là qui plante. Pourrais-tu mettre le code (Graphe.h et .cpp)?
vendredi 27 juillet 2007 à 13:29:07 | Re : probleme.

rt15

Membre Club Administrateur CodeS-SourceS
Salut,

Bah y a une multitude de solution pour trouver les coordonnées des caractères...

Par exemple, quelque chose comme ça :

for (float f = 0 ; f < 2 * pi ; f += delta)
{
  int x = rayon * cos(f) + centre_x;
  int y = rayon * sin(f) + centre_y;
}



vendredi 27 juillet 2007 à 16:02:28 | Re : probleme.

simpateg



moi c'est simpat; etudiant en faculté de genie informatique et genie logiciel à l'université virtuelle africaine.
vendredi 27 juillet 2007 à 16:11:12 | Re : probleme.

simpateg

en fait, le probleme c'est de developper les methodes Graphe.h et Graphe.cpp. pourrai avoir un exemple de fichier Graphe.h et Graphe.cpp?

moi c'est simpat; etudiant en faculté de genie informatique et genie logiciel à l'université virtuelle africaine.
vendredi 27 juillet 2007 à 18:47:27 | Re : probleme.

juju12

Et bien il faut que tu crées une classe Graphe dérivant de Dessin, et avec des méthodes Rectangle,Cercle...comme proposé par rt15.

lundi 30 juillet 2007 à 09:05:32 | Re : probleme.

simpateg


là je suis d'accord! le veriatble probleme c'est de developper les methodes cercle, rectangle et ligne.


moi c'est simpat; etudiant en faculté de genie informatique et genie logiciel à l'université virtuelle africaine.


Cette discussion est classée dans : int, dessin, main, unsigned, bonhomme


Répondre à ce message

Sujets en rapport avec ce message

Argument argv[] en (int) [ par thebigbang ] Bonjour,Je cherche comment récupérer une variable entière à partir de la cette fonction main() :int main(int argc, char * argv[] ){...return 0;}Je vou main() [ par pratix ] bonjour ,suite aux conseils que l'on ma donné , j'ai revu un petit programme de recherche de nbr qui était assez compliqué pour ce qu'il avait à faire scanf() [ par clb ] bonjour à tous,j'ecris par exemple :int fonction(){ if(true) return 0; else return -1}dans main, si cette fonction retourne 0,alors j'appli Hexadécimal HELP ! [ par Xentor ] Bonjour,Mon problème est le suivant : je vient d'effectuer un AND sur une variable, et celle ci, bien que conservant son type unsigned int se met en h Fch. Header :: CONIO.H [ par TontOnDuWeb ] Pour ce que ca interesse (avec vc++ les fonctions suivantes e sont pas incluse (du moins je crois...))>>#if !defined(__CONIO_H)#define __CONIO_H#if !d main [ par payen ] salut,en fouillant un peu sur le site, j'ai vu qu'on pouvait declarer le main comme ca:int main(int argc, char * argv[], char * env[])a quoi correspo conversion constante en hexa ->unsigned long ou int ??? [ par andrealphus ] 4ndr&@lphu$rebonjour à tous et toutes,mon nouveau probleme est ridicule mais gênant...comment peut on convertir un nombre hexadécimal (du style l'adre Comment compiler GTK sous Visual?? [ par pierru ] Bonjour,je me suis récemment mis a GTK, et lorsque je compile un prog pour faire une fenetre toute simple ca bug... Comment compiler un main du type:i problème avec les templates [ par vecchio56 ] J'ai un petit problème en voulant compiler ceci (avec visual C++ 6): ////////////////////////////////////// Truc.htemplate class Truc{public: Truc(in pb de retour( du tableau) de ma fonction [ par airwann ] bonjour,j ai un problème comment dois je modifier l'entête de ma fonction pour recupérer le tableau de structure 3 d alloué dynamiquementmerci d avanc


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,646 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales