NOMBRE ALÉATOIRE DEV C++

neo_00110010101 Messages postés 360 Date d'inscription samedi 27 septembre 2003 Statut Membre Dernière intervention 30 mai 2006 - 16 juin 2004 à 17:08
cs_salutbonjour Messages postés 42 Date d'inscription dimanche 18 janvier 2004 Statut Membre Dernière intervention 29 décembre 2009 - 3 juil. 2004 à 22:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/23736-nombre-aleatoire-dev-c

cs_salutbonjour Messages postés 42 Date d'inscription dimanche 18 janvier 2004 Statut Membre Dernière intervention 29 décembre 2009
3 juil. 2004 à 22:48
Bon, avec DevC++ tu devrais essayer conio.c et aussi, ca serait un peu plus simple si tu mettais un clrscr(); aulieu de mettre une commande dos. ca t'eviterais aussi de rajouter une librairie (stdlib.h)
tu devrais aussi rajouter de la couleur , essaie textcolor(); (avec conio.c)
Johann_Liebert Messages postés 4 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 4 juillet 2004
30 juin 2004 à 15:45
Moi je trouve cette source tout simplement super! je suis débutant et elle m'a beaucoup aidé a progresser
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
17 juin 2004 à 16:51
void main ca peut marcher mais c'est pas standard, pas portable
on ne met jamais void main d'ailleur avec les derniers standard ca se remplace par int main vu que le return 0 a la fin du bloc main est implicite
cs_Blacksad Messages postés 4 Date d'inscription samedi 28 octobre 2000 Statut Membre Dernière intervention 17 juin 2004
17 juin 2004 à 16:42
pour le choix entre le int main et le void main,
il me semble que le void fait que le main peut ne rien retourner,
en revanche, avec un int, le main doit retourner un int, un entier quoi.
essaie de rajouter "return 0;" à la toute fin de ton main.
Sans sa, normal que le compilateur te dise que ton int main ne retourne rien.

j'espere que tout se passera bien car je n'ai pas vérifié :)
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
16 juin 2004 à 21:16
printf et scanf sont delcarer dans stdio (ne dit jamais "defini", ca na rien à voir), donc inclu stdio

si ca marche pas avec dev cpp c'est parce que tu compile en c++, ton fichier doit avoir une extension cpp ou C
ca marche en c, ton fihier doit etre en .c
MrDG Messages postés 4 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 15 juin 2006
16 juin 2004 à 21:10
djl => je ne sait as si dev c++ fait les declaration "implicite", lorsque je métait ni conio.h ni stdio.h, cela ne marcher pas, mais ça marche avec les deux, pour dev c++, printf et scanf doivent etre définis dans les deux!?

neo_001... => merci beaucoup, j'ai pu voir dans ta source que tu utiliser srand(time(NULL)); avec ctime, j'ai donc essayer et ainsi pu répondre a ma question sur l'éficacité de rand(), j'ai enfin de vrai nombres aléatoires... même si j'avoue ne pas comprendre totalement le "time(NULL)"...

j'ai donc remis à jour ma source avec cette petite modification!!
neo_00110010101 Messages postés 360 Date d'inscription samedi 27 septembre 2003 Statut Membre Dernière intervention 30 mai 2006
16 juin 2004 à 20:17
ok ça marche cette fois-ci ^^

voilà ma source en rapport avec la tienne :
>> http://www.cppfrance.com/code.aspx?ID=23435
mais compilé avec VC++ 6.0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
16 juin 2004 à 19:56
meme si tu declare pas stdio, ca marchera quand mem, le compilo genere dans ce cas des declaration "implicite", c'est dangeureux car aucun controle static, ca peut linker avec rien et planter a l'execution
MrDG Messages postés 4 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 15 juin 2006
16 juin 2004 à 18:44
J'ai remis ma source à jour merci de me dire s'il y a encore des problèmes...
MrDG Messages postés 4 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 15 juin 2006
16 juin 2004 à 18:34
Merci de me faire un exemple de ce que tu vouler dire mais dans Dev C++ v4.9.8.0 ça ne marche pas!!!

=>erreur ('main' must return 'int'), mais je pense que ce qu'il faut c'est : int main (void), et non void main.

=> d'autre part conio.h ne sert plus a rien dans ce cas? et autre chose que tu n'a sans doute pas vu c'est qu'avant le if que j'avait oublier il y avait un else...

=> Donc le mieux je croit est que je mette a jour ma source et que tu réessaye aprés!!!

Merci tout de même de tes précision!!!
neo_00110010101 Messages postés 360 Date d'inscription samedi 27 septembre 2003 Statut Membre Dernière intervention 30 mai 2006
16 juin 2004 à 17:56
LordBob >> bof c'est pas très grave sauf pour ceux qui n'auraient pas sû corriger ces erreurs ... (berk "sû")

Voilà le code complet sans erreurs ni warnings :

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


void main ()
{
int Rep,NbAleat,NbDeCoup;
int re=1;

while (re)
{
system ("cls");
printf ("\n\n\n\n\n\n\n\n\n");
printf ("%50s","Quel defi souhaite tu?\n");
printf ("%46s","1 = De 0 a 100\n");
printf ("%47s","2 = De 0 a 1000\n");
printf ("%48s","3 = De 0 a 10000\n");
scanf ("%d",&Rep);
system ("cls");

if (Rep==1) NbAleat = rand() % 100;
if (Rep==2) NbAleat = rand() % 1000;

else if (Rep==3) NbAleat = rand() % 10000;

NbDeCoup=1;

printf ("Donne un nombre! ");
scanf ("%d",&Rep);

while (Rep!=NbAleat)
{
if (Rep<NbAleat) printf ("Trop petit!");
else printf ("Trop grand!");
printf ("\nUn autre nombre? ");
scanf ("%d",&Rep);
NbDeCoup++;
}

system ("cls");
printf ("\n\n\n\n\n\n\n\n\n");
printf ("%55s","BRAVO!!! Tu as trouver le bon nombre en ");
printf ("%d coup!\n\n\n\n",NbDeCoup);
printf ("%53s","Veut-tu rejouer? 1=oui 0=non\n");
scanf ("%d",&re);
}
}

Compilé avec VC++ 6.0
MrDG Messages postés 4 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 15 juin 2006
16 juin 2004 à 17:53
Dsl mais chez moi, le fichier source du zip marche trés bien!

=> j'ai inclue conio.h au lieu de stdio.h, chez moi les 2 marche trés bien, y a en t'il un qui est mieux que l'autre?

=> pour le if oublier ereur de recopie en supriment des commentaire!

=> Quant a void main (), mon compilateur me fait une erreur ( 'main' must), je suis débutant et la je vois pas trés bien de quoi il sagit mais sa marche sans ou avec int main ()... donc si quelqu'un veut m'expliquer le ic et sont utilit...
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
16 juin 2004 à 17:30
verifié vos codes avant de les poster !!!
neo_00110010101 Messages postés 360 Date d'inscription samedi 27 septembre 2003 Statut Membre Dernière intervention 30 mai 2006
16 juin 2004 à 17:08
ça ne marche pas du premier coup :

1° tu as oublié #include <stdio.h> au début (printf et scanf non déclaré)
2° ligne 23, tu as oublié if devant (Rep==2)
3° à la ligne 6, tu devrais mettre void main ()
Rejoignez-nous