,---------------------------------------------------------------------------------, | [003] | | C tutorial #3 | : so called : ; C presque fini : , . . : Je me suis longtemps demander si jallais finalement sortir ce fameux #3 de mes tutorial sur le C et jai faillit y renoncer lorsque Cubic ma envoyer le sien sur les sockets en C. Finalement je me suis dit que jallais en faire un petit dernier avant de remetre le flambeau a cubic et rew. Cette article est donc un complement au 2 premier a etre paru dans IGA (9 et 10) et un introduction a celui de Cubic, qui est le premier d'une serie donc jignore le chiffre final de tutorial sur les Socket via le langage C. Dans les 2 premiers tutorial, j'avais fait un tour global sur l'utilisation des variable et les controle simpe ( if then else etc :] ). Ce tutorial ne representera pas beaucoup de nouvelle maniere, il va tout simplement vous montrer a mieu structurer vos code pour les rendre plus lisible et plus maleable, je laisserais a cubic et a rew la joie de vous demontrer la complexiter du langage C dans les prochains tutorial qui suiveront. Vous souhaiteriez surement passer tout de suite au programme kick ass qui vous font salivez, bien sur on pourrais le faire, mais vous perdriez le 3/4 de la technique, chaque chose en sont temps, si je vous donne de la bouffe vous allez toujours revenir men queter, si jvous aprend a pecher, vous viendrez pu mecoeurer par apres (arf jaurais jamais penser que ce proverbe la maurais servie ). Bon question de se remetre dans le bain, nous allons revoir quelque principe de base de la programation en C include main() { printf ("hello world"); return 0; } pas pire non? arf, en realiter jva pas pentoute recommencer tout ce que jai dit, vous etes surement assez leet pour aller downloader le IGA 9 et 10 si vous comprennez rien a ce present numero. Comme je le disais dans mon intro nous allons parler ici de la programation par module, What the fuck que c ca? et bien comme un image vaut mille mots et que mille mots vaux sont pesant de K et bien je vais vous f aire un petit exemple et vous lexpliquer par la suite. /* exemple de programme non modulaire */ /* so called, ca laire twit mais rajoute 1000 ligne pi tes perdus */ /* mais pour linstant vous etes ici :] */ #include #include main() { char reponse[3]; printf("veut tu une biere ?\n"); scanf("%s",reponse); if (strcmp(reponse,"oui") == 0) { printf("ok, jtapporte une autre biere\n"); { else { printf(" sti que tu es cheap, jten apporte une pareille.\n"); } return 0; } bon, ca vous avez tous dejas vu ca dans les 2 autres tuto, voicie maintenant ce que ca donnerais si vous coderiez le tout en utilisant des modules. #include #include main() { char reponse[3]; printf("veut tu une biere ?\n"); scanf("%s,reponse"); if (strcmp(reponse,"oui") == 0) { reponse_positive() } then { reponse_negative()] } return 0; } reponse_positive() { printf("ok, jtapporte une autre biere\n"); return 0; } reponse_negative() { printf(" sti que tu es cheap, jten apporte une pareille.\n"); return 0; } hehe, avouez que ca laire useless, jvous donne pas tord sur un exemple de 10 lignes mais regarder bien dans un code un peu plus grand, vous allez voirs que l'on si retrouve un tantinet mieux. ca cetais juste pour vous faire comprendre le principe. bon un peu de theorie sur les variable globale et les variable local. Est appeller variable global, une variable qui peu etre utiliser par nimporte quelle section ou sous section du code afin detre utiliser ou modifier. si vous avec eux des cours de Qbasic a l'ecole, c'est le type de variable que vous avez utiliser. Mais comme les codeur de C sont de gros codeur leet, et bien il prefere utiliser des variable local, c'est a dire des variable qui non foie de loi que dans leur fonction (module) respectif. Mais bon, c'est plus util et plus efficace ainsi, d'ailleur, tout langage qui se respecte utilise cette methode de programation ( VB aussi d'ailleur pour ceux qui viendrais dire que ce n'est pas un langage inteligent) bon comme je dit a chaque foi que jai pu rien a dire: rien de mieu qu'un exemple pour comprendre :] #include #include main() { int haxor; <-------- ceci est une variable globale elle pourrait etre appeller a partir dun autre module, like I_G_A() printf("est tu un leet haxor?\n"); printf("1-->oui\n"); printf("2-->non\n"); scanf("%d",haxor) switch(haxor) { case(1): I_G_A() break; case(2): printf ("salut wzgate/n"); break=; default() { printf ("hacker dont use drug, repond par 1 ou 2") } return 0; } I_G_A() { int nick = 0; <--------- ceci est une variable local, elle ne peu etre appeller et utiliser que a linterrieur de la fonction I_G_A() printf("quelle est ton nick?\n"); printf("1--> __2?\n"); printf("2--> Qwzykx?\n"); printf("3--> Wyzeman?\n"); printf("4--> Bozzo?\n"); printf("5--> Qderf?\n"); scanf("%d",nick); switch(nick) { case(1): printf(" salut __2 taime pas de C queske tu fou dans mon tuto?\n"); break; case(2): printf(" Ouais tu va pouvoir parler dencoding de chip bientot\n"); break; case(3): printf(" si spa moi qui li ca cest que tu es menteur en cacaouette\n"); break; case(4): printf(" quand jetais petit je netais pas grand :]\n"); break; case(5): printf(" jpense pas ke tai besoin de lire ca :]\n); break; default() { printf("brain reset by peers\n"); } return 0; } bon je ne meterneriserais pas des heures dans un principes simple, vous devriez maintenant etre en mesure de comprendre ce qu'est une variable local et une variable globale, sinon, ben vous pouvez toujours allez lire 912 ou QHA :] il font des articles de ratrapage (un peu comme les groupes de mesadapter a l'ecole :] ) passage de variable. Permet de faire circuler une variable local, a une autre fonction. pour ce faire, vous devez indiquez la variable donner dans le call de fonction que vous faite, entre les parentaises prototypage obligatoire dans le cas de variable de type float, vous devez les inclure dans lallee et le retour. ca permet de bien suivre le traitement de ces variable entre autre. bon ici ce termine mes tutorial en C, je sais que celui ci est plutot cour, mais comme larticle qui suis est aussi du C, faudrais pas trop vous bourrez. En passant Cubic me fait dire de ne pas essayer de compiler c'est exemple car il ne se compilerais pas tres bien et cest voullu. Je vous conseille la meme chose pour les miens, car Chicoman n'est pas un gars tres jasant. ; ' . : ; : ' ; Wyzeman : | : |_________________________________________________________________________________|