# Je me mets au C

**URL:** <https://www.debian-fr.org/t/je-me-mets-au-c/8416>\
**Category:** Pause Café\
**Created:** [Février 20, 2016, 4:06 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416 "2016-02-20T16:06:38Z")\
**Posts on this page:** 20\
**Page:** 13

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/241 "2016-02-20T16:08:07Z")

</div>

en fait comme je t’ai dis, tu lui dis de “faire” un executable PlusMinus1.0.0.  
Il regarde dans le répertoire, et il voit qu’il y a un.c, et ça, il sait sans qu’on lui explique comment en faire un executable.  
Ensuite, quand tu auras decoupé dans des fichiers différents et qu’il faudra rassembler tout ensemble, tu lui diras comment regrouper les choses, vaguement, et il se dépatouillera pour executer ce qu’il faut.  
Mais tu verras ça à l’usage.  
Et ça ne marche pas qu’avec un .c, mais avec toute sorte de choses.

---

<div class="post-metadata">

**Author:** ![wavesound](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/w/54ee81/32.png) [@wavesound](https://www.debian-fr.org/u/wavesound)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/242 "2016-02-20T16:08:08Z")

</div>

Hé ben, je vais me mettre à make. ![8)](https://www.debian-fr.org/uploads/default/original/1X/ae031e9834d19166598edd060b063d44f1829139.gif "Cool")

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/243 "2016-02-20T16:08:08Z")

</div>

pas fini les exos 😆

---

<div class="post-metadata">

**Author:** ![wavesound](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/w/54ee81/32.png) [@wavesound](https://www.debian-fr.org/u/wavesound)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/244 "2016-02-20T16:08:08Z")

</div>

Rooooh ! 😆

Oui, je sais c’est important. 😉  
Ca arrive bientôt ! 🙂

---

<div class="post-metadata">

**Author:** ![wavesound](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/w/54ee81/32.png) [@wavesound](https://www.debian-fr.org/u/wavesound)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/245 "2016-02-20T16:08:09Z")

</div>

[quote=“mattotop”]2/[quote=“mattotop”]bon, déja le principe d’une fonction:

`void toto(void){
return 0;
}`1/là, si tu as lu un peu le lien sur les fonctions, qu’est elle sensée faire et pourquoi le compilateur va t il râler ?  
2/Comment la corriger ?  
3/Ensuite, tu pourra faire la fonction qui récupère le choix.[/quote]  
3/quote="mattotop"  
alors remarques/questions:

- combien de fois va être executée choix = renvoieChoix ?
- faireAddition, faireSoustraction, faireMultiplication, faireDivision n’auraient pas par hasard une similarité dans leur comportement ?
- (plus subtil mais que tu comprendras mieux si tu reponds à la précèdente) renvoieAutreCalcul n’est pas un peu spécifique ? est ce qu’une fonction qui prend une chaine de caractère et renvoie vrai ou faux selon ce qu’on répond ne serait pas plus utile pour plein d’autres trucs plus tard ? Si tu vois ce que je veux te dire: que donne ton algorithme une fois modifié avec cette fonction ?[/quote]  
ça fait encore quelques exercices en suspend 😉[/quote]  
Roh c’est long… Mais je vais essayer de faire un effort.

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/246 "2016-02-20T16:08:10Z")

</div>

prends ton temps, tu bosses pour toi 😉

---

<div class="post-metadata">

**Author:** ![thialme](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/50afbb/32.png) [@thialme](https://www.debian-fr.org/u/thialme)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/247 "2016-02-20T16:08:10Z")

</div>

A cette allure la, vous allez faire exploser le nombre de posts 😃

---

<div class="post-metadata">

**Author:** ![wavesound](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/w/54ee81/32.png) [@wavesound](https://www.debian-fr.org/u/wavesound)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/248 "2016-02-20T16:08:10Z")

</div>

Je pense que return n’a rien à faire dans une fonction de type void, étant donné que dans ce cas on ne doit rien retourner à main.  
Pour corriger, il faut :

- soit supprimer le return afin de ne rien retourner (comme ce doit l’être avec void)
- soit modifier la variable de la fonction (par exemple chat, int, long, float ou double) auquel cas return peut rester en place

---

<div class="post-metadata">

**Author:** ![wavesound](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/w/54ee81/32.png) [@wavesound](https://www.debian-fr.org/u/wavesound)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/249 "2016-02-20T16:08:10Z")

</div>

Ah, emacs en graphique, c’est bon mangez-en. 😛

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/250 "2016-02-20T16:08:11Z")

</div>

[quote=“wavesound”]Je pense que return n’a rien à faire dans une fonction de type void, étant donné que dans ce cas on ne doit rien retourner à main.  
Pour corriger, il faut :

- soit supprimer le return afin de ne rien retourner (comme ce doit l’être avec void)
- soit modifier la variable de la fonction (par exemple chat, int, long, float ou double) auquel cas return peut rester en place[/quote]on va considèrer ça comme bon, la première réponse je n’y avais pas pensé. Le but était que tu voies l’utilisation d’une valeur de retour.  
C’est quoi comme type, chat ?  
Maintenant, écris renvoieChoix.

---

<div class="post-metadata">

**Author:** ![Ashgenesis](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/57b2e6/32.png) [@Ashgenesis](https://www.debian-fr.org/u/Ashgenesis)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/251 "2016-02-20T16:08:11Z")

</div>

Je suis globalement d’accord pour une fonction quelconque par contre la fonction main est obligatoirement du type int et renvoit obligatoirement 0

La syntaxe minimale de la fonction main est

`int main (void){
    return 0;
}`

Je sais Matt je fais chier le monde mais c’est fait pour 😉

---

<div class="post-metadata">

**Author:** ![Yoko](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/y/58956e/32.png) [@Yoko](https://www.debian-fr.org/u/Yoko)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/252 "2016-02-20T16:08:11Z")

</div>

> [@](#):
>
> Ah, emacs en graphique, c’est bon mangez-en. 😛

vi en texte est good… et vachement pratique!

---

<div class="post-metadata">

**Author:** ![wavesound](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/w/54ee81/32.png) [@wavesound](https://www.debian-fr.org/u/wavesound)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/253 "2016-02-20T16:08:12Z")

</div>

Oups, erreur de frappe…

char (comme character pour prouver ma bonne foi) et pas chat.  
Ben quoi, le r est tout près du t sur le clavier, non ?

---

<div class="post-metadata">

**Author:** ![wavesound](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/w/54ee81/32.png) [@wavesound](https://www.debian-fr.org/u/wavesound)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/254 "2016-02-20T16:08:13Z")

</div>

[code]#include \<stdio.h\>

int toto(void)  
{  
/\* On déclare la variable renvoieChoix. \*/  
char OU int OU long OU float OU double renvoieChoix;

```
return 0;

```

}

int main(void)  
{  
toto(void);

```
return 0;

```

}[/code]

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/255 "2016-02-20T16:08:13Z")

</div>

Non:

- je ne te demande QUE la fonction renvoieChoix
- elle doit faire l’affichage, demander le choix, et renvoyer le résultat.

---

<div class="post-metadata">

**Author:** ![wavesound](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/w/54ee81/32.png) [@wavesound](https://www.debian-fr.org/u/wavesound)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/256 "2016-02-20T16:08:13Z")

</div>

Sans main avec ?

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/257 "2016-02-20T16:08:14Z")

</div>

oui, sans main. Pour l’instant, on isole les fonctionnalités répètitives, on les ajuste au propre et aprés quand tu auras tes briques, tu rentreras dans l’algorithmique en faisant le main.  
A ce sujet, toujours pas trouvé ce que l’operation addition, multiplication, soustraction et division faisaient en commun dans ton code ?

---

<div class="post-metadata">

**Author:** ![wavesound](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/w/54ee81/32.png) [@wavesound](https://www.debian-fr.org/u/wavesound)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/258 "2016-02-20T16:08:15Z")

</div>

> [@](#):
>
> A ce sujet, toujours pas trouvé ce que l’operation addition, multiplication, soustraction et division faisaient en commun dans ton code ?

Ben elles font toutes partie du switch ?

---

<div class="post-metadata">

**Author:** ![mattotop](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mattotop/32/3942_2.png) [@mattotop](https://www.debian-fr.org/u/mattotop)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/259 "2016-02-20T16:08:16Z")

</div>

non: ce qu’elle font, pas ou elles sont.  
Décris ce que fait chacune de ces section de switch en français, et dégage ce qu’elles font toutes.

---

<div class="post-metadata">

**Author:** ![wavesound](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/w/54ee81/32.png) [@wavesound](https://www.debian-fr.org/u/wavesound)\
**Post date:** [Février 20, 2016, 4:08 UTC](https://www.debian-fr.org/t/je-me-mets-au-c/8416/260 "2016-02-20T16:08:17Z")

</div>

Elles affichent le premier puis le deuxième nombre entrés puis affichent le résultat des deux en fonction de l’opération, et ce grâce à la variable resultat qu’on a déclaré au début du main.

[Page précédente](https://www.debian-fr.org/t/je-me-mets-au-c/8416.md?page=12)

[Page suivante](https://www.debian-fr.org/t/je-me-mets-au-c/8416.md?page=14)
