onne chance à tous et bien du plaisir savez certainement, pour progresser en informatique, il faut pratiquer le plus possible. C'est en forgeant qu'on devient forgeron. Malheureusement il est parfois difficile de trouver des exercices pour travailler un point particulier du langage. Ce topic a pour but de vous proposer chaque mois un exercice qui approfondi un aspect du langage C++.
Comment ça marche ?
Chaque début de mois, je vous proposerai un exercice avec parfois plusieurs niveau de difficulté. Ces exercices seront conçu de manière à être réalisables en quelques heures si vous avez choisi le niveau correspondant à vos aptitudes.
Vous aurez alors pendant un mois la possibilité de soumettre vos exercices et la meilleure solution proposée par vous, les zéros, sera donnée comme correction à la fin du mois. Si aucune solution valable n'est proposée, je proposerai un corrigé complet de l'exercice.
Si le concept a du succés, il se peut que la cadence augmente un peu.
Quels sujets seront abordés ?
J'aborderai principalement des sujets en rapport avec le cours de M@teo21 qui ne nécessitent aucune bibliothèque tierce. Il y aura principalement des exercices sur les chaînes de caractères, les flux vers les fichiers, des algorithmes simples et la rédaction de classes "classiques". Vous trouverez toutes les informations nécessaires à la résolution des exercices sur ce site, soit dans le tuto de M@teo21, soit dans les différents tutoriels des membres.
Le but est à terme de proposer une sorte de base de données d'exercices disponibles pour tous en marge des tutoriels du site.
Soumission des réponses
Pour proposer votre réponse à l'exercice du mois, il faut envoyer un message privé à: Réponse_Exercices, qui respecte le format suivant:
Mettez dans le titre le mois de l'exercice et votre pseudo:
Exercice MOIS ANNEE - VOTRE_PSEUDO
Par exemple :
Exercice avril 08 - Nanoc
Dans le corps du message, mettez votre code source dans les balises de code, chaque fichier (si il y en a plusieurs), dans un bloc séparé. Si il y a plusieurs niveaux, indiquez quel niveau vous avez choisi.
Merci de ne pas m'envoyer de MP (à Nanoc) pour soumettre vos réponses.
Il ne sert à rien d'envoyer un code qui ne compile pas ou qui ne fonctionne pas !!
Les exercices
Voici la liste des exercices qui ont déjà été proposés:
Pendant les vacances d'été, un exercice supplémentaire au milieu du mois est proposé. Il s'agit d'exercices plus technique et peut-être un peu plus difficile. Dans le tableau ci-dessous, ils sont suivi d'un petit "2" dans la colonne date.
Il ne sert strictement à rien de devenir ami avec Reponse_Exercices. Il se connecte qu'une fois par mois pour récupérer les fichiers envoyés.
Si vous avez des questions sur le fonctionnement du tout, n'hésitez pas à les poser dans ce thread. Si vos questions portent plutôt sur un problème de résolution d'exercice, créez un autre fil pour avoir plus de chance d'être lu !
Si vous êtes dans le monde de Linux, vous connaissez certainement le petit programme "Cowsay". On lui passe une chaîne de caractère en argument et il dessine une vache dans la console ainsi qu'une petite bulle de bande dessinée où se trouve le texte qu'on lui a passé en argument. Par exemple:
Ce que je vous propose c'est de réaliser ce petit programme. Il devra remplir le cahier des charges suivant:
1) Récupérer les arguments du main.
2) Afficher la phrase entrée dans une "bulle" en coupant la phrase au bon endroit (voir l'exemple ci-dessous).
3) Dessiner dessous l'animal (Zozor ?) de votre choix.
4) Utiliser si possible les std::string.
Il ne vous est pas demandé ici d'écrire de classe. Si vous ne savez pas comment faire le point 1, vous pouvez aussi demander à l'utilisateur de rentrer une chaîne après que le programme soit lancé ou consulter le tutoriel disponible dans la catégorie "C": ici.
Si la phrase est trop longue, le programme devra la couper au bon endroit, soit par exemple:
avec un découpage au niveau des espaces si il y en a et après un certain nombre de caractère si il n'y en a pas.
Vous avez jusqu'au 30 avril pour soumettre vos réponses à Réponse_Exercices.
Bonne chance à tous !
EDIT: Ajout du lien pour le tuto C sur les arguments du main et changement des images.
De toute façon, je ne pense avoir les connaissances suffisantes (args de main, par exemple), ni la volonté d'être bourrin au point de dessiner un vache à grands coups de cout
Non, mais ça m'intéresse de davoir comment t'as gérer les espaces sans.
@Raphamil: Tu peux aussi, comme propoé, demander à l'utilisateur de rentrer une chaîne après le début du programme. Pour les arguments du main y a un tuto sur ce site, dans la partie "C".
Je t'es envoyé mon code, tu as qu'a regarder, je savait pas que quand on m'était des apostrophe sa fessait que un paramètre. Ça veut dire que ce que j'ai fait était pas du tout ce que tu attendais.
@mt9: Quel intéret ? Je peux par contre indiquer quelques erreurs courantes qui ont été faites. Mais montrer les "plus moches" pour avoir ensuite des trucs du genre "Pfff UnTel est un n@@b il c pas codé", non merci.
Serait-il possible d'avoir plus d'info sur ce que tu entends par bon ou mauvais programme/code car pour cet exercice, on peut tout faire dans le main (qui sera très gros) ou découper le code en pleins de fonctions. C'est juste pour avoir une idée !!!
@MicBeastKiller:
En général on dit: Une tâche = une fonction.
Tout dépend de l'interprétation que tu fais de cette phrase. Disons que tout dans le main n'est pas une bonne manière de présenter le code.
@danman:
A la fin du mois. Je vais pas changer maintenant alors que je commence à recevoir des réponses intéressantes.
@djo0012:
Le prochain exercice traitera des classes.