Partage
  • Partager sur Facebook
  • Partager sur Twitter

Création d'instruction.

    2 janvier 2008 à 10:28:03

    Bonjour


    Voila vous m'avez compris.
    Comment on peut créer une fonction avec des paramètres pris en compte?

    Je pensais a 2 trucs.
    Un fichier ou dedans on fait une enorme fonction qui fait ce que l'instruction fait.
    Ou alors avec les headers dans les macros.

    Donnez moi vos avis comment font les créateurs du C?
    Comment est faite la libraire car moi j'ai regardé rapidement j'ai rien compris.


    Merci de m'expliquer
    • Partager sur Facebook
    • Partager sur Twitter
      2 janvier 2008 à 10:41:18

      Créer une fonction ?

      Quel genre de fonction ?
      Je ne comprends pas bien ce que tu veux dire.

      Tu crées les fonctions que tu veux, avec les parametres que tu veux ! :) )

      1. int truc(int param1,float param2,double param3);
      • Partager sur Facebook
      • Partager sur Twitter

      Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

        2 janvier 2008 à 12:04:07

        Non créer une sorte de system()
        Mais apr exemple je veux créer un truc qui permet de créer un fenetre SDL, une instruction

        Je mets : SDLwin(1024,748);
        Voila l'insctruction que je veux créer.
        Je dois utiliser quoi?
        • Partager sur Facebook
        • Partager sur Twitter
          2 janvier 2008 à 12:06:55

          API WIN32 ou X11 sous linux
          • Partager sur Facebook
          • Partager sur Twitter
            2 janvier 2008 à 12:08:48

            Citation : Jaloyan1

            Mais apr exemple je veux créer un truc qui permet de créer un fenetre SDL, une instruction

            Je mets : SDLwin(1024,748);
            Voila l'instruction que je veux créer.
            Je dois utiliser quoi?


            Ce n'est pas une instruction, mais une fonction.

            Avant d'aller plus loin, as-tu lu le chapitre sur les fonctions du tutoriel de M@teo ?
            • Partager sur Facebook
            • Partager sur Twitter
            Music only !
              2 janvier 2008 à 12:09:36

              quoi?(noob4ever)

              Je veux créer une fonction comme system.
              Comment ils ont fait ceux qui ont créé le C?


              edit : j'ai pas vu ton message ed
              donc je dis oui j'ai lu le chapitre.


              J'ai pas compris a 100%
              Mais je suis ent rain de faire un nombre collossal d'exemples pour bien comprendre a 100%
              • Partager sur Facebook
              • Partager sur Twitter
                2 janvier 2008 à 12:16:42

                Citation : Jaloyan1

                quoi?

                Je veux créer une fonction comme system.
                Comment ils ont fait ceux qui ont créé le C?


                Le C est divisé en 2 parties :

                Le noyau (c-core) qui comporte les mots clés, la syntaxe, les instructions de base, les opérateurs etc.

                La bibliothèque de fonction (c-library) qui est décrite en termes d'interface et de comportement. Le codage est réalisé par chaque 'implémenteur' du langage sur telle ou telle plateforme.

                system() est une des fonctions de la bibliothèque.

                Si j'ai bien compris, tu veux écrire une fonction. Pourquoi pas, c'est l'activité principale du programmeur C. (Par contre, elle ne fera pas partie de la bibliothèque du C, mais on pourra créer une bibliothèque 'tierce' pour elle si tu souhaites la réutiliser et la diffuser).

                Alors explique quelle est l'interface de la fonction (son prototype) et son comportement attendu.

                • Partager sur Facebook
                • Partager sur Twitter
                Music only !
                  2 janvier 2008 à 12:17:26

                  continue tes tests :)

                  la fonction systeme a comme prototype :

                  1. int system(const char*);


                  Donc une fonction tout ce qu'il y a de plus normal...

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

                    2 janvier 2008 à 12:21:50

                    exemple, comme je suis trop fatigués(vous demanderez a mes doigts, ils vous diront que je les maltraites) de créer des fenetres en C, j'aimerai créer une fonction qui permet de créer une fenetre a la dimension choisie.

                    Je connait deja son prototype.

                    int SDLwindows(int longueur,int largeur);
                    • Partager sur Facebook
                    • Partager sur Twitter
                      2 janvier 2008 à 12:41:04

                      Citation : Jaloyan1

                      exemple, comme je suis trop fatigués(vous demanderez a mes doigts, ils vous diront que je les maltraites) de créer des fenetres en C, j'aimerai créer une fonction qui permet de créer une fenetre a la dimension choisie.

                      Je connait deja son prototype.

                      1. int SDLwindows(int longueur,int largeur);

                      OK, C'est relativement clair (encore que le rôle de la valeur retournée n'est pas spécifié). Maintenant, il faut écrire la fonction qui crée la fenêtre. Je suppose que c'est à base de fonctions SDL.

                      Ca commence comme ça :
                      1. int SDLwindows(int longueur,int largeur)
                      2. {
                      3.    /* a toi d'ecrire la suite */
                      4. }


                      • Partager sur Facebook
                      • Partager sur Twitter
                      Music only !
                        2 janvier 2008 à 12:43:59

                        oui ca je sais et c'est tout bete?
                        Comme ca?
                        Il y a pas besoin de créer des fichiers .h?
                        Ben ok merci
                        • Partager sur Facebook
                        • Partager sur Twitter
                          2 janvier 2008 à 12:47:26

                          Les fichiers .h servent dans des moyens et gros projets. Si tu n'as qu'une fonction, cela ne sert à rien de faire un .h mais je pense que tu devrais bien (re)lire le cours sur la programmation modulaire. Il n'y a rien de compliqué si t'es bien attentif à tout ce que M@teo21 dit.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            2 janvier 2008 à 12:49:32

                            Citation : Jaloyan1

                            oui ca je sais et c'est tout bete?
                            Comme ca?
                            Il y a pas besoin de créer des fichiers .h?
                            Ben ok merci


                            On verra après. Chaque chose en sont temps. Commence déjà par écrire une fonction qui tiens la route, parce que c'est pas gagné. Il est possible qu'il soit nécessaire de faire évoluer l'interface...
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Music only !
                              2 janvier 2008 à 18:26:48

                              1. #include <stdlib.h>
                              2. #include <stdio.h>
                              3. #include <SDL/SDL.h>
                              4. void pause();
                              5. int SDLwindows(short  longueur, short largeur);
                              6. int main()
                              7. {
                              8. SDLwindows(800,600);
                              9. return 0;
                              10. }
                              11. int SDLwindows(short  longueur, short largeur)
                              12. {
                              13.     SDL_Init(SDL_INIT_VIDEO); // Initialisation de la SDL
                              14.     SDL_SetVideoMode(longueur, largeur, 32, SDL_HWSURFACE); // Ouverture de la fenêtre
                              15.     pause(); // Mise en pause du programme
                              16.     SDL_Quit(); // Arrêt de la SDL
                              17. }
                              18. void pause()
                              19. {
                              20.     int continuer = 1;
                              21.     SDL_Event event;
                              22.     while (continuer)
                              23.     {
                              24.         SDL_WaitEvent(&event);
                              25.         switch(event.type)
                              26.         {
                              27.             case SDL_QUIT:
                              28.                 continuer = 0;
                              29.         }
                              30.     }
                              31. }




                              Voila.
                              Chez moi ca marche pour 800*600.
                              Mais c'est aussi simple que ca?
                              • Partager sur Facebook
                              • Partager sur Twitter
                                2 janvier 2008 à 18:58:37

                                Oui, c'est aussi simple que ça, ou preque:

                                - ta fonction SDLwindows renvoie un int selon le prototype que tu as choisi, mais quand tu la définis, tu ne renvoies rien, donc il y a un problème;
                                - pourquoi est-ce que tu mets en pause le programme dans
                                la fonction de création de la fenêtre? La fonction SDLwindows crée une fenêtres aux dimensions voulues et c'est tout!
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  2 janvier 2008 à 19:09:47

                                  Citation : Jaloyan1

                                  Chez moi ca marche pour 800*600.
                                  Mais c'est aussi simple que ca?


                                  Bah oui...

                                  Considérant les bonnes remarques de toupi, je ferais comme ça :
                                  1. #include <SDL/SDL.h>
                                  2. void pause (void)
                                  3. {
                                  4.    int continuer = 1;
                                  5.    while (continuer)
                                  6.    {
                                  7.       SDL_Event event;
                                  8.       SDL_WaitEvent (&event);
                                  9.       switch (event.type)
                                  10.       {
                                  11.       case SDL_QUIT:
                                  12.          continuer = 0;
                                  13.       }
                                  14.    }
                                  15. }
                                  16. void window (int longueur, int largeur)
                                  17. {
                                  18.    SDL_Init (SDL_INIT_VIDEO);   // Initialisation de la SDL
                                  19.    SDL_SetVideoMode (longueur, largeur, 32, SDL_HWSURFACE); // Ouverture de la fenêtre
                                  20. }
                                  21. int main (int ac, char **av)
                                  22. {
                                  23.    window (800, 600);
                                  24.    pause ();                    // Mise en pause du programme
                                  25.    SDL_Quit ();                 // Arrêt de la SDL
                                  26.    return 0;
                                  27. }

                                  Pose des questions si tu ne comprends pas.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Music only !
                                    2 janvier 2008 à 19:48:22

                                    Ah ca y est le déclic!

                                    J'ai tout compris sur tout le chapitre les fonctions!
                                    Ah mais comment est ce que peut créer une libraire du genre pratiqueSDL.h?
                                    car j'aqi peut etre envie de el emtre dans mon compilateur car c'est hyper pratique.
                                    Mais comment est ce que l'on peut faire?
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      2 janvier 2008 à 20:17:38

                                      Citation : Jaloyan1

                                      J'ai tout compris sur tout le chapitre les fonctions!
                                      Ah mais comment est ce que peut créer une libraire du genre pratiqueSDL.h?


                                      Pour la 1000ème fois, un . h n'est ni une library ni une bibliothèque, mais un fichier d'en-tête. Je ne sais pas pourquoi c'est si difficile à comprendre...

                                      Citation : Pas de titre


                                      car j'aqi peut etre envie de el emtre dans mon compilateur car c'est hyper pratique.


                                      Purée, c'est quoi ce charabia ? Jamais tu te relis ?

                                      Citation : Pas de titre


                                      Mais comment est ce que l'on peut faire?

                                      Tu relis le chapitre sur la programmation modulaire
                                      Tu fais un fichier séparé pour cette fonction (mysdl.c) et d'autres à venir...
                                      Tu crées un header (fichier d'en-tête : mysdl.h) que tu inclues au début de mysdl.c)

                                      Commence déjà par faire ça correctement. Tu peux lire ça aussi :

                                      http://mapage.noos.fr/emdel/codage.htm

                                      Une fois que c'est au point (on veut le voir), tu peux créer la bibliothèque :

                                      http://mapage.noos.fr/emdel/codage.htm#bibliotheque
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Music only !

                                      Création d'instruction.

                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                      • Editeur
                                      • Markdown