Me corriger en C

Résolu/Fermé
kiki74000 Messages postés 45 Date d'inscription dimanche 13 septembre 2009 Statut Membre Dernière intervention 26 décembre 2011 - 18 juil. 2010 à 22:25
kiki74000 Messages postés 45 Date d'inscription dimanche 13 septembre 2009 Statut Membre Dernière intervention 26 décembre 2011 - 21 juil. 2010 à 13:39
Bonjour,

J'ai créer un mini code pour mes éxemple mais je bug je ne comprend pas, le voici:

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


void vies (int *pvies_restantes, int *pvies_perdues);

    int vies_restantes = 10;

    int vies_perdues = 0;

    int i;


int main (int argc, char *argv[])

{



    for (vies_restantes = 10; vies_restantes != 0; i++)

{


        vies(&vies_perdues, &vies_restantes);


        printf("Il vous reste %d vies, vous en avez deja perdu %d\n\n", vies_restantes, vies_perdues);
}


return 0;
}

void vies (int *pvies_restantes, int *pvies_perdues)

{

    *pvies_restantes--;
    *pvies_perdues++;

}



le code n'éxécute pas les instructiond de la deuxieme fonction,

Merci

7 réponses

kiki74000 Messages postés 45 Date d'inscription dimanche 13 septembre 2009 Statut Membre Dernière intervention 26 décembre 2011 3
18 juil. 2010 à 22:30
personne?
0
kiki74000 Messages postés 45 Date d'inscription dimanche 13 septembre 2009 Statut Membre Dernière intervention 26 décembre 2011 3
18 juil. 2010 à 22:31
Une idée
0
kiki74000 Messages postés 45 Date d'inscription dimanche 13 septembre 2009 Statut Membre Dernière intervention 26 décembre 2011 3
18 juil. 2010 à 22:31
Meme une toute petite
0
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
Modifié par loupius le 18/07/2010 à 23:18
Quelle est l'utilité de i ?
Bonne continuation.
0
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
Modifié par loupius le 18/07/2010 à 23:33
vies(&vies_perdues, &vies_restantes);
void vies (int *pvies_restantes, int *pvies_perdues)
for (vies_restantes = 10; vies_restantes != 0; i++)

Alors c'est vies_restantes ou vies_perdues qui est incrémenté... si c'est vies_restantes, on n'est pas sorti de l'auberge... et enfin, à condition bien sûr que la valeur soit incrémentée et non pas le pointeur !!!
Bonne réflexion.
0

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

Posez votre question
ProgMad Messages postés 88 Date d'inscription dimanche 4 mai 2008 Statut Membre Dernière intervention 15 août 2010
18 juil. 2010 à 23:31
Salut,

1: l'ordre d'appel des deux paramètres de ta fonction n'est pas bon.
2: à la place du for utilise while(vies_restantes != 0) .
3: ta fonction est belle et bien appelé. Utilise les parenthèses .
void vies (int *pvies_restantes, int *pvies_perdues){
    (*pvies_restantes)--;
    (*pvies_perdues)++;
}

4: tu utilise des variables globaux qui peuvent être appeler dans toute les fonctions du programme , donc pas besoin de pointeurs.
0
kiki74000 Messages postés 45 Date d'inscription dimanche 13 septembre 2009 Statut Membre Dernière intervention 26 décembre 2011 3
21 juil. 2010 à 13:23
alors pour l'utilité de i et l'utilisation des pointeurs,

i c'est pour apres,

pointeur, c'est pour l'éxercice (pour s'entrainer quoi)

sinon je vais essayer et je vous dit sa
0
kiki74000 Messages postés 45 Date d'inscription dimanche 13 septembre 2009 Statut Membre Dernière intervention 26 décembre 2011 3
21 juil. 2010 à 13:39
ah bah voila un code qui marche^^

resultat :

Il vous reste 9 vies, vous en avez deja perdu 1

Il vous reste 8 vies, vous en avez deja perdu 2

Il vous reste 7 vies, vous en avez deja perdu 3

Il vous reste 6 vies, vous en avez deja perdu 4

Il vous reste 5 vies, vous en avez deja perdu 5

Il vous reste 4 vies, vous en avez deja perdu 6

Il vous reste 3 vies, vous en avez deja perdu 7

Il vous reste 2 vies, vous en avez deja perdu 8

Il vous reste 1 vies, vous en avez deja perdu 9

Il vous reste 0 vies, vous en avez deja perdu 10


Process returned 0 (0x0) execution time : 0.255 s
Press any key to continue.



merki c'est parfait mon prof va etre content ^^
0