# 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:** 15

<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/281 "2016-02-20T16:08:24Z")

</div>

1. char (car un seul caractère)
2. Un chiffre (1, 2, 3, 4)

---

<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/282 "2016-02-20T16:08:24Z")

</div>

bon, pourquoi tu insistes avec ton #include? on est juste en train de s’occuper de cette petite partie la du code, va pas pourrir ça avec des détails exterieurs.  
maintenant, ben bêtement, ce que tu veux renvoyer, c’est l’opération qu’a choisi l’utilisateur, non ?  
Alors le code, ça donne:

[code]long renvoieChoix()  
{  
long operation ;

```
printf("1. Addition\n2. Soustraction\n3. Multiplication\n4. Division\n\nTapez le nombre correspondant à votre choix : "); 
scanf("%ld", &operation)[b];[/b]

return operation; 

```

}[/code] on aurait pu prendre du char, vu la valeur que ça va prendre, mais j’ai laissé comme tu as fait en long.  
Par contre, j’ai corrigé tes erreurs de ;

Tu vois mieux comment ta fonction renvoie ce que ton utilisateur à choisi ?

Bon, maintenant plus dur, et pour l’instant totalement détaché du reste:  
fais la fonction demandeNombre, qui affiche “Veuillez donner le argument de :”, qui prend et comme argument, et qui attend une valeur numérique int, puis qui renvoie cette valeur.

---

<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/283 "2016-02-20T16:08:24Z")

</div>

[code]char demandeNombre()  
{

```
char tantieme = 0;
char operation = 0;
long argument = 0;

printf("Veuillez donner le ");
scanf("%c", &tantieme);
printf(" argument de ");
scanf("%c, &operation);
printf(: );
scanf("%ld", &argument);

return argument;

```

}[/code]  
Je ne suis pas sûr que le return soit bon…

---

<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/284 "2016-02-20T16:08:25Z")

</div>

non, ce n’est pas le return: ça, c’est bon.  
la, il fait quoi ton code ?  
peux tu me réexpliquer le sujet ?

---

<div class="post-metadata">

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

</div>

wavesound: répond très précisement aux questions de Matt sans te préoccuper de ce que tu souhaites mais de ce que tu vois. Rappelles toi les 4 facteurs d’une fonction:

environnement/arguments/effets de bords/resultats et le schema

[code]environnement=…

type\_du\_resultat ta\_fonction(arguments) {  
type\_argument argument  
…  
{  
effet\_de\_bords=… ou priintf effets\_de\_bords  
…  
return(resultat)  
}  
[/code]

Calque ça sur ce que tu as devant toi.

---

<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/286 "2016-02-20T16:08:25Z")

</div>

Le code demande le premier ou le deuxième argument de l’opération voulue (addition, soustraction, multiplication ou division) puis rapporte les résultats au main qui se charge de faire les calculs ?

---

<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/287 "2016-02-20T16:08:26Z")

</div>

alors tu as bien répèté le sujet, mais je doute que tu l’aies compris:  
comment on lui dit que ce qu’il faut poser comme question c’est un coup “Veuillez donner le premier argument de l’addition :” et que par exemple, une autre fois, il faudra qu’il demande “Veuillez donner le deuxiême argument de la multiplication :”  
❓

---

<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/288 "2016-02-20T16:08:26Z")

</div>

Deux arguments, c’est pas grand chose.  
Par contre, quatre opérations c’est autre chose !

Il faudrait adapter les opérations dans une fonction selon ce que veut l’utilisateur, mais pourquoi ne pas instaurer deux printf et scanf pour les deux arguments ?

---

<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/289 "2016-02-20T16:08:27Z")

</div>

tu as lu ce que te disait fran.b ?  
qu’est ce que c’est que l’argument d’une fonction, et à quoi ça sert ?

---

<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/290 "2016-02-20T16:08:27Z")

</div>

Ah non, tiens, pas fait attention… 😊

Je viens de lire, et les arguments sont donc les paramètres ?

---

<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/291 "2016-02-20T16:08:27Z")

</div>

tu réchauffes.

---

<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/292 "2016-02-20T16:08:28Z")

</div>

> [@](#):
>
> tu réchauffes.

Dans le sens ou c’est du réchauffé ou que j’approche de la bonne réponse ? 😆

---

<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/293 "2016-02-20T16:08:29Z")

</div>

tu t’approches.

---

<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/294 "2016-02-20T16:08:29Z")

</div>

Les arguments sont les paramètres de la fonction qui permettent de lui expliquer ce qu’elle doit faire.

---

<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/295 "2016-02-20T16:08:31Z")

</div>

A peu prés. Ta fonction a des parties qui varient, et les arguments (paramètres désigne des variables générales dans lesquelles on va chercher des valeurs, et les arguments ne sont que des paramètres particuliers), lui permettent de savoir s’il faut ecrire “premier” ou “deuxiême” et “Addition”, etc…  
[fr.wikipedia.org/wiki/Param](http://fr.wikipedia.org/wiki/Param)ètre  
En fait, l’argument d’une fonction est un paramètre qui ne sert en gros que dans la fonction.  
Si tu as compris ça, réécris ton code.

Juste pour te donner du courage, je voulais te dire sinon que si tu as l’impression que ça n’avance pas beaucoup, tu te trompes. Le rythme auquel tu marines est plutot bon, je trouve.

---

<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/296 "2016-02-20T16:08:32Z")

</div>

Merci ! Je suis épuisé ; je verrai ça demain.

Je réécrirai mon code demain et comme tu le dis, ce ne dois être qu’une impression le fait que je n’en apprends pas beaucoup.

De toute façon, j’ai tout mon temps pour “réviser” ce premier chapitre avant de m’attaquer au deuxième, qui commence par… Les pointeurs ! 😈

Autant dire que je vais en baver, il faut que j’y arrive avec une solide base de connaissances.  
C’est pas le moment de regarder les mouches voler ! 😛

---

<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/297 "2016-02-20T16:08:40Z")

</div>

J’ai renommé le fil “Débuter en programmation” en “Je me mets au C…” sur le modèle de “Je me mets à Python…” afin de créer deux topics distincts, un pour le C, l’autre pour le Python. Cela orientera l’aide convenablement et ne fera pas fouilli. Voila ! 😉

---

<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/298 "2016-02-20T16:08:45Z")

</div>

Mais pourquoi est-ce que je bloque sur les fonctions ?

😢

---

<div class="post-metadata">

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

</div>

Tu t’emballes beaucoup trop…

Moi aussi j’ai commencé à programmer en C/C++ avec ce cours (il est cool c’est vrai ^^) et il faut du temps pour t’y habituer…

C’est facile de lire et de comprendre le cours mais après il faut un peu pratiquer pour que ça rentre bien… Enfin voila te fais pas de soucis fais des petits exercices

- décomposition en nombre premier
- algorithme d’euclide pour trouver le pgcd de deux nombres
- résolution d’équation du 2ème degré en donnant les coefficients
- …etc !

Tu verras ça rentreras 😃

Et oublie pas les maths sont a la base de tout !!!

Continues à batailler ![:smt065](https://www.debian-fr.org/uploads/default/original/1X/f1a2338ae5576390423463a2cbfda9603e0f10e7.gif) et amuses toi bien ![:smt024](https://www.debian-fr.org/uploads/default/original/1X/d697e874e336a377d9ee24639447389ca55c9a17.gif) !

---

<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/300 "2016-02-20T16:08:52Z")

</div>

[quote=“wavesound”]Mais pourquoi est-ce que je bloque sur les fonctions ?

😢[/quote]Appelles les des limobes ou des glouglous, si c’est le nom qui te gène. Tu auras peut être moins l’impression de faire des maths.

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

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