Problème d'incrémentation de variable! - C - Programmation
Marsh Posté le 04-05-2009 à 09:27:06
Il y a plusieurs solutions :
1. Déclarer la variable "pa" dans la fonction appelant la fonction coup() ; l'initialiser dans la fonction appelante ; la passer à la fonction coup() en paramètre en passant son adresse (donc avec "&" devant le nom) et la renseigner dans la fonction coup() (avec "*" devant le nom car ce serait un pointeur). C'est la meilleure solution, mais il existe aussi deux autres solutions :
2. Déclarer la variable "pa" en tant que variable "statique" dans la fonction au lieu de l'avoir déclaré avec l'option "auto" par défaut.
3. Déclarer la variable "pa" en dehors de la fonction de manière à ce que cette variable soit globale et l'initialiser dans la fonction appelante.
Marsh Posté le 04-05-2009 à 09:48:47
Je n'y arrive toujours pas... J'ai essayer la déclaration globale de la variable, mais j'ai encore le soucis de savoir comment la mettre dans ma fonction, avec quel type de boucle et à quel moment l'initialiser pour qu'elle ne revienne pas à sa valeur d'initialisation à chaque appel de la fonction!!! Je craque!
Marsh Posté le 07-05-2009 à 12:16:35
vgiant a écrit : Tout fonctionne, mon problème est situé sur ce qui est en gras dans mon code : |
Ton code est incomplet
|
Marsh Posté le 04-05-2009 à 03:58:53
Bonjour à tous et à toutes! Tout d'abord, merci de prendre du temps pour lire mon problème, qui sera pour vous très simple à résoudre je pense!
Alors voilà, j'ai créée une bataille navale, et tout fonctionne quasiment, excepté l'affichage "tel bateau est coulé", car je n'arrive pas à incrémenté une variable!
J'ai une fonction coup qui renvoit dans le main la valeur_retour (pour compter les cases qui restent dans la grille, et ainsi savoir si le jeu est fini ou non!)!
Tout fonctionne, mon problème est situé sur ce qui est en gras dans mon code :
Voilà, à savoir que j'ai rentré les lettres des bateaux dans la grille du joueur pour savoir lequel était touché, maintenant j'aimerai pouvoir dire que le bateau est coulé! Seulement, la manière dont j'ai affecté la variable "pa" fait qu'à chaque fois que cette fonction coup est appelée, la variable "pa" retrouve sa valeur 0 par défaut.
A quel moment faut-il que je l'affecte à 0 pour qu'elle s'incrémente ensuite normalement? Faut-il faire une boucle quelque part?
J'arrive plus à réfléchir là, je sais que la réponse est toute bête, mais j'en peux plus, je m'en réfère à vos conseils avisés!
Merci d'avance pour votre réponse!
Message édité par vgiant le 04-05-2009 à 04:11:52