Probléme avec un code en c

Fermé
strome - 16 oct. 2008 à 20:12
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 17 oct. 2008 à 21:40
Bonjour, j ai un probléme avec un petit code tous simple en c :



long compteur;

for (compteur = 0 ; compteur < 10 ; compteur++)
{
printf("net send 153.10.85.\n");
}

normalment ca devrait m afiché 10 fois le msg net send ........ mais le compilateur bloc dès la fonction long
ps: compilateur code block projet sous console
et il me fait pareil pour mes autres codes -_- je peut avoir de l'aide svp
et si possible vous pouvez me dire comment faire une boucle infinie?
A voir également:

13 réponses

Yuku Messages postés 199 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 22 mars 2012 4
16 oct. 2008 à 21:31
Pareil, aucun problème avec Dev-C++, d'ailleurs je te le conseille perso :)

D'autre part, j'aime pas trop for, je préfère les boucles if ou while / do...while.

Par exemple tu peux faire ça comme ça :
    int compteur = 0;

    do{
             printf("net send 153.10.85.\n");
             compteur++;
    }while(compteur < 10);


PS : je te conseille de définir ton compteur en int, puisqu'il s'agit d'un compteur, il ne peut donc s'agit comme valeurs que d'entiers (1, 2, 3...)... logiquement, tu ne peux pas avoir 2.5, puis 3.9, etc...

D'ailleurs je ne me sers pas de Code:Blocks mais il est possible que ce soit dû à ça : le fait que tu veuilles l'incrémenter alors qu'il s'agit d'un long...

Tiens moi au courant pour mon code, s'il marche pour toi et si ça marche en mettant un
int compteur;

A plus et bonne chance !
1
strome Messages postés 85 Date d'inscription lundi 28 juillet 2008 Statut Membre Dernière intervention 29 août 2010 7
17 oct. 2008 à 21:33
oui oui je sais pour les {} et pause ne sert pas pour code block pour dev c++ j utilise
heu par contre quél diréctives préprocésseur il faut pour un programe comme ca?
1
angelx1 Messages postés 1452 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 12 novembre 2013 110
16 oct. 2008 à 20:15
printf("net send 153.10.85.\n");

J'ai fait du C , masi je ne vois pas ce que c'est ..
Pourquoi ne pas utiliser %ld ?

Ca fait lontemsp que j'en ai pas fait , mais je pense qu'il faut definir long , non ?
long = 0 ;
-1
strome Messages postés 85 Date d'inscription lundi 28 juillet 2008 Statut Membre Dernière intervention 29 août 2010 7
16 oct. 2008 à 20:26
printf("net send 153.10.85.\n");
c'est le méssage a écrire
et si je ne me trompe pas le %ld c'est pour une réponse mon but est de répété le msg "net send 153.10.82." a cahque fois que l utilisateur fait entré
pour la valeur du long elle y est la: for (compteur = 0.....
ps: je me trompe peu étre pour le %ld je suis novice en c
-1

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

Posez votre question
angelx1 Messages postés 1452 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 12 novembre 2013 110
16 oct. 2008 à 20:34
Bah , regarde les doubles points partout ...
Essaye avec long = 0 ....
sinon le %ld sert a renvoyer une valeur ... J'avaus pas compris ce que tu attendais du programme , mais oui , tu as raison ^^
Pour faire une boucle infini , regarde sur le site du zero , le tutoriel C est super ! ( avec corrige :) )
-1
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 131
16 oct. 2008 à 21:18
Bonsoir,

Je viens de tester cettte boucle, ça m'affiche :

net send 153.10.85.
net send 153.10.85.
net send 153.10.85.
net send 153.10.85.
net send 153.10.85.
net send 153.10.85.
net send 153.10.85.
net send 153.10.85.
net send 153.10.85.
net send 153.10.85.


int main () { 
long compteur; 

for (compteur = 0 ; compteur < 10 ; compteur++) 
{ 
printf("net send 153.10.85.\n"); 
} 

return 0; 

}


P.S. C'est quoi le problème exactement ?
-1
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
16 oct. 2008 à 21:26
Salut
Pour faire boucle infinie :
while(1){
   puts("toto");
}

Cdlt
-1
Yuku Messages postés 199 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 22 mars 2012 4
16 oct. 2008 à 21:38
Ah et puis voilà une boucle infinie très facile à comprendre :
    int compteur = 0;

    do{
             printf("net send 153.10.85.\n");
    }while(compteur < 1);


On déclare le compteur à 0 et tant que le compteur est inférieur à 1, on affiche le message.
Or comme le compteur vaut 0 et qu'il n'est jamais incrémenté ou modifié, il sera toujours inférieur à 1 et donc le message se répète indéfiniment :)
-1
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
16 oct. 2008 à 21:44
C'est dommage d'utiliser une variable pour donner une condition toujours vraie.
-1
Yuku Messages postés 199 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 22 mars 2012 4
16 oct. 2008 à 21:48
C'est plus explicite pour les débutants qui ne comprennent pas forcément les booléens...
-1
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
17 oct. 2008 à 18:43
compteur > 1 c'est un boolen ;)
Et si tu mets while ( 0>1) ça revient exactement au même avec en plus l'économie d'une variable.
-1
strome Messages postés 85 Date d'inscription lundi 28 juillet 2008 Statut Membre Dernière intervention 29 août 2010 7
17 oct. 2008 à 18:20
int compteur = 0;

do{
printf("net send 153.10.85.\n");
}while(compteur < 1);
ce code ne marche pas mais je pence que le probléme vien de mes compilateur sur tout mes code il bloc int char ou long sur code block et dev c++
-1
Yuku Messages postés 199 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 22 mars 2012 4
17 oct. 2008 à 21:10
En même temps faut quand même glisser ça dans un main(), et ajouter 1 ou 2 directives de préprocesseurs et un system("PAUSE"); hein...
-1
Yuku Messages postés 199 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 22 mars 2012 4
17 oct. 2008 à 21:38
Hum...

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

Je pense que ça suffira :)
-1
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
17 oct. 2008 à 21:40
Juste #include <stdio.h>
Pas besoin de stdlib.
-1
strome Messages postés 85 Date d'inscription lundi 28 juillet 2008 Statut Membre Dernière intervention 29 août 2010 7
17 oct. 2008 à 21:40
a ok ca c'est bon je le met tout le temps
-1