Pb code

Signaler
Messages postés
37
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2007
-
Messages postés
37
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2007
-
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);
}
A voir également:

41 réponses

Messages postés
37
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2007

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)
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
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....
Messages postés
62
Date d'inscription
jeudi 5 juin 2003
Statut
Membre
Dernière intervention
14 octobre 2005

'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 ------
Messages postés
37
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2007

oui le bouquin je vais bientot l'avoir
merci les gars
Messages postés
37
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2007

par koi peut on remplacer while(!kbhit())
sous devcpp????
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
par rien, kbhit n'est pas standard, si tu ve toucher au clavier faut faire ca en win32
Messages postés
62
Date d'inscription
jeudi 5 juin 2003
Statut
Membre
Dernière intervention
14 octobre 2005

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 ------
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
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....
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
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
Messages postés
37
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2007

nan c bon pour la fonction kbhit jai trouve ou elle etait sous devcpp
elle est dans conio.c non pas dans conio.h
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
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.
Messages postés
37
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2007

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
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
dans conio.h ya le prototype de kbhit, non?

c'est quel version?
Messages postés
37
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2007

jai la v 4.9.8.7
et oui dans conio.h il ya le prototype de _kbhit
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
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?
Messages postés
37
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2007

surement
quil y est
enfin bon
je sais pu
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
de toute facon inclus conio.h et tu saura
Messages postés
37
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
5 octobre 2007

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
Messages postés
1267
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
28 février 2007
3
"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....
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
rafffel ==> faut revoir (ou plutot voir ) les base du c, c'est important