Partage
  • Partager sur Facebook
  • Partager sur Twitter

compteur de coup

Sujet résolu
25 septembre 2007 à 15:33:08

Bonojour a tous, voila j aimerais savoir comment on cree un compteur de coup je vois plus ou moin mais bonj ai pas encore tout compris...merci :p
  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2007 à 15:47:05

Ben ça dépend de ce que tu apelles un compteur de coups... Mais j'imagine que c'est pour le TP du "Plus ou Moins", non ?

Si c'est le cas, tu déclares une variable de type long (ou int), que tu initialises de préférence à 0.
A la fin de ta boucle (lorsque le compteur doit augmenter d'une unité) tu incrémente ta variable (variable = variable + 1 ou variable++ pour faire plus simple).

Exemple :
  1. long compteur = 0;
  2.     do
  3.     {
  4.         compteur++;
  5.         printf("%ld\n", compteur);
  6.     }while (compteur < 99999999); // soyons fous !
  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2007 à 16:45:29

Sinon je pense qu'on peut même ne pas mettre de limite au compteur :

  1. long compteur = 0;
  2.     do
  3.     {
  4.         compteur++;
  5.         printf("%ld\n", compteur);
  6.     }while (compteur > 0);


Dans ce cas, même pas la peine de mettre >= 0 parce que l'incrémentation aura déjà eu lieu une fois.

Mais bon c'est dangereux si il n'y a rien d'autre dans la boucle
  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2007 à 16:57:31

Citation : s_vbb

Bonojour a tous, voila j aimerais savoir comment on cree un compteur de coup je vois plus ou moin mais bonj ai pas encore tout compris...merci :p


Il n'y a pas de 'compteurs de coups' en langage C. De quoi parle-tu exactement ?

Si il s'agit d'implémenter un compteur, il suffit de définir une variable (généralement de type entier, int, suffit dans la plupart des cas), de l'initialiser (à 0, en général) et à chaque fois que le moment est opportun (c'est là, la difficulté) de modifier la valeur de la variable (en général, on l'augmente de 1).

A part le choix précis du type de la variable, ce n'est pas une question de C mais d'algorithme.
  • Partager sur Facebook
  • Partager sur Twitter
Music only !
27 septembre 2007 à 23:37:33

oui c'etait pour le tp plus ou moin, mais Code : C - Afficher / masquer les numéros de ligne

1.
long compteur = 0;
2.

3.
do
4.
{
5.
compteur++;
6.
printf("%ld\n", compteur);
7.
}while (compteur > 0);

ca marche pas ca serai pour dire a la peronne en combien de coup elle a reussi a trouver.
  • Partager sur Facebook
  • Partager sur Twitter
28 septembre 2007 à 0:01:10

Hmm, je ne sais pas comment tu as utilisé les balises codes, mais c'est pas exactement comme cela.

Ensuite "ça marche pas" c'est plutôt.
"J'ai acheté des patates, mais il y a un problème. C'est quoi? "

Donc, est-ce que ça plante, ça ne compile pas? Peut-on avoir le code au complet?

Merci d'éclaircir ces points ;)

Sinon, pour ce que je vois de ton code, il n'y a pas "d'erreur" a proprement dit. Peut-être l'utilisation du long alors qu'un int aurait suffit amplement.
Pour moi, ça fait tout simplement une boucle infinie, donc si c'est cela ton problème, et bien en effet, c'est certain que ça va faire une boucle infinie, ta condition va être toujours vrai.
Il faut donc créer une boucle en fonction de ton programme, pour que la boucle s'exécute le nombre de fois nécessaire (dans le cas d'un plus au moins, tant que l'utilisateur n'a pas trouvé le bon nombre).

Il faut ensuite insérer le compteur++; au bon endroit.
Et, après la boucle, tu affiches les informations.
  • Partager sur Facebook
  • Partager sur Twitter
28 septembre 2007 à 21:08:03

@ s_vbb
Je crois que tu n'as pas trop saisi le sens de nos posts.
Quand je t'ai donné l'exemple du compteur dans une boucle, ce n'était qu'un exemple, il ne se rapporte pas à tout les programmes (et puis quel intérêt de mettre cette boucle dans un programme ?).

Si j'ai bien compris ton problème, tu veux créer un compteur dont la valeur augmentera de 1 à chaque fois que le joueur proposera un chiffre. Il suffit donc de :

1 - Déclarer ta variable compteur (que j'apelle ici "coups").
Elle peut être de type long ou int, mais on va plutôt dire int sinon -ed- va me taper sur les doigts.
On peut l'initialiser au passage (= 0).
  1. int coups = 0;


2 - Incrémenter le compteur au moment opportun (certainement juste aprés ton scanf)
  1. coups++;


3 - Afficher la valeur du compteur pour en informer le joueur (à la fin de la partie)
  1. printf("Vous avez joué %d coups !", coups";


C'est pas plus compliqué que ça...
  • Partager sur Facebook
  • Partager sur Twitter
30 septembre 2007 à 15:35:42

escuser moi de pas avoir tout compris ou mis un mauvais language j'aurais du mieu expliquer mais bon j etait malade en ecrivant le msg donc un peu a l ouest... :( et j'ai pas vu que c'etait un exemple... o_O je suis desoler, je vais essayer de le faire, je vous tien au courrant mais pour ma defence??? lol j'ai ete a mon avis trop vite pour lire la premiere partie du cour je vais donc tout recomancer pour avoir une meilleur vue de tout car j'arrive pas a m'exprimer de la facon que j vousdrai en language C.... :o merci a tous pour les reponse...
  • Partager sur Facebook
  • Partager sur Twitter
20 avril 2018 à 11:17:41

Merci pour vos réponses rapide !!effectivement j'avais mal place la parenthèse ... je ferais attention au détails la prochaine fois ^^ donc tout fonctionne je m'attaque au deuxième rajout ! :)

je ferais un nouveau post pour la prochaine fois 

note je ferais ce petit changement également ! 

  • Partager sur Facebook
  • Partager sur Twitter
20 avril 2018 à 11:25:31

Nos réponses ne sont plus visible !?!

C'est presque tout les jours que ça se produit ! Le forum à un pied dans la tombe ! 

  • Partager sur Facebook
  • Partager sur Twitter
20 avril 2018 à 11:27:04

Ah! Le fameux bot Antispam qui fait encore des siennes?
  • Partager sur Facebook
  • Partager sur Twitter

« Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
D. Mendeleïev

19 janvier 2021 à 2:32:44

JAIME BIEN DÉTTÉRER DES SUJETS PARCE QUE VOUS NE RÉPONDER PAS A MES QUESTIONS.
  • Partager sur Facebook
  • Partager sur Twitter
19 janvier 2021 à 8:06:22

Bonjour HardHeraudLemy,

Non pas que j'aime bannir des membres mais tu as déjà fais l'objet d'un rappel à l'ordre de la part de AbcAbc6 à ce sujet.

Du coup, je te laisse méditer sur la question.

Lorrio.

  • Partager sur Facebook
  • Partager sur Twitter