IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Aide pour un petit programme


Sujet :

C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Aide pour un petit programme
    Salut à tout le monde.

    Je suis nouveau dans la programmation. Que me conseillez-vous comme editeur, complilateur, debugger pour C++? (le meilleur, le plus simple, pas forcément gratuit...) Merci d'avance.

    De plus, dans mes recherces personnelles, j'essaie de 'voir les chiffres' :

    Je m'explique : je voudrais pouvoir dessiner par des points de couleurs la
    position que prendraient une sequence aléatoire de chiffres qui 'tourneraient en rond'.
    C'est-à-dire : je commence à l'etat initial au point de coordonnees (0,0).
    Je prend alors une liste aléatoire contenant des chiffres allant de 0 à 9 (par exemple 5481062143793209... etc)
    Je décide que le point Mi de coordonnées (x,y) va tourner de 90 degrés dans le sens contraire des aguilles d'une montre et avancera dans cette direction en fonction du nombre de cases correspondant à la valeur du chiffre
    pris :
    Au départ :
    * M0=(0,0), (je ne le dessine pas)
    * M1 : Le premier chiffre est 5, donc j'avance de 5 vers la droite [angle zero degre] c-à-d : M1=(5,0) : J'affiche par un pixel ce point (couleur Rouge=0,
    Bleu=0 , Jaune=1)
    * M2 : Le chiffre suivant est 4 et je monte [angle 90 degré] donc de 4 alors M2=(5,4) : J'affiche par un pixel ce point (couleur Rouge=0, Bleu=0 ,
    Jaune=1)
    * M3 : Je recule [angle 180°] de 8 (troisieme chiffre de la liste) : M3=(-3,4) :
    J'affiche par un pixel ce point (couleur Rouge=0, Bleu=0 , Jaune=1)
    * M4 : Je descends [angle 270 ou -90 degres] de 1 case : M4=(-3,3) et je la dessine avec la couleur R=0,B=0,J=1 ...
    * Et j'avance à nouveau, en fonction du chiffre suivant et ainsi de suite...

    Note : S'il arrive que je retombe sur un point deja dessiné, alors je donne
    la couleur (R=0, B=0, J=2) Autant de fois que je retomberais dessus, j'augmenterais J de 1. Arrivé à J=255, j'augmente B de un. A B=255 et J=255 j'augmente alors R jusqu'à R=255, B=255, J=255...(plus de 16 millions de couleurs, ca devrait suffire )

    De plus, pour que le dessin soit compact (entierement 'remplissable') on considère que l'unité des coordonnées est le pixel.

    Je voudrais pouvoir choisir le nombre de chiffres de depart et les dessiner tous. Et a la fin, je veux admirer les paysages obtenus ainsi...

    Etant donné que je suis tres nouveau et que j'ai quelques vagues connaissances de programmation sur TI-92, pourriez vous m'aider à programmer ceci.

    contact : multeamage@yahoo.com

    Merci à tous.

    ciao ciao

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Points : 64
    Points
    64
    Par défaut
    Pour le meilleur éditeur, compilateur et déboggueur t'as différents choix :
    Bordand & Microsoft Visual Studio...
    A toi maintenant de regarder les différentes discussions sur le forum tu devrais trouver un débat sur lequel choisir...

  3. #3
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Bonsoir, et bienvenu.

    Dans le désordre
    1- C'était valable sur USENET, et cela l'est toujours ici : on ne te répondra nulle part ailleurs qu'ici même. Cf les divers textes sur la netiquette qui trainent sur le net.

    2- Cf la page où tous les outils pour coder en C++ sont listés. Et Cf aussi les archives du forums, en particulier, le forum outils je pense

    3- Le graphisme en C++ peut vite devenir problématique dans la mesure où il n'y a rien de standard pour cela. Il faut alors se tourner vers des bibliothèques tierces, qu'elles soient propriétaires ou portables, voire les deux. Apprendre le C++ avec ces bibliothèques n'est pas toujours aisé ni conseillé.


    Un piste peut être d'investir dans le bouquin "je me lance" de Francis GlassBorough qui a été traduit chez Micro Application. Tu y verras les bases du C++ (et uniquement les bases ), comme il se doit (il y a beaucoup de très mauvaises ressources en VF pour les débutants).
    Le deuxième effet kiss-cool du bouquin, c'est qu'il y a un CD avec un environnement de dev pour le C++, et une bibliothèque pour faire des dessins et autres courbes. Bibliothèque utilisée à travers le livre dans les divers exemples et exercices.
    Le bémol, c'est que c'est propriétaire (tu ne verras cette bilbiothèque utilisée nulle part ailleurs -- elle est juste dédiée à l'apprentissage). Et la dernière fois que j'avais vérifié, elle ne pouvait être utilisée que sous Windows.

    Lorsque tu seras "plus grand", il te faudra passer à d'autres outils et bibliothèques. Et à un autre support d'apprentissage.

    Courage.

    PS: Aujourd'hui, Borland est à la bourre en matière de support du C++. Ils doivent cependant être les plus agréables pour aligner des boutons en C++. VS 2005 express doit être le compilo C++ prépackagé (j'élimine donc GCC 4.1 qui n'est pas (encore?) prépackagé) pour windows qui est le plus conforme dans les "gratuits" (façon de parler)
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  4. #4
    Membre confirmé Avatar de aziz jim
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 455
    Points : 567
    Points
    567
    Par défaut
    pour les compilateurs, t'as le choix entre plusieurs outils.tu peux aller jetter un coup d'oeil ici:
    http://c.developpez.com/compilateurs/
    Ce n'est qu'en forgeant qu'on devient forgeron.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup pour ces orientations, j'ai finalement choisi dev c++.

    J'essaye par les tutoriaux de mettre en place mon programme, mais j'ai quelques difficultés, pouvez vous m'aider.

    merci

    ciao ciao

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Points : 711
    Points
    711
    Par défaut
    Bonjour,
    Citation Envoyé par multeamage
    Merci beaucoup pour ces orientations, j'ai finalement choisi dev c++.
    Bien que je le préfère aussi, dev c++ a un gros inconvénient : il n'est plus développé, son programmeur a laissé tomber.

    Puisque tu débutes, je crois qu'il vaut mieux prendre autre chose.
    Compilation sans erreur ne signifie pas programme sans erreur.
    L'indentation n'a pas été imaginée pour faire beau, mais pour faciliter la lecture des programmes.

  7. #7
    Membre habitué Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Points : 146
    Points
    146
    Par défaut
    Personnellement, je te conseillerai d'utiliser l'IDE Code::Blocks car je trouve qu'il est assez facile à prendre en main pour un débutant.
    Athlon 6000+ Dual Core & GeForce 8600 GT -- Ubuntu Gutsy

  8. #8
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    VS 2005 express doit être le compilo C++ prépackagé (j'élimine donc GCC 4.1 qui n'est pas (encore?) prépackagé) pour windows qui est le plus conforme dans les "gratuits" (façon de parler)
    Et c'est surtout un outil pas mal utilisé dans l'industrie et dont la connaissance est souvent exigé par les employeurs.
    De plus le compilo utilisé fait parti des meilleurs.
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  9. #9
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Tout de même! VC++ est simple à utiliser et exiger sa connaissance me parait plus un signe de méconnaissance qu'autre chose. Autant exiger la connaissance d'eclipse pour faire du C++ car il serait utilisé sur un projet. C'est ridicule -- je sais, c'est pourtant une pratique courante. (En plus, il y a déjà bien assez à faire à connaite le C++)

    NB: les compilos *NIX sont pas mal utilisés aussi.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Conversion c++ en c
    Re-salut,

    je voudrais avoir l'equivalent de ces deux uitilitaites en language c s'il vous plait :

    =============debut du 1er utilitaire================
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Uint32 getPixel(SDL_Surface *surface, int x, int y)
    {
        int bpp = surface->format->BytesPerPixel;
         /* Ici p est l'adresse du pixel que l'on veut connaitre */
         Uint8 *p = (Uint8 *)surface->pixels + y * surface->pitch + x * bpp;
     
     
         switch(bpp) {
         case 1:
             return *p;
     
         case 2:
             return *(Uint16 *)p;
     
         case 3:
             if(SDL_BYTEORDER == SDL_BIG_ENDIAN)
                 return p[0] << 16 | p[1] << 8 | p[2];
             else
                 return p[0] | p[1] << 8 | p[2] << 16;
     
         case 4:
             return *(Uint32 *)p;
     
         default:
             return 0; /* Ne devrait pas arriver, mais évite les erreurs */
         }
     }
    ================== fin du 1er utilitaire====================






    =============debut du 2em utilitaire================
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    void setPixel(SDL_Surface *surface, int x, int y, Uint32 pixel)
    {
        int bpp = surface->format->BytesPerPixel;
         /* Ici p est l'adresse du pixel que l'on veut modifier */
         Uint8 *p = (Uint8 *)surface->pixels + y * surface->pitch + x * bpp;
     
     
         switch(bpp) {
         case 1:
             *p = pixel;
             break;
     
         case 2:
             *(Uint16 *)p = pixel;
             break;
     
         case 3:
             if(SDL_BYTEORDER == SDL_BIG_ENDIAN) {
                 p[0] = (pixel >> 16) & 0xff;
                 p[1] = (pixel >> 8) & 0xff;
                 p[2] = pixel & 0xff;
             } else {
                 p[0] = pixel & 0xff;
                 p[1] = (pixel >> 8) & 0xff;
                 p[2] = (pixel >> 16) & 0xff;
             }
             break;
     
         case 4:
             *(Uint32 *)p = pixel;
             break;
         }
     }
    ================== fin du 2em utilitaire====================

  11. #11
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut


    Je ne vois pas ce que tu veux dire: Ces deux fonctions font partie d'une bibliothèque graphique complexe et dépendent des autres types et fonctions de ladite bibliothèque.

    Que veux-tu dire par "l'equivalent de ces deux uitilitaites en language c" ?
    Déjà, qu'est-ce qui est supposé être en langage C ? les deux "uitilitaites" ou l'équivalent ?
    Dans le premier cas, l'équivalent en quoi ?
    Dans le second cas, ça ne veut rien dire, on dirait bien que les fonctions sont déjà en C, et elles n'ont aucun équivalent dans la bibliothèque standard.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 9
    Points : 4
    Points
    4
    Par défaut petits utilitaires
    Ces deux utilitaires sont en c++, moi ce que je veux c'est les avoir en c
    convertir serait le mot correct?

  13. #13
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Citation Envoyé par multeamage
    Ces deux utilitaires sont en c++, moi ce que je veux c'est les avoir en c
    Euh... J'ai bien l'impression que c'est déjà du C...
    Ce n'est pas très clair...
    Qu'est-ce que tu veux en faire ?

  14. #14
    Nouveau membre du Club
    Inscrit en
    Juin 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par multeamage
    Je suis nouveau dans la programmation [...] je voudrais pouvoir dessiner par des points de couleurs [...]
    Je n'ai pas l'impression que quelqu'un t'ai proposé de passer ton chemin, c'est ce que moi je te proposes. Si je suis débutant en programmation et que je souhaite faire du graphisme, je ne m'intéresse pas à C++. Je te conseillerais plutôt de passer par exemple par JAVA qui intègre tout ce qu'il faut en standard pour rapidement dessiner des choses/charger des images.

Discussions similaires

  1. Aide pour un petit programme
    Par Barabin dans le forum Caml
    Réponses: 4
    Dernier message: 25/05/2013, 13h15
  2. Aide pour un petit programme
    Par ssk2510 dans le forum Interfaces Graphiques en Java
    Réponses: 7
    Dernier message: 01/01/2011, 13h54
  3. Besoin d'aide pour un petit programme
    Par Nico35 dans le forum C
    Réponses: 13
    Dernier message: 25/05/2006, 22h21
  4. Aide pour un petit script
    Par perldebutant dans le forum Langage
    Réponses: 4
    Dernier message: 28/03/2006, 21h27
  5. [TPW][cours]Demande d'aide pour finir un programme
    Par jf dans le forum Turbo Pascal
    Réponses: 21
    Dernier message: 16/06/2003, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo