[quote=“mattotop”]rien. Je ne vois pas ce que tu veux dire par “peut en commander”.
Chaque objet nommé (on dit variable) doit être typée pour être utilisée, c’est tout.[/quote]
Ah, d’accord. En fait, par “peut en commander” je voulais dire “une variable peut-elle dépendre d’une autre ?”… Ca apporte la réponse à ma question, merci !
D’accord, merci.
C’est bien pour ça que j’ai précisé “parfois”. Le cas de figure où il y a un “autrepart” est-il courant ?
Donc c’est de l’a peu près ? Pour connaître la valeur la plus approprié, il faudrait se pencher du côté des ressources utilisées par la machine, si j’ai bien compris ?
Le bonjour est passé. Je suis peut-être furieux mais j’ai toujours voulu me plonger la-dedans.
Qui sait, peut-être vais-je en faire mon métier, puisque tout ce qui touche au PC (enfin aux ordinateurs en général) m’intéresse.
Même si je suis + software que hardware, le matos c’est pas tellement mon truc, moi qui ai râté tant de soudures pour des enceintes que l’on fabriquait en techno.
C’était dégueulasse et ça cour-circuitait.
C’est bien pour ça que j’ai précisé “parfois”. Le cas de figure où il y a un “autrepart” est-il courant ?[/quote]oui, pour faire propre, il vaut mieux découper au max en petites fonctions qui ne font qu’une chose, et main n’echappe pas à cette règle.
Par ailleurs, tu verras qu’une série de fonctions bien pratiques te reserviront régulièrement, donc tu pourra les mettre dans un fichier à part que tu ‘include’ ras dans plusieyurs de tes projets pour les réutiliser.
C’est ce qu’on appelle la modularité, et si tu va plus loin, tu rentreras alors aussi dans la compilation séparée. [quote=“wavesound”][quote=“mattotop”]Voilà, c’est toi qui evalue si ton int va pouvoir être entre -32767 et +32767, ou si tu as besoin d’un type d’entier plus grand, qui prendra plus d’octets en mêmoire, même si au final il vaut zero.[/quote]Donc c’est de l’a peu près ? Pour connaître la valeur la plus approprié, il faudrait se pencher du côté des ressources utilisées par la machine, si j’ai bien compris ?[/quote]Non. Rien d’approximatif là dedans, tu dois réflechir pour être sûr que tu prends bien la bonne taille AVANT d’implémenter ça dans ton code. Tu peux t’apercevoir à l’usage que tu t’es trompé, mais c’est que tu as mal réflechi avant: ça ne s’évalue pas aprés.
Tu peux aussi décider que par mesure d’économie, ta calculette ne travaillera qu’avec des petits entier, mais il faut dans ce cas que tu vérifies avant de faire l’operation que le resultat de l’operation que tu vas faire n’est pas plus grand que ce que tu peux stocker.
Ca demande un peu de réflexion mathématique simple pour concevoir les tests.[quote=“wavesound”][quote=“mattotop”]Dis bonjour à ton père de ma part et dis lui que son fils est un furieux.[/quote]Le bonjour est passé. Je suis peut-être furieux mais j’ai toujours voulu me plonger la-dedans.
Qui sait, peut-être vais-je en faire mon métier, puisque tout ce qui touche au PC (enfin aux ordinateurs en général) m’intéresse.
Même si je suis + software que hardware, le matos c’est pas tellement mon truc, moi qui ai râté tant de soudures pour des enceintes que l’on fabriquait en techno.
C’était dégueulasse et ça cour-circuitait. [/quote]Pour info, moi c’est pareil, je n’en ai un peu rien à cirer si c’est un pentium ou un buron machin, s’il y a des nappes grise ou rose, etc…
C’est comme les voitures, je suis infoutu de te donner une marque en en regardant une, tout juste le pays d’origine de la voiture.
On est matèrialiste ou on ne l’est pas.
Je suis la-dessus en ce moment et c’est galère galère, j’ai lu tout le cours du zéro pourtant.
J’arrive pas vraiment à réaliser ça, du coup j’ai jeté un oeil à la correction, et effectivement je n’y aurai pas pensé (enfin, pas à certaines choses).
Ca me fout en rogne.
Voila la correction.
[code]/*
Plus ou Moins
Réalisé par M@teo21, pour les cours du Site du Zér0 www.siteduzero.com (cours de programmation en C / C++ pour débutants)
int main ( int argc, char** argv )
{
long nombreMystere = 0, nombreEntre = 0;
const long MAX = 100, MIN = 1;
// Génération du nombre aléatoire
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
/* La boucle du programme. Elle se répète tant que l'utilisateur
n'a pas trouvé le nombre mystère */
do
{
// On demande le nombre
printf("Quel est le nombre ? ");
scanf("%ld", &nombreEntre);
// On compare le nombre entré avec le nombre mystère
if (nombreMystere > nombreEntre)
printf("C'est plus !\n\n");
else if (nombreMystere < nombreEntre)
printf("C'est moins !\n\n");
else
printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
} while (nombreEntre != nombreMystere);
system("PAUSE");
[quote=“debianhadic”]c’est pas bien de lire les coorections !
Au moins commente chaque ligne, pour comprendre.[/quote]
J’avais pas d’autre solution, j’avais vraiment l’impression d’être perdu, comme si je n’avais pas compris le cours, mais pourtant si. Même s’il y a des points que j’ai mieux compris que d’autres.
D’accord, je vais essayer de commenter ça.
C’est pas que tu n’avais pas compris le cours, c’est que tu n’en avais pas eu, alors qu’il aurait fallu que quelqu’un te fasse un cours général sur 2 trois éléments, dans lesquelles tu aurais pu piocher les bribes de ce dont tu ne savais pas.
Tu ne pouvais pas par exemple inventer la fonction rand ni srand, ni imaginer l’inclusion de time.h si on ne te l’avait pas expliqué ou si tu ne l’avais pas rencontré ailleurs avant. Vois tu ?
Continues à programmer, tu sauras aimer les maths et peut être même être bon, vu comment tu manipules déjà les mots.
Pour l’histoire géo, faut bosser, pas de secret.
Oui, c’est vrai que tout d’un coup les maths ont l’air + intéressantes !
Je pense que je n’en comprenais ni le sens, ni le but. Pourquoi apprendre quelque chose si cela ne sert à rien ?
Si la programmation me prouve le contraire… Je fonce !
J’ai commencé à créer ce petit jeu du Plus et du Moins grâce à un onglet par cours sur le site du Zéro.
Comme ça, j’ai toujours mes références au cas où.
J’ai déjà bien avancé. Voila :
{
long nombreMystere = 0, nombreEntre = 0;
const long MAX = 1000, MIN = 1; //Constantes MAX et MIN
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
printf("Quel est le nombre ?\n");
scanf("%ld", &nombreEntre);
do
{
if (nombreMystere > nombreEntre)
{
printf("\nNon, le nombre que j'ai choisi est supérieur à celui que vous avez entré !\n");
}
else if (nombreMystere < nombreEntre)
{
printf("\nNon, le nombre que j'ai choisi est inférieur à celui que vous avez entré !\n");
}
else (nombreMystere == nombreEntre)
{
printf("\nBien joué, vous avez trouvé le bon nombre !\n");
}
} while (nombreMystere != nombreEntre);
return = 0;
}[/code]
Bien-sûr, sans s’aider de la correction, sinon ça ne sert à rien. Je m’aide juste des cours du site du Zéro et tout roule pour le moment (bien que mon père m’est rappellé que je devais créer une boucle - j’avais oublié de le faire, triple buse que je suis !).
J’espère que ça va aller, en tout cas merci pour tous vos conseils.
{
long nombreMystere = 0, nombreEntre = 0;
const long MAX = 100, MIN = 1;
ral Public License 2.0\n--------------------------------------------------\n\n");
// Fin
// Génération d'un nombre aléatoire
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
// Fin
// Le début de la boucle, boucle qui ne s'arrêtera que lors de la saisie du bon nombre
do
{
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("\nC'est inférieur.\n\n");
}
else
{
printf("\nC'est exact ! Epatant, vous êtes épatant !\n\n");
};
}
while (nombreEntre != nombreMystere);
// Fin
return 0;
J’améliore ma calculatrice en remplaçant, par exemple, les chiffres par les +, -, * et / dans le menu ; je devrai donc inciter l’utilisateur à saisir +, -, * et /.
C’est une idée de mon père, et il m’a dit que c’était pas de la tarte !
“Il faut que tu travailles avec les chaînes de caractères” qu’il m’a dit.
J’améliore mon petit jeu GNUPlusMinus comme conseillé sur le tutoriel du site du Zéro, en rajoutant le choix d’un niveau de difficulté, le compteur des coups, le nombre de joueurs, demander à l’utilisateur s’il veut faire une autre partie…
Je fusionne mes deux programmes (calculatrice et jeu) en un seul, avec un menu permettant de choisir. C’est également une idée de mon père, mais c’est peut-être moins intéressant, bien qu’il m’ai dit que c’était pas si évident que ça dans un même main.
Au fait, mieux vaut programmer en IDE ou bien de tout faire en éditeur de texte et de compiler à la main en console ? J’ai pour l’instant fait comme ça sans problèmes…
Comment faire lorsqu’il faudra séparer les sources en plusieurs fichiers, je suppose qu’on peut faire ça en console aussi ?
Chez moi, Emacs affiche des carrés à la place des caractères…
Donc j’utilise gedit, l’éditeur de texte de GNOME.