neo_00110010101
Messages postés360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 mai 2006
-
16 juin 2004 à 17:08
cs_salutbonjour
Messages postés42Date d'inscriptiondimanche 18 janvier 2004StatutMembreDernière intervention29 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.
cs_salutbonjour
Messages postés42Date d'inscriptiondimanche 18 janvier 2004StatutMembreDernière intervention29 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és4Date d'inscriptionsamedi 15 mai 2004StatutMembreDerniè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és3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 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és4Date d'inscriptionsamedi 28 octobre 2000StatutMembreDernière intervention17 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és3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 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és4Date d'inscriptiondimanche 9 mars 2003StatutMembreDernière intervention15 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és360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 mai 2006 16 juin 2004 à 20:17
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 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és4Date d'inscriptiondimanche 9 mars 2003StatutMembreDernière intervention15 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és4Date d'inscriptiondimanche 9 mars 2003StatutMembreDernière intervention15 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és360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 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û")
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és4Date d'inscriptiondimanche 9 mars 2003StatutMembreDernière intervention15 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és2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 16 juin 2004 à 17:30
verifié vos codes avant de les poster !!!
neo_00110010101
Messages postés360Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention30 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 ()
3 juil. 2004 à 22:48
tu devrais aussi rajouter de la couleur , essaie textcolor(); (avec conio.c)
30 juin 2004 à 15:45
17 juin 2004 à 16:51
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
17 juin 2004 à 16:42
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é :)
16 juin 2004 à 21:16
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
16 juin 2004 à 21:10
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!!
16 juin 2004 à 20:17
voilà ma source en rapport avec la tienne :
>> http://www.cppfrance.com/code.aspx?ID=23435
mais compilé avec VC++ 6.0
16 juin 2004 à 19:56
16 juin 2004 à 18:44
16 juin 2004 à 18:34
=>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!!!
16 juin 2004 à 17:56
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
16 juin 2004 à 17:53
=> 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...
16 juin 2004 à 17:30
16 juin 2004 à 17:08
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 ()