Partage
  • Partager sur Facebook
  • Partager sur Twitter

Refonte du cours C

13 mars 2018 à 23:32:29

b0nj0urlem0nde a écrit:

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


T'as vérifié ...??? 😕 si oui ça a marché ?
  • Partager sur Facebook
  • Partager sur Twitter
14 mars 2018 à 10:36:12

En fait, sous linux, on peut très bien faire afficher des caractères accentués en C. Y a juste que sous windows qu'on a du mal, dans la console.

<troll>mais qui aurait l'idée stupide d'utiliser windows pour écrire des programmes ? </troll>

-
Edité par michelbillaud 14 mars 2018 à 10:37:35

  • Partager sur Facebook
  • Partager sur Twitter
23 mars 2018 à 19:32:03

bonjour alors voila y'a un exercice trop dur avec les tableau :

Créez une fonction sommeTableau qui renvoie la somme des valeurs contenues dans le tableau (utilisez un return pour renvoyer la valeur). Pour vous aider, voici le prototype de la fonction à créer :

int sommeTableau(int tableau[], int tailleTableau);

Pour l'instant avec le cours on a créer ça :

void affiche(int *tableau, int tailleTableau);
int main(int argc, char *argv[])
{
 int tableau[4] = {10, 15, 3};
affiche(tableau, 4);
return 0;
}
void affiche(int *tableau, int tailleTableau)
{
int i;
for (i = 0 ; i < tailleTableau ; i++)
{
printf("%d\n", tableau[i]);
}
}

et je comprend pas pourquoi cette solution marche pas :

void affiche (int tableau[], int tailletableau);
int sometableau (int *tableau, int tailletableau);

int main(int argc, char *argv[])

{

    int tableau[4] = {12,25};

affiche(tableau,4);    //nomfonction(variable, variable )



    return 0;
}

void affiche (int tableau[], int tailletableau) //Pas obligé de mettre nombre tableau entre crochet//
{
int i;
    for(i=0;i<tailletableau;i++)
    {
        printf("%d\n", tableau[i]);
    }

}

int sometableau (int *tableau, int tailletableau)
{
    *tableau = tableau [0]+ tableau[1]+ tableau[2]+ tableau[3];
    return tableau[];
}

Merci pour votre patiente :D

  • Partager sur Facebook
  • Partager sur Twitter
24 mars 2018 à 7:29:57

La fonction doit etre capable de travailler avec des tableaux de n'importe quelle taille.  Pas seulement 4.
  • Partager sur Facebook
  • Partager sur Twitter
24 mars 2018 à 11:23:43

Bonjour

Dans le cours C, il est dit que le fonction void * malloc() renvoie un pointeur "void *". 

Mais la je ne comprends pas vraiment, pour moi un pointeur c est quant le * est devant l'"objet". 

Et puis void ne renvoie rien justement vu qu il n y a pas de return non ?

Je trouve que ce n est pas clair ce passage du cours.

-
Edité par Tristan DAN V2 24 mars 2018 à 11:24:43

  • Partager sur Facebook
  • Partager sur Twitter
24 mars 2018 à 11:32:44

BrunoHapp a écrit:

b0nj0urlem0nde a écrit:

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


T'as vérifié ...??? 😕 si oui ça a marché ?



  • Partager sur Facebook
  • Partager sur Twitter
25 mars 2018 à 13:19:58

tristanaa a écrit:

Bonjour

Dans le cours C, il est dit que le fonction void * malloc() renvoie un pointeur "void *". 

Mais la je ne comprends pas vraiment, pour moi un pointeur c est quant le * est devant l'"objet". 

Et puis void ne renvoie rien justement vu qu il n y a pas de return non ?

Je trouve que ce n est pas clair ce passage du cours.

-
Edité par tristanaa hier à 11:24


Ce qu'il faut comprendre c'est que le type des objets retournés par la fonction malloc() est void *, c'est à dire une adresse non typée.

Quand tu écris, "un pointeur c'est quand * est devant l'objet", ça laisse penser qu'il y a effectivement un gros problème de vocabulaire et de précision dans les concepts.  Un pointeur, c'est pas "quand". Un pointeur, c'est une donnée qui contient une adresse.

de même pour "void ne renvoie rien". void, int, float, ce sont des mots clés, et les mots clés ne renvoient rien.  En fait il y a plusieurs usages de "void" en C.

  • le premier c'est pour déclarer une fonction ne retourne pas de valeur
void afficher_tableau(int tableau[], int taille) 
{

}

et qu'il ne sera donc pas raisonnable d'écrire

   toto = afficher_tableau(t, 12);      // incorrect
  • le second, c'est pour préciser qu'une fonction ne prend jamais aucun paramètre
    int lire_temperature(void) {
    
       return 33;
    }
    
  • Le troisième c'est pour former un type "pointeur non typé (générique)".

Plus d'explications sur les pointeurs => http://www.labri.fr/perso/billaud/travaux/Pointeurs/pointeurs.html

-
Edité par michelbillaud 25 mars 2018 à 13:20:46

  • Partager sur Facebook
  • Partager sur Twitter
26 mars 2018 à 19:00:38

Bonjour 

Je suis qu'au début de la deuxième partie sur le lanage C et je trouve qu'il manque de TP concret.

Avec de veritable application. 

  • Partager sur Facebook
  • Partager sur Twitter
26 mars 2018 à 23:24:51

Tout à fait d'accord pour des applications concrètes. Je propose une petite calculatrice et des jeux. Cela suffit-il ?
  • Partager sur Facebook
  • Partager sur Twitter
27 mars 2018 à 8:54:12

Ça ne répond pas la question : qui va s'y coller ?
  • Partager sur Facebook
  • Partager sur Twitter
27 mars 2018 à 12:49:12

La calculatrice y’est deja il faudrait trouver d’autres mais cela reste toujours vaste étant donné que tout est possible 

Avant de trouver une personne il faut trouver des TP

  • Partager sur Facebook
  • Partager sur Twitter
5 mai 2018 à 23:12:20

Salut! je débute en programmation C et j'ai du mal à résoudre clairement les exercices sur le chapitre des tableaux dans le cours.
  • Partager sur Facebook
  • Partager sur Twitter

By IgweDu237

10 mai 2018 à 15:57:43

Dans le jeu du plus et du moins, il faudrait montrer comment s'assurer que l'utilisateur entre bien un int et non pas un char, dès qu'il y à des boucles dans le programme c'est plus la même histoire !
  • Partager sur Facebook
  • Partager sur Twitter
10 mai 2018 à 16:21:44 - Message modéré pour le motif suivant : Message complètement hors sujet


10 mai 2018 à 17:03:32 - Message modéré pour le motif suivant : Réponse à un HS


On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

13 mai 2018 à 16:27:13

Nouvelle version de la SDL (SDL2-2.0.8)

Cette nouvelle version de la SDL induit beaucoup en erreur les débutants et les personnes suivant le cours. 

Cette nouvelle version supprime certaines fonctions et en ajoute des nouvelles. 

Exemple tout simple lors de l'ouverture d'un fenêtre : 

// ouverture d'une fenêtre

/*  
    SDL-1.2.15
*/

SDL_Surface *ecran = NULL;
ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);

/* *****VS**** */

/*
    SDL2-2.0.8
*/

SDL_Window *ecran = NULL;
ecran = SDL_CreateWindow("Ma fenetre", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN);

Il existe un "Guide de Migration" entre la SDL-1.2.15 et la SDL2-2.0.8 à cette adresse : https://wiki.libsdl.org/MigrationGuide 

Je pense que ceci devrait être modifié.

Bonne journée

romainj78



  • Partager sur Facebook
  • Partager sur Twitter
15 mai 2018 à 5:22:33

Ce tutoriel sur le C est vieux et ancien. M@teo21 ne le maintient pas et ne compte pas le maintenir.

Au niveau de la SDL2, il ce tutoriel : https://zestedesavoir.com/tutoriels/1014/utiliser-la-sdl-en-langage-c/
Pour ce qui est du langage lui même, vous trouverez ce cours : https://zestedesavoir.com/tutoriels/755/le-langage-c-1/

  • Partager sur Facebook
  • Partager sur Twitter

🍊 - Étudiant - Codeur en C | Zeste de Savoir apprenez avec une communauté | Articles  - ♡ Copying is an act of love.

21 mai 2018 à 16:18:56

Perso, j'en suis à cette chaine : https://www.youtube.com/channel/UCS2e0hEJMhwd6bNscS60xTg

Malgré de très légers défauts très superficiels, c'est très pédagogique.

  • Partager sur Facebook
  • Partager sur Twitter
21 mai 2018 à 18:19:47 - Message modéré pour le motif suivant : Message complètement hors sujet


27 mai 2018 à 23:08:26

Bonsoir.

Je trouve vraiment dommage que quelqu'un ne prenne pas un peu de temps pour refaire ce cours. C important quand même ;p

  • Partager sur Facebook
  • Partager sur Twitter
28 mai 2018 à 11:02:42

CedricAden a écrit:

Bonsoir.

Je trouve vraiment dommage que quelqu'un ne prenne pas un peu de temps pour refaire ce cours. C important quand même ;p


C'est important au point que tu serais prêt à payer combien ? :-)

  • Partager sur Facebook
  • Partager sur Twitter
29 mai 2018 à 16:53:26

Bonjour à tous les zéro,  je suis en train de suivre le cour C de Mateo, je n'avai pas encore rencontré de gros problème dans le suivi du cours mais le tp sur la visualisation spectrale pose problème car FMOD et en version 11.10.05 et le cours est basé sur la 3.75 si j'ai bien suivie .De plus le tp est basé sur une fonction qui n'existe tout simplement plus dans cette version comme d'autre constante d'ailleur .J'essai de trouver un équivalent à cette fonction mais j'avoue qu'entre la doc C les classes C++ et les différent api (bas level etc) j'ai un peu de mal à mis retrouvée et du coup pas le tp et pour l'instant pas faisable dans l'etat ce qui est assez désagréable  .Donc si possible d'avoir dans le prochain cours des libs à jours serait vraiment bien .Au passage si quelqu'un connait la fonction de remplacement de FMOD_Channel_GetSpectrum je suis preneur .

  • Partager sur Facebook
  • Partager sur Twitter
29 mai 2018 à 17:24:20

jfrax a écrit:

Bonjour à tous les zéro,  je suis en train de suivre le cour C de Mateo, je n'avai pas encore rencontré de gros problème dans le suivi du cours mais le tp sur la visualisation spectrale pose problème car FMOD et en version 11.10.05 et le cours est basé sur la 3.75 si j'ai bien suivie .De plus le tp est basé sur une fonction qui n'existe tout simplement plus dans cette version comme d'autre constante d'ailleur .J'essai de trouver un équivalent à cette fonction mais j'avoue qu'entre la doc C les classes C++ et les différent api (bas level etc) j'ai un peu de mal à mis retrouvée et du coup pas le tp et pour l'instant pas faisable dans l'etat ce qui est assez désagréable  .Donc si possible d'avoir dans le prochain cours des libs à jours serait vraiment bien .Au passage si quelqu'un connait la fonction de remplacement de FMOD_Channel_GetSpectrum je suis preneur .


Il y a un paquet de choses qui ne sont plus à jour :

CodeBlocks ...

SDL 1.2 ...

Et c'est sans parler de l'approche global qui est assez mauvaise (français, factorisation du code, ...), il n'y a qu'a voir les pratiques des débutants sur ce forum ...

Et pourtant le 7 février 2017 on nous parlait de quelques mois ...

Mateo21 a écrit:

Fvirtman a écrit:

A mon avis, Mathieu Nebra a fait son tuto de C il y a plus de 10 ans, et comme il a depuis monté sa boite, il fait davantage de la gestion ou autre, et je pense même qu'il na pas retouché au langage C depuis des années.

Donc a mon avis, s'il y a une évolution du tuto en C, ça ne viendra pas de lui.


Mathieu Nebra ne fait effectivement plus de C depuis un moment, et manque un peu de temps pour mettre à jour son cours (mais ça ne l'empêche pas d'en écrire de nouveaux, tiens, en voici un sur Bitcoin ;o).

En fait, on va avoir quelqu'un qui va travailler sur la mise à jour des cours de C et de C++ très bientôt (on l'a identifié). Donc la mise à jour va avoir lieu dans les mois qui viennent normalement.

Je crains que le cours de C soit tout en bas de la liste de priorité d'OC ...

C'est bien dommage car il s'agit encore aujourd'hui d'un des forums les plus actifs du site. Et sans nul doute un des principaux point d'accès pour les nouveaux.

  • Partager sur Facebook
  • Partager sur Twitter
Si debugger, c’est supprimer des bugs, alors programmer ne peut être que les ajouter - Edsger Dijkstra
29 mai 2018 à 18:14:29

damjuve a écrit:


Je crains que le cours de C soit tout en bas de la liste de priorité d'OC ...

C'est bien dommage car il s'agit encore aujourd'hui d'un des forums les plus actifs du site. Et sans nul doute un des principaux point d'accès pour les nouveaux.


ce qui crée de fait une ouverture pour la concurrence (faisons monter les prix !).
  • Partager sur Facebook
  • Partager sur Twitter
29 mai 2018 à 20:28:19

salut ... chaque programme c doit contenir au moins une directive préprocesseur je veux une réponse svp
  • Partager sur Facebook
  • Partager sur Twitter
29 mai 2018 à 20:41:16

AichaAmmar a écrit:

salut ... chaque programme c doit contenir au moins une directive préprocesseur je veux une réponse svp


Très bien mais où est ta question? Bien que ce soit un peu HS il me semble

-
Edité par Mogwhite 29 mai 2018 à 20:43:45

  • Partager sur Facebook
  • Partager sur Twitter
29 mai 2018 à 22:25:56

AichaAmmar a écrit:

salut ... chaque programme c doit contenir au moins une directive préprocesseur je veux une réponse svp


Faux. Crée un sujet, ce sera discuté.

-
Edité par edgarjacobs 29 mai 2018 à 22:26:37

  • Partager sur Facebook
  • Partager sur Twitter

On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

29 mai 2018 à 23:35:43

S'il vous plaît pourrais-je m'ajouter  à la discussion?? 

  • Partager sur Facebook
  • Partager sur Twitter
30 mai 2018 à 9:07:11

MickaelNgomedj1 a écrit:

S'il vous plaît pourrais-je m'ajouter  à la discussion?? 


Si c'est pour parler de la refonte du cours C, c'est le bon endroit.

Sinon, crée un sujet dans le forum le plus approprié à la question (avec un bon titre, les éléments complets pour qu'on puisse répondre utilement, etc).

  • Partager sur Facebook
  • Partager sur Twitter
31 mai 2018 à 14:49:59

Un truc qui pourrait être sympa c'est d'avoir un cour sur le C qui se passe d'un IDE, et qui va expliquer le makefile comment et pourquoi on l'utilise de même donner une charte de programmation pourrait être pas mal ça éviterais de voir des programmes qui font mal au yeux.

Même si pour beaucoup c'est trivial, créer du code qu'on ne pourra pas relire ou recompiler dans un an (car on à changé d'IDE / ou qu'on a appris à écrire correctement) c'est vraiment pas cool.

La partie sur le makefile peut faire l'objet d'un tuto à part de même une charte de prog peut être une annexe au cours mais ça n'en reste pas moins vital, (en tant que chef DEV en industrie, un programmeur qui code pas en suivant les règles recommence son travail).

De même une petite initiation au copyright et license est indispensable.

:-)

-
Edité par ox223252 31 mai 2018 à 14:51:29

  • Partager sur Facebook
  • Partager sur Twitter

la connaissance est une chose qui ne nous appauvrit pas quand on la partage.

Mon GitHub