Partage
  • Partager sur Facebook
  • Partager sur Twitter

Refonte du cours C

3 décembre 2017 à 0:39:04 - Message modéré pour le motif suivant : Message complètement hors sujet


_AchrafBJ

9 décembre 2017 à 17:23:11 - Message modéré pour le motif suivant : Message complètement hors sujet


9 décembre 2017 à 20:36:25

Bonjour NaguibMohamed.

Ton message est hors sujet et enfreint plusieurs règles d'usage et de savoir-vivre du forum.

Je t'invite à créer ton propre topic dans la bonne section en suivant scrupuleusement les règles générales du forum ainsi que les règles propres à la section où tu postes ton sujet (que tu trouveras parmi les sujets épinglés en haut de la section).

  • Partager sur Facebook
  • Partager sur Twitter

Moderateur forum || FAQ 3D || discord 3D francophone || OC Tweak script

23 décembre 2017 à 3:52:59

Bonjour,

Je termine ces jours-ci le cours, et l'essentiel de mes difficultés (en provenance du cours) tient dans les versions et conditions d'installation des outils : SDL, SDL image, ttf &co. Donc je pense qu'une adaptation aux versions actuelles serait utile.

Concernant le contenu, les commentaires des exercices que j'ai corrigé montrent que la plupart des "élèves" sont débutants en programmation... de mon temps ça se faisait avec un interpréteur basic (ce qui rendait la mise au point des programmes plus facile, j'y reviens juste après) mais ne résolvait pas l'absence de connaissances en informatique de base, algorithmique etc... Donc, créer un cours séparé "d'initiation à la programmation" avec manipulation d'organigrammes pour apprendre à structurer et lourdes explications sur mémoire, données, flux etc... permettrait de recentrer le cours de C sur le C !

La mise au point des programmes... je n'ai pas trouvé de chapitre sur ce sujet. Dès la première application c'est indispensable : comment placer des points d'arrêt, utiliser les fenêtres, faire des fprint dans stdout etc. un chapitre sur l'utilisation de code::blocks qui est finalement tout à fait ok une fois pris en main.

Pour finir, perso j'ai trouvé la progression agréable et un approfondissement des sujets me semblerait le bien venu ; mes programmes "d'exercice" ne ressemblent pas vraiment à ceux du cours. En toute cordialité et avec toute mon admiration pour le résultat, j'ai eu plusieurs fois l'impression que le professeur a "manqué de souffle" pour produire quelque chose de vraiment complet.

Par exemple, un chapitre pour écrire 2 ou 3 fonctions de saisie parfaitement paramétrables, protégées et contrôlées, un (ou deux) autre(s) pour faire un séquentiel indexé, un de plus pour créer un jeu de fonctions pour manipuler des sprites de jeu de plateau... tout ça permettrait d'introduire (et développer) les spécificités du C.

Pour résumer, un peu plus d'approfondissement recentré sur le C pour des programmeurs ayant un minimum d'expérience.

Bon courage !

  • Partager sur Facebook
  • Partager sur Twitter
25 décembre 2017 à 16:45:30

c'est toujours d'actualité la refonte du cours ? 

Qui va se charger de la rédaction etc ??

  • Partager sur Facebook
  • Partager sur Twitter
26 décembre 2017 à 21:14:39

michelbillaud a écrit:

C'est payé combien ?

A mon avis c'est payer 0,00000000001€ bien sur moins la TVA :) 

  • Partager sur Facebook
  • Partager sur Twitter
26 décembre 2017 à 21:44:59

Un bisous sur le front par la community manager je crois.
  • Partager sur Facebook
  • Partager sur Twitter

Moderateur forum || FAQ 3D || discord 3D francophone || OC Tweak script

26 décembre 2017 à 21:55:34

-L0Lock- a écrit:

Un bisous sur le front par la community manager je crois.


C'est déjà pas mal !
  • Partager sur Facebook
  • Partager sur Twitter
24 janvier 2018 à 20:11:58

Bonjour,

Ce serait bien aussi d'avoir une explication sur l'installation de SDL_Image 2.0.2, pour le moment il y a presque rien sur internet pour y arriver.

  • Partager sur Facebook
  • Partager sur Twitter
25 janvier 2018 à 8:02:09

kuma777 a écrit:

Bonjour,

Ce serait bien aussi d'avoir une explication sur l'installation de SDL_Image 2.0.2, pour le moment il y a presque rien sur internet pour y arriver.


Il ne te reste plus, pour le bonheur de l'humanité, qu'à te sacrifier pour l'écrire en partant des explications pour les versions précédentes, et en testant toi-même.

-
Edité par michelbillaud 25 janvier 2018 à 9:41:37

  • Partager sur Facebook
  • Partager sur Twitter
25 janvier 2018 à 8:46:01

2 temps 3 mouvements : sudo apt install libsdl2-2.0-0 libsdl2-dev et eventuellement libsdl2-doc. :p

  • Partager sur Facebook
  • Partager sur Twitter
25 janvier 2018 à 13:04:46

Presque rien pour installer la SDL2 ? 
voici ton presque rien.

Surtout qu'on trouve son bonheur sur le site officiel ( + une doc sympa à lire )

  • Partager sur Facebook
  • Partager sur Twitter
25 janvier 2018 à 14:54:28

il devrait y avoir un cours pour dire qu'il faut lire les documentations.

  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2018 à 4:56:36

Oh

On se calme les gens, c'était juste une suggestion pour le cours...

  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
26 janvier 2018 à 8:06:52

michelbillaud a écrit:

il devrait y avoir un cours pour dire qu'il faut lire les documentations.

Ou plutôt un cours, sur comment utiliser un moteur de recherche.


  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2018 à 9:31:47

Pour ce qui est de lire la documentation, j'avais au départ l'impression que la documentation était quelque-chose de complexe.
A un moment, on passe ce ressentiment et on constate que c'est pas si difficile et que ça permet de dépasser largement ce qui peut être di dans un tuto (qui va faire un choix)
De plus, la documentation de la SDL2 est une des documentation des plus agréable qui m'est été de lire. (franchement ils ont bien fait le taff)

Un cour de comment lire une documentation déjà dans un but de démystifier la bête est une bonne idée.

  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2018 à 9:42:04

Dans ce sens-là, rajouter une partie sur l'utilisation des log, du déboguer et de la gestion des erreurs est une chose qui pourrait être intéressante (et souvent négliger dans les cours pour débutant (voir tout le temps))

  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2018 à 14:43:38

neuneutrinos a écrit:

Pour ce qui est de lire la documentation, j'avais au départ l'impression que la documentation était quelque-chose de complexe.
A un moment, on passe ce ressentiment et on constate que c'est pas si difficile et que ça permet de dépasser largement ce qui peut être di dans un tuto (qui va faire un choix)
De plus, la documentation de la SDL2 est une des documentation des plus agréable qui m'est été de lire. (franchement ils ont bien fait le taff)

Un cour de comment lire une documentation déjà dans un but de démystifier la bête est une bonne idée.


Tous dépend de quelle documentation, la documentation d'Angular 1 étais extrêmement critiqué car elle étais loin d'être simple et lire et pas très bien fichu (de ce que j'en ai entendu, moi j'ai jamais aimer le JavaScript donc mon avis est clairement pas objectif dès le départ).
De plus, chaque documentation s'organise différemment les unes des autres, il y a toujours un temps d'adaptation avant d'être à l'aise avec telle ou telle documentation.

Par contre je suis d'accord pour la documentation de la SDL2, elle est vraiment agréable et on peut même y naviguer très simplement en tapant directement le nom de la fonction/structures/autres dans la barre d'URL.
  • Partager sur Facebook
  • Partager sur Twitter
printf("Les rudiments de la programmation ? Nan mais Hello quoi !");
Anonyme
30 janvier 2018 à 20:53:40

Si tu bosses en ligne de commande : https://youtu.be/Lwx9rSgwoDg  .

Sinon  avec codeblocks  ce tuto m 'a bien servi : https://www.supinfo.com/articles/single/649-comment-installer-sdl-20-codeblocks-windows .

  • Partager sur Facebook
  • Partager sur Twitter
26 février 2018 à 17:44:31

Bonjour,

Dans le chapitre "votre premier programme" section "écrire un message à l'écran" il est dit qu'on ne peut pas afficher d'accents dans la console. Une recherche sur google m'a permis de trouver un tuto qui explique qu'on peut désormais le faire grâce à la bibliothèque wchar.h. Je ne vais pas m'avancer sur le sujet puisque je débute en C mais ça a l'air sérieux.

-
Edité par b0nj0urlem0nde 26 février 2018 à 17:44:58

  • Partager sur Facebook
  • Partager sur Twitter
26 février 2018 à 18:45:45

Bien sûr que c'est possible, c'est juste que l'on ne peut pas le faire de la façon avec laquelle le cours nous apprend le C :

printf("Chloé et Zoé aiment la marche à pied");

Ne fonctionnera pas (enfin si, ça s’exécute, mais le résultat n'est pas celui "attendu").

la bibliothèque wchar permet en effet l'affichage d'accent, mais il n'est pas nécessaire de l'utiliser. L'encodage UNICODE permet de définir pour un nombre, une lettre. Ainsi :

printf("Chlo%c et Zo%c aiment la marche", 233);

fonctionne aussi, mais n'est pas très portable. wchar ne permet rien de plus.

  • Partager sur Facebook
  • Partager sur Twitter

Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

26 février 2018 à 22:59:38

Mais ici, 233 n'est pas le code Unicode de la lettre é. (Je crois que c'est plutôt le code ASCII étendu).

Avec les codes Unicode, j'aurais plutôt fait quelque chose comme :

printf("Chlo\u00e9 et Zo\u00e9 aiment la marche \u00e0 pied") ;

Non ? (Mais c'est du C99.)

-
Edité par robun 26 février 2018 à 23:00:27

  • Partager sur Facebook
  • Partager sur Twitter
27 février 2018 à 4:45:28

Pour ce que je m'en rappelle, il doit y avoir pour gcc des options qui indiquent l'encodage utilisé pour le code source, et celui qu'on veut "en sortie".
  • Partager sur Facebook
  • Partager sur Twitter
27 février 2018 à 8:04:37

En effet, c'est de l'ASCII "étendu", je me suis trompé de terme.

Par contre, chez moi ton coude Uincode ne fonctionne pas...

Je n'utilise pas gcc, mais peux-n'être que l'astuce de michelbillaud marcherait.

  • Partager sur Facebook
  • Partager sur Twitter

Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

27 février 2018 à 11:36:28

Pour être précis

      -fexec-charset=charset
           Set the execution character set, used for string and character
           constants.  The default is UTF-8.  charset can be any encoding
           supported by the system's "iconv" library routine.

       -fwide-exec-charset=charset
           Set the wide execution character set, used for wide string and
           character constants.  The default is UTF-32 or UTF-16, whichever
           corresponds to the width of "wchar_t".  As with -fexec-charset,
           charset can be any encoding supported by the system's "iconv"
           library routine; however, you will have problems with encodings
           that do not fit exactly in "wchar_t".

       -finput-charset=charset
           Set the input character set, used for translation from the
           character set of the input file to the source character set used by
           GCC.  If the locale does not specify, or GCC cannot get this
           information from the locale, the default is UTF-8.  This can be
           overridden by either the locale or this command line option.
           Currently the command line option takes precedence if there's a
           conflict.  charset can be any encoding supported by the system's
           "iconv" library routine.

(man gcc)



  • Partager sur Facebook
  • Partager sur Twitter
27 février 2018 à 12:17:55

On peut parfaitement écrire tout ce qu'on veut dans le source et le voir s'afficher correctement, tout simplement, comme je l'écrivais dans https://openclassrooms.com/forum/sujet/utf-8-en-c-95483

#include <stdio.h>
 
int main(void) {
    puts("La langue arabe (العربية, al ʿarabīya)");
    return 0;
}
shell> gcc -Wall -O arabe.c
shell> ./a.out 
La langue arabe (العربية, al ʿarabīya)
shell>

La difficulté, c'est de correctement configurer son éditeur de texte, son compilateur, et sa console. Encore que sur un Linux récent, tout a tendance à être en UTF-8 par défaut, et il n'y a rien à configurer de plus.
PS1: Sur Windows, je n'y suis pas arrivé.
PS2: A noter qu'il y a pas besoin de wchar_t pour cet exemple.
PS3: Fil avec des démos de wchar_t -> https://openclassrooms.com/forum/sujet/probleme-avec-le-type-wchar-t

-
Edité par Marc Mongenet 27 février 2018 à 12:21:37

  • Partager sur Facebook
  • Partager sur Twitter
27 février 2018 à 19:56:57

vanaur a écrit:

Par contre, chez moi ton coude Uincode ne fonctionne pas...

Et c'est bien du C99 ?

  • Partager sur Facebook
  • Partager sur Twitter
27 février 2018 à 20:29:35

Ça dépend du compilateur en fait, si j'essaye sous Visual Studio, avec le compilateur C "classique" (je pense que c'est le C11, mais je ne suis pas sûr), ça ne fonctionne pas. Par contre, sous GDB, là ça fonctionne.

-
Edité par vanaur 27 février 2018 à 20:29:57

  • Partager sur Facebook
  • Partager sur Twitter

Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

9 mars 2018 à 22:32:42

Mettre plus d'exercices pour assimiler les notions nouvellement apprises et s'assurer qu'on progresse sur des bases solides. Salut.
  • Partager sur Facebook
  • Partager sur Twitter