Aller au menu - Aller au contenu

Cours C / C++ : la partie II est terminée !

Revenir à la liste des news
Participer à la discussion

Informations

Contributeur(s) : M@teo21
Publié : le 01/03/2006 à 23:35:13
Catégorie : Tutoriels

Cours C / C++ : la partie II est terminée !

Hello tout le monde ! :)

C'est avec grand plaisir que je vous annonce que la partie II du cours de C / C++ est enfin terminée ! (et ça n'aura pas été sans mal :p )

Ce ne sont pas 1 mais 2 nouveaux chapitres qui vous attendent dans la fin de la partie II.
Au menu :

Image utilisateur
Chapitre 8 : les allocations dynamiques
C'est le dernier chapitre de théorie pure de la partie II.
Vous apprendrez à utiliser les fonctions malloc et free de la librairie standard du C pour réaliser des allocations manuelles de mémoire. Cela peut paraître un peu déroutant au début, mais c'est une notion essentielle du C à connaître car bien souvent on ne peut pas faire autrement. Prenez le temps de bien comprendre ce chapitre avant de passer au suivant.



Image utilisateur
Chapitre 9 : TP : Réalisation d'un pendu
Après avoir dû emmagasiner toutes ces notions théoriques (pas toujours évidentes j'en conviens) dans la partie II, il nous fallait au moins un TP pour pratiquer tout ça !
Vous allez devoir créer un jeu de Pendu en C. Si cela peut paraître simple au premier abord, détrompez-vous ! Vous allez être amenés à utiliser un peu tout ce qu'on a appris dans la partie II : pointeurs, lecture de fichiers, allocations dynamiques etc.

Pour réussir ce TP, il vous faudra du travail et de la persévérance.
La pratique, vous le savez, ça n'a rien à voir avec la théorie. Quand on est confrontés à un vrai problème, on est obligé de commencer à réfléchir (alors que lorsque vous lisez un cours théorique, vous pouvez vous permettre de somnoler, ça passe généralement inaperçu même au QCM ;) )

En clair, ce TP va donner du fil à retordre à un peu tout le monde et c'est bien. C'est paradoxalement sur un TP récapitulatif comme celui-là que vous en apprendrez le plus.

Bien entendu, ce TP est accompagné d'une correction trrrrès détaillée (un peu trop peut-être ? :D )
J'ai dû retoucher le TP de nombreuses fois, et je mettrais ma main à couper qu'il comporte encore une ou deux erreurs de-ci de-là. Si vous voyez un code illogique (qui ne correspond pas à ce qui est décrit précédemment par exemple), n'hésitez pas à me le signaler pour que je corrige au plus vite. Je me suis déjà relu plusieurs fois, mais j'ai forcément laissé échapper quelques trucs. Enfin normalement c'est bon rassurez-vous :p



Un grand merci aux bêta-testeurs



Je tiens à remercier tous les gens qui ont bêta-testé mes chapitres pendant la partie II. C'était une partie difficile pour vous comme pour moi (à rédiger), et je dois avouer que je suis pas fâché d'en avoir terminé.

Je me dois de citer :

  • rz0 : grâce à lui j'ai évité de transformer la partie II en un amas d'absurdités, ce pour quoi je lui suis reconnaissant :)
  • Les validateurs de tutos (JALeX et DeefeR notamment) : ils repèrent bien souvent des petites erreurs typographiques et me signalent leurs problèmes d'incompréhension
  • Mackila : pour ses conseils avisés en particulier sur le TP du pendu



Et maintenant ?



Bah après la partie II y'a la partie III :p

La partie III sera très différente des parties I et II pour plusieurs raisons. D'abord parce que nous ne travaillerons plus en console, nous apprendrons à ouvrir une fenêtre ou encore à faire du plein écran.
Ensuite parce que la partie III n'enseignera normalement aucune notion théorique nouvelle. Il y aura en particulier probablement pas mal de TP dans cette partie-là.

Image utilisateur
La partie III sera dédiée à l'étude d'une librairie : la SDL. J'aurai l'occasion de vous en reparler plus en détail dans le futur, mais en quelques mots il faut savoir que c'est une librairie très connue que l'on utilise pour réaliser des applications graphiques 2D. Les possibilités offertes par la SDL sont très nombreuses, une fois que vous saurez la manier vous serez capables de vous lancer dans la création de la plupart des jeux 2D que vous connaissez : un casse-brique, un tetris, un Dr. Mario (y'en a qui connaissent pas ce jeu génial ? :p ), un jeu de plate-forme comme Mario Bros pourquoi pas, ou encore un Shoot'em Up de derrière les fagots pour se défouler après une journée harassante ;)


Patience, tout vient à point à qui sait attendre ^^

64 Participations

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page 1  2  3  Suivante
Pseudo Discussion
1 visiteur sur cette news (0 membre et 1 Anonyme)
Page 1  2  3  Suivante
Hors ligne Coyote # Posté le 01/03/2006 à 23:38:41
Avatar
Validateurs

Ville : Beijing
Pays : Chine
Études : INSA Lyon

Matéo, félicitations !!
Tutos de qualité, news impeccable... chapeau l'artiste !




Preum's, comme disent les djeun'z ^^

1) Comment rédiger un tuto
2) Comment faire valider un tuto

“ Au même titre que le bar est fermé, sauf si c'est un poisson, tout travail mérite salaire !”
 
Hors ligne EnMieu # Posté le 01/03/2006 à 23:40:44

A! Superbe, les allocations dynamique du cour! Merci bien :D
Hors ligne fild # Posté le 01/03/2006 à 23:44:30

Yeahh ! merci beaucoup mateo :)

:lol: Fild :D
 
Hors ligne St@rguill # Posté le 01/03/2006 à 23:50:11
j'adoooore les maths !?!
Avatar

Super ! Nous faire attendre pendant toutes les vacances, et nous sortir deux chapitres d'un coup, c'est trop bien !!!
Merci M@teo21

vive la musique lol! Image utilisateur
 
Hors ligne Hawks # Posté le 02/03/2006 à 00:11:49
Myxomatose et pipe en bois
Avatar

Je vais peut etre me mettre au C... Je pourrais me faire un petit Dr Mario ^^
 
Hors ligne Zanorio # Posté le 02/03/2006 à 00:12:09
Avatar

Merci m@teo je mi met tt de suite
Hors ligne patami # Posté le 02/03/2006 à 00:29:07
Avatar

que de boulot ! il en faut du courage pour arriver à faire ça aussi bien et rapidement, gg !
 
Hors ligne B@hamut # Posté le 02/03/2006 à 01:17:59
Profitons de notre seul vie...
Avatar

Super ! J'attend la partie 3 avec impatience :)
Un grand merci pour ces tutos de qualités

(¯`·._.• Lord B@hamut •._.·´¯)
 
Hors ligne domgod # Posté le 02/03/2006 à 02:24:24

moi j'attendais justement la fin de la partie II pour me remettre au C
Hors ligne frk # Posté le 02/03/2006 à 02:50:39

MERCI!!!!!!!!!!!!! Un grand bravo encore une fois, même si ça doit faire un million de fois (minimum) que tu "l'entends" je m'y lance de suite et vivement la partie III :D
Hors ligne bluestorm # Posté le 02/03/2006 à 02:56:43
dont ask to ask
Avatar
Groupe : Anciens
Flux RSS

Ça me paraît très bien.

Juste un petit détail :
Pourquoi ne pas prendre le réflexe d'envoyer un message qui prévient en cas d'erreur (juste avant le exit(0);) ? Un petit "printf("Erreur : l'allocation dynamique est un echec.\n"); pourrait simplifier le débuggage.

D'autre part il me semblait que si le programme avait une fin anormale, on avait intérêt à renvoyer une autre valeur que 0 (0 était le return de 'fin normale') des programmes.
 
Hors ligne xSup3rM4ri0x # Posté le 02/03/2006 à 04:37:33
Who cares ?
Avatar

Merci mat pour ces superbes cours !

Mais j'ai pris du retard moi, j'en suis qu'aux pointeurs :-°
Hors ligne rks` # Posté le 02/03/2006 à 08:59:04
Avatar

Études : Paris 7 Denis Diderot

HOURRAAAAAAAAAAAAAAA !!!!!!
Vive m@teo et ses superbes cours qui sortent avant le fin des vacances !!! :)
Bravo m@teo pour cette rapidité et ces superbes cours !!!
Bon je vous laisse je vais m'y attaquer :p

The Lambda Church
« What we represent to them is freedom. »
 
Hors ligne crazyman140 # Posté le 02/03/2006 à 09:24:19
Avatar

Ville : Lauzerville
Pays : France métropolitaine

Je commençais à peine à m'ennuyer, EH PAF je vois deux nouveaux chapitres dont un TP, je suis maintenant pas prêt à m'ennuyer.

OS: Debian Sid
Navigateur: Firefox 3
 
Hors ligne tutur19 # Posté le 02/03/2006 à 10:14:32
Avatar

MERCI BEAUCOUP !!!!!!!!!!!!
je sais c'est pas recherché mais c'est vraiment ce que je pense.

LA SINCÉRITÉ : « C’est s’exprimer sans déguiser sa pensée »
LA MODESTIE : « C’est parler de soi-même sans orgueil »
LE RESPECT : « Sans respect aucune confiance ne peut naître »
LE CONTRÔLE DE SOI : « C’est savoir se taire lorsque monte la colère »
LA POLITESSE : « C’est le respect d’autrui »
L’AMITIÉ : « C’est le plus pur des sentiments humains »
L’HONNEUR : « C’est être fidèle à la parole donnée »
LE COURAGE: « C’est le plus pur des sentiments humains »
 
Hors ligne hayden # Posté le 02/03/2006 à 10:21:15
EFREI 2013
Avatar

Ville : Betheny
Pays : France métropolitaine
Études : EFREI

genial ! genial ! genial !!
vraiment c'est incroyable ce site est vraiement super
maintenant on attend avec impatience la SDl :d

Image utilisateur
Image utilisateur
Image utilisateur
Si vous souhaitez des informations sur l'EFREI, vous pouvez m'envoyer un MP.
 
Hors ligne acieroid # Posté le 02/03/2006 à 10:44:34
#foo waz here
Avatar
Flux RSS

Études : FSA ULB

Moi, je dis bravo... je crois que personne n'a jamais osé pensé a faire un tuto sur les bases du C, la SDL, OpenGL, J'attend chaque jour les nouveaux chapitres

It's awesom.
 
Hors ligne Avenger # Posté le 02/03/2006 à 11:21:15
... Carpe Diem ...
Avatar

Merci M@teo pour les cors !! 2 pour le prix d'1 youpi !!

Allez juste une petite erreur de français :

"Je me rappelle juste de la première fois que j'ai vu le prototype de malloc"

On dit se souvenir de qqch, mais se rappeler qqch (ok ok je chipote ^^ )
Hors ligne YanisLiadon # Posté le 02/03/2006 à 11:26:13
Avatar

Je suis d'accord avec Bluestorm sur les messages d'erreurs.

Je suis aussi ok avec le code retour, je me suis posé la même question, mais tu confirmes ma réponse ^^

Les codes retour = 0 sont logiquement pour les fins normales de traitement...

M'enfin, en même temps.. si tu affiches une erreur... ca ne pose pas de soucis particulier ^^

Edit : juste un souvenir qui peut ne pas s'avérer exact, pourquoi ne pas faire de cast explicite lors de l'écriture du malloc ? exemple : truc = (int*)malloc(100 * sizeof(int)); je ne souviens plus pourquoi je faisais un truc dans ce genre...

Bluestorm ? une idée ?
 
Hors ligne fgones # Posté le 02/03/2006 à 11:31:23

Comme d'habitude, rien à redire :) Précis et complet. Un vrai bonheur. Je vais attaquer le TP ce week end, comme ça tu peux programmer la prochaine partie pour dans 3 ans et 6 mois, le temps que je finisse ;)

Merci encore !

Idéal Maths
Soutien scolaire tous niveaux à Montauban
www.idealmaths.fr
 
Hors ligne C0c0 # Posté le 02/03/2006 à 11:59:38
Ca y est j'ai une citation !
Avatar

Merci beaucoup mathéo !!!!! Chapeau pour ton boulot !
J'avoue que la fin de la news donne envie :p
 
Hors ligne azerty9 # Posté le 02/03/2006 à 12:19:08
Newbie de profession
Avatar

Félicitation a toi et a toi ceux qui t'ont aidé, ceux qui travaillent d'ans l' "ombre".
Bon je dois aller lire quelque chose, vous savez quoi...

"L'information n'est pas la connaissance. La connaissance n'est pas la sagesse. La sagesse n'est pas la vérité. La vérité n'est pas la beauté. La beauté n'est pas l'amour. L'amour n'est pas la musique. La musique est la meilleure des choses.", Frank Zappa
 
Hors ligne Maryline # Posté le 02/03/2006 à 12:39:05
Avatar

Merci Mathéo!Tu es génial.
Hors ligne Jivy # Posté le 02/03/2006 à 12:44:16
Avatar

Moi qui me disait que sa prenais plus de temps que d'habitude...maintenant je sais pourquoi ^^ En tous cas merci matéo et vivement la partie 3 car la console sa va un moment :p
Hors ligne StyxOnWeb # Posté le 02/03/2006 à 12:49:17
Avatar

Ah, génial, je vais pouvoir relancer ma lecture et mon apprentissage intenssif :D Merci à oi M@téo ! :p
 
Hors ligne Stingy # Posté le 02/03/2006 à 12:55:26
Avatar

Études : Enseirb-Matmeca

merci, c'est très interressant...

je me demandais un truc moi aussi, quelle est la différence entre exit(0); et return 0; car le return 0, lui aussi il fait sortir du main et quitte le programme, que fait en plus l'exit ?

Donne un poisson a un homme, et tu le nourriras pour un jour, apprend lui a pêcher et tu le nourriras pour la vie.
 
Hors ligne rz0 # Posté le 02/03/2006 à 12:56:10
Papa Ours.
Avatar
Flux RSS

Études : Ensimag

YanisLiadon > Ne pas mettre de casts inutiles ; les casts inutiles enlèvent de la lisibilité en complexifiant les expressions et entrainenent plus facilement des erreurs en inhibant les warnings éventuels du compilo ; en plus, cela attire inutilement l'attention du lecteur.
C'est moi qui ai fait changé ça à m@teo, mais cela vient de l'usage :

T *p;
p = malloc(sizeof *p * n);

Que m@t n'a /pas/ introduit pour diverses raisons et qui permet une indépendance totale du type du pointeur pour lequel on effectue l'allocation.
 
Hors ligne M@teo21 # Posté le 02/03/2006 à 14:04:56
Amateur professionnel
Avatar
Admins
Flux RSS

Ville : Paris
Pays : France métropolitaine
Études : EFREI

Stingy > le exit(0) revient grosso modo à faire un return 0 dans le main.

Auteur de 5 livres : HTML5 - C - PHP - Linux - C++
L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai...
 
Hors ligne Vince # Posté le 02/03/2006 à 14:33:51
Freedom !
Avatar

Mais dis moi c'est super ça !!!
Enfin bref OUAISSSSSSSSSS !!!!!!!!!!!!!!!!

Trop bien, je vais me le faire ce TP !! :lol:

Muse - GNU/Linux
 
Hors ligne fock # Posté le 02/03/2006 à 15:36:21
Avatar

Ville : Gerzat
Pays : France métropolitaine

trop bien on vas passer à la SDL trop COOOOOOOL !!!!!
Pour accéder à cette section
Connectez-vous !
connexion_rpx

Revenir à la liste des news