Pb code

rafffel Messages postés 37 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 5 octobre 2007 - 15 mai 2004 à 12:47
rafffel Messages postés 37 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 5 octobre 2007 - 16 mai 2004 à 12:29
voici le code je veux cree une boucle infini qui rempli tout l'ecran de nombre mais le prob c que ds le code ci dessous il y a en bas un demi ligne qui n'est pas rempli

#include <stdlib.h>

main()
{
int sortie = 0;
int i=1;
int j=1;

do
{
randomize();
sortie --;

for(i=0;i<80;i++)
{
gotoxy(1+i,j);
printf("%d",random(9)+1);
for(j=0;j<25;j++)
{
gotoxy(i,1+j);
printf("%d",random(9)+1);
}
}
}while(sortie !=100);
getch();
return(0);
}

41 réponses

rafffel Messages postés 37 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 5 octobre 2007
15 mai 2004 à 14:26
derniere ptite question
yatil moyen de casser cette boucle lorsque un utilisateur frappera une touche?
(oui je suis chiant mais assoifée par le savoir du c)
0
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
15 mai 2004 à 14:43
while(!kbhit())

kbhit() (keyboard hit) renverra autre chose que 0 quand l'utilisateur appuiera sur une touche du clavier.

Patience et longueur de temps font plus que force ni que rage....
0
neohp Messages postés 62 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 14 octobre 2005
15 mai 2004 à 14:47
'soir

eh bien, sans vouloir etre mechant, si tu est assoifé de C achète toi un bon bouquin, parceque tu a qques lacunes assez graves...

personnelement je te conseil "langage C" de microapplication, très bien pour les debutant en C

puis oui on peut casser la boucle, mais faut utiliser des événements ou faire un thread...

( vu que les appels a gets , etc sont bloquant ... )

voila

neoh_p [=- coding spirit -=]
------- since 1999 ------
0
rafffel Messages postés 37 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 5 octobre 2007
15 mai 2004 à 14:54
oui le bouquin je vais bientot l'avoir
merci les gars
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rafffel Messages postés 37 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 5 octobre 2007
15 mai 2004 à 14:57
par koi peut on remplacer while(!kbhit())
sous devcpp????
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
15 mai 2004 à 15:00
par rien, kbhit n'est pas standard, si tu ve toucher au clavier faut faire ca en win32
0
neohp Messages postés 62 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 14 octobre 2005
15 mai 2004 à 20:46
ouep....

a ma connaissance, tout les appel sur le clavier en C sont bloquant....

Le c++ apporte des solution bien plus simple a mettre en oeuvre pour gére se genre de boucle ( thread, événement, etc....)

sauf si tu prog sous linux tu peux te debrouiller avec les thread POSIX (pthread ) mais sa n'est plus du c ansii..

neoh_p [=- coding spirit -=]
------- since 1999 ------
0
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
16 mai 2004 à 01:57
kbhit() n'est pas ANSI???
J'ai toujours cru...
En tous cas chez moi ça marche, essaie en rajoutant un :
#include <conio.h>
(je viens de découvrir qu'il est dans conio.h, et vu que ce header n'est lui-même pas ANSI normal que kbhit() ne le soit pas...)

Patience et longueur de temps font plus que force ni que rage....
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
16 mai 2004 à 02:08
ben c'est simple, le c ne connai pas le clavier (c'est cette philosophie qui fait qu'il est tres facile a porter d'un systeme à un autre) donc kbhit ne risque pas d'etre standard
0
rafffel Messages postés 37 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 5 octobre 2007
16 mai 2004 à 09:32
nan c bon pour la fonction kbhit jai trouve ou elle etait sous devcpp
elle est dans conio.c non pas dans conio.h
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
16 mai 2004 à 10:13
prend la derniere version de devcpp, faut au moins respecter un minimun de regle, un header ne peut etre .c

moi avec devcpp 4.9.8.0 c'est bien #include <conio.h>

faut mettre les chose au point une fois pour toutes :

If really can't live without them, you can use Borland functions this way:
Include conio.h to your source, and add C:\Dev-C++\Lib\conio.o to "Further Object Files" in Project Options (where C:\Dev-C++ is where you installed Dev-C++).
Please note that conio support is far from perfect. I only wrote it very quickly.
0
rafffel Messages postés 37 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 5 octobre 2007
16 mai 2004 à 10:31
jai bien la derniere version de devcpp
et il ya conio.h et conio.c dans le dossier include
de devcpp
a moi que je nai une version special mais ca metonnerai
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
16 mai 2004 à 10:33
dans conio.h ya le prototype de kbhit, non?

c'est quel version?
0
rafffel Messages postés 37 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 5 octobre 2007
16 mai 2004 à 10:38
jai la v 4.9.8.7
et oui dans conio.h il ya le prototype de _kbhit
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
16 mai 2004 à 10:44
moi dans conio.h à partir de la ligne 143 j'ai ca

int _getch (void);
int _getche (void);
int _kbhit (void);
int _putch (int);
int _ungetch (int);

int getch (void);
int getche (void);
int kbhit (void);
int putch (int);
int ungetch (int);

tu es sur que le prototype de kbhit n'y est pas?
0
rafffel Messages postés 37 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 5 octobre 2007
16 mai 2004 à 10:58
surement
quil y est
enfin bon
je sais pu
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
16 mai 2004 à 11:09
de toute facon inclus conio.h et tu saura
0
rafffel Messages postés 37 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 5 octobre 2007
16 mai 2004 à 11:44
oui jai fais un test
la fonction kbhit marche bien sous devcpp
mais faut pas oublier de mettre les parenthèse a la fin
exemple:



#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
int nAlea;

srand(time(NULL));
while(!kbhit())
{
nAlea = rand();
printf("%i",nAlea);
}
}
il va afficher des nombres jusqua ce que qqun tape sur une touche du clavier
en fait conio.c sert pour la couleur du text ou du fond
0
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
16 mai 2004 à 11:48
"faut pas oublier de mettre les parenthèse a la fin" -> Ben oui, comme pour n'importe quelle fonction du C/C++, forcément...

Patience et longueur de temps font plus que force ni que rage....
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
16 mai 2004 à 12:21
rafffel ==> faut revoir (ou plutot voir ) les base du c, c'est important
0
Rejoignez-nous