Je me mets au C

Bon ! Me reste plus qu’à suivre tes conseils matt. :laughing:

Je réfléchis. :smt051
Mais j’ai du mal… Rah, c’est indescriptible.
C’est stressant. :unamused:

Bon j’insiste mais comme tu as du mal est-ce que le python ne serait pas plus adapté ? Je pense que tu veux aller trop vite.

Trop tard ! Je compte m’investir dans le C. :laughing:
Je ne pense pas que j’ai du mal mais que je prends de mauvais habitudes. :wink:

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.

Bon, j’ai demandé à mon père de m’expliquer simplement les fonctions.

Il m’a donc codé ce chtit bout :

[code]#include <stdio.h>

int affichage(int p1,int p2)
{
long p3;
printf(“bonjouur\n”);
p3 = p1 + p2;
printf("%d", p1);
printf("%d", p2);

return p3;

}

int main(void)
{
int i = 100;
int j = 200;
int ret;
ret = affichage(i,j);
printf("\n%d", ret);

return 0;

}[/code]
Il m’a expliqué un peu, mais vu que c’est pû son boulot je crois pas qu’il est capable de me l’expliquer facilement, car les débutants bin il connait pas.
J’en reviens donc à vous, et c’est ce qu’il m’a conseillé également. :wink:

Que pensez-vous de ce code ?

c’est un bon code pour comprendre.
Que fait il d’aprés toi ?

Je pense qu’il affiche p1, p2 et p3 en appellant la fonction affichage, au sein du main.

Mais je m’embrouille dans le i et le j puisqu’on ne les retrouve pas dans la fonction affichage…

fais tourner à la main le programme (sans tricher en le compilant), et dis ce qu’il affiche.

Comme ça, je dirai :

bonjouur 300

et non.

Arf.

Bon, je verrai ça demain matin !

Bonne nuit. :wink:

Salut.
Bon j’y connais rien en programmation moi non plus (d’ailleurs merci wavesound en fait ce fil est en train de devenir un petit tuto pour moi :slightly_smiling: )
Et je me demandais le “%d” à l’intérieur des printf il sert à quoi exactement?
Sinon j’ai bien ma petite idée sur ce que fais le programme mais je te laisse réfléchir dessus wavesound :slightly_smiling: (ben oui quoi c’est ton fil…D’ailleurs on pourrait presque en ouvrir un pour te faire des cours de soutien en maths)

Bon ben voila je me répond à moi meme…Le “%d” dans les “printf()” permet tout simplement d’afficher une variable pour ma part je suis en train de suivre le cours de la wikiversité que je trouve vraiment bien.

D’accord, merci ! Je vais aller réfléchir un peu là-dessus. :stuck_out_tongue:
Pour les maths, euh, ben.
:smt015

Arf.
http://www.siteduzero.com/tuto-3-2842-1-les-fonctions.html#ss_part_1
Première fois que je suis un peu perdu dans le cous du site du zéro. :frowning:

Ca y est, je m’attaque à mon petit jeu en instaurant des fonctions pour ne pas étouffer le code. :slightly_smiling:

1/[quote=“mattotop”]fais tourner à la main le programme (sans tricher en le compilant), et dis ce qu’il affiche.[/quote]
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 :wink:

Oh, tiens, pas vu ! :laughing:

Bon, entre temps, je crois que j’ai fini un petit quelque chose. :astonished:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

long jeu(long MAX, long MIN)
{
long nombreMystere, nombreEntre;
srand(time(NULL)); // On génère un nombre aléatoire
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN; // fonctions rand et srand
do // Boucle do… while qui ne s’arrêtera que lorsque le bon nombre sera trouvé
{
printf(“Quel nombre pensez-vous que j’ai choisi ? “);
scanf(”%ld”, &nombreEntre);
if (nombreMystere > nombreEntre)
{
printf(“C’est supérieur.\n\n”);
}
else if (nombreMystere < nombreEntre)
{
printf(“C’est inférieur.\n\n”);
}
else
{
printf(“Bien joué, c’est exact !\n\n”);
}
}
while (nombreEntre != nombreMystere);
}

int main(void)

{

long MAX = 0, MIN = 0;
char rejouer = 'o';

printf("\n"); // Un petit menu pour présenterl Public License 2.0\n--------------------------------------------------\n\n");    

do // Boucle do... while pour choisir le MAX et le MIN et pour rejouer ou non
{
    printf("Choisissez le plus grand nombre possible : "); 
    scanf("%ld", &MAX); // Renseigne le MAX
    printf("Choisissez le plus petit nombre possible : "); 
    scanf("%ld", &MIN); // Renseigne le MIN
    printf("\n");
    jeu(MAX, MIN); // Appelle la fonction jeu
    printf("Rejouer une partie [o/n] ? ");
    scanf("%c", &rejouer);
    scanf("%c", &rejouer);
    printf("\n"); 
} while (rejouer == 'o');

return 0;

}[/code]
:wink:

Tu devrais plutot répondre a Mattotop au lieu de t’engager à faire quelque chose d’autre. Il n’est en aucun cas obligé de t’aider. ““A méditer””

Ouaip, je sais bien mais y a des questions sur lesquelles je bloque totalement… A croire que je préfère la pratique à la réflexion… :smt077