Je m'avance peu être, mais le projet n'aboutiras sans doute jamais.
Whaou c'est vraiment dommage ! On est sur une plateforme d'e-learning OpenClassRooms doit adapter ces cours au nouveau besoin du marcher et surtout au nouvelle amélioration des langages de programmation
Oui, mais ceux qui payent l'abonnement (premium), ils savent pas que le cours C est périmé / mauvais, donc ça les dérange pas de payer. Du coup, pourquoi OC devrait payer pour un cours que les gens suivent quand même ?
Bonjour, je ne sais pas si ça été déjà remonté mais, il me semble, qu'il y ait une erreur sur l'intiation au pointeur. Sur le cours, vous expliquez que pour afficher respectivement l'adresse et la valeur à l'adresse du pointeur, il faut coder ça :
int age = 10;
int *pointeurAge = &age;
printf("Pour voir adresse : %d\n", pointeurAge);
printf("Pour voir valeur : %d\n", *pointeurAge);
Or ceci ne compile pas pour moi, donc j'ai du écrire ça pour avoir le résultat attendu :
int age = 10;
int *pointeurAge = &age;
printf("Pour voir adresse : %p\n", pointeurAge);
printf("Pour voir valeur : %d\n", *pointeurAge);
Chez moi (GCC) ça compile avec %d mais affiche un warning. Cela dit je crois que le format %d est forcément faux sur une machine 64 bits où il faudrait un %ld. On voit que le cours est ancien...
Attention: les participants du forum ne sont pas les auteurs du cours, et - sauf exceptions rares - n'ont rien à voir avec les activités de la société OpenClassrooms, à part qu'ils utilisent les forums.
Si on veut d'adresser à l'auteur du cours, il y a surement un moyen de lui écrire directement.
L'âge du cours n'y est pour rien dans ce cas, car on trouve déjà "%p" dans le K&R. C'est une petite erreur.
Oui mais %p affiche le résultat en hexadécimal. Utiliser %d avait donc l'avantage d'afficher l'adresse en base 10. Par exemple chez moi :
#include <stdio.h>
int main(void)
{
int x = 10 ;
printf("Adresse en hexadécimal : %p\n", &x) ;
printf("Adresse en base 10 : %ld\n", &x) ;
}
donne deux warnings :
zzz.c: In function ‘main’:
zzz.c:6:12: warning: format ‘%p’ expects argument of type ‘void *’, but argument 2 has type ‘int *’ [-Wformat=]
printf("Adresse en hexadécimal : %p\n", &x) ;
^
zzz.c:7:12: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘int *’ [-Wformat=]
printf("Adresse en base 10 : %ld\n", &x) ;
et les résultats suivants :
Adresse en hexadécimal : 0x7fffbf6e86d4
Adresse en base 10 : 140736405079764
Le nombre du haut est bien la version hexadécimale de celui du bas (j'ai vérifié). Donc le but, à un warning près (mais l'autre aussi donne un warning, alors bon), est d'obtenir l'adresse en base 10. Sur les ordinateur 32 bits, le format %d permettait de l'obtenir, d'où ma remarque sur l'ancienneté du cours...
La fonction printf étant variadique, pour bien faire il faut indiquer explicitement les conversions vers les types qui correspondent top-moumoute avec les formats
jarrive pas a compiler le TP il m'affiche erreur sur le crochet et c pas la 1ere fois qu'elle.et je suis completement bloquet quand l'erreur est afficher au niveau du crochet
Le crochet est cassé, il faut en acheter un autre à la quincaillerie. C'est des spécialistes, ils pourront surement t'aider sans voir ni le code source, ni le message d'erreur, eux.
Je vais traduire le message de **@michelbillaud** pour toi : crée ton propre sujet sur le forum (là tu pollues un sujet qui n'a rien à voir avec ton problème) et dans ce sujet poste ton code et le message d'erreur.
Le premier post est à jour quant au remarque ou y-a-t-i un résumé des idées qui a été fait il y peu de temps????? Je ne veux pas polluer le forum en répétant des remarques déjà faites et inclues dans le projet(qui ne sortira potentiellement jamais comme vous l'avez justement remarqué).
On peut considérer que les forums ne font plus partie de la stratégie marketing d'OC, qui
Les ont viré des liens visibles de leurs pages
Ont planqué l'accès dans un sous menu en bas
Cassent regulierement l'éditeur de messages
S'arrangent pour que les pages ne soient pas indexées par les moteurs de recherche
L'impression que ça donne c'est que les forums sont conservés juste pour pas que la presse informatique fasse des papiers sur "openclassroms ferme le célèbre forum site du zéro de la grande époque qui était mieux avant".
L'impression que ça donne c'est que les forums sont conservés juste pour pas que la presse informatique fasse des papiers sur "openclassroms ferme le célèbre forum site du zéro de la grande époque qui était mieux avant".
Quelle est l'alternative francophone la plus intéressante/prometteuse ?
(À titre personnel j'aimerais lire un cours qui s'appuie sur un C récent, vu que j'ai du mal à comprendre certaines nouveautés... Et puis ce serait probablement le premier du genre en français ‒ même le cours de Zeste de Savoir, qui est plus récent, s'appuie sur le C89.)
Je passe juste pour préciser que cette affirmation n'est plus correcte : le cours de Zeste de Savoir s'appuye désormais sur la norme C11. Pour le reste, je vous souhaite bon courage pour la refonte du tuto de ce site.
Très bonne nouvelle ! (Du coup je comprends pourquoi ce cours avait été mis récemment en première page : pour sa mise à jour je suppose.) Merci pour l'info !
J'ai découvert le cours "apprenez à programmer en c" à l'époque du SiteDuZéro, et j'ai décidé de m'y remettre que maintenant...
Ma question était de savoir si le cours était toujours valable en 2019, mais après avoir vu ce topic et ses différentes intervention, j'ai le sentiment que la réponse pourrait être mitigée ?
Est-il toujours intéressant pour quelqu'un d'absolument débutant en programmation de se lancer dans la lecture et l'analyse de ce cours, aujourd'hui ? Ou serait-il davantage judicieux de me tourner ailleurs ?
Il est plus complet et surtout en principe à jour. Après celui d'OC n'est pas non plus complètement nul et tu vas apprendre à coder en C correctement (mais sur une norme qui fête ses 30 cette année 🎂😉).
Il faut arrêter d'essayer de ré-inventer la roue chaque fois, comme on dit...
Faire un cours de C, alors qu'il y en a des tonnes sur le net, des gens ont fait du C depuis sa création et ils font fait des quantités énormes de cours C, et dans toutes les librairies, graphiques 2D, sonores, 3D, scientifiques, etc.
ça sert franchement à quoi un nouveau cours de C ?
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
la connaissance est une chose qui ne nous appauvrit pas quand on la partage.
Mon GitHub