Programmes un jeux en c

Fermé
farcry165 - 23 avril 2009 à 22:32
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 - 27 avril 2009 à 22:26
Bonjour, je voudrais faire un jeux comme the crims (boncou plus petit) mais mon premier pb c que j'ai besoin de faire des variable qui augmente d'un nombre prisse exemple "long force=5 et je voudrais quand fessent une action style un braquage la variable augmente de 5 a 8,5"
A voir également:

9 réponses

luc648 Messages postés 593 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 20 mai 2010 117
24 avril 2009 à 09:53
dans ta fonction braquage tu fais

function braquage(){

long_force = long_force + 3,5;

}

je ne sais plus si la syntaxe est juste en C mais l'idée est correcte
1
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
24 avril 2009 à 09:55
Et la syntaxe est juste. Si bien entendu force est une variable globale.
0
oké merci. je risque de revenir car je pense pas que se sera mondérnier pb
0
re bonjour voila je n'est pas réussi utiliser la ligne de code que ma donné luc648 je ne sais pas ou la placer dans mon programmes (ce n'est que le débu)

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
double bracage()
{
double force = 7;
if (force >5)
force++;//j'ai mi force++ car je quand j'ai mis long_force = long_force + 3,5 sa na pas marché
else
printf("entole!!!!");
return force;
}


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

printf ("%lf",bracage());


getchar();// à la place du system("pause") il fo utiliser getchar() aussi non sa ne marche pas
return 0;
}
0

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

Posez votre question
exusé moi je navé pas bien compri la premiere réponse voila mais code

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
double bracage()
{
double force = 7;
if (force >5)
force = force +5;
else
printf("entole!!!!");
return force;
}


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

printf ("%lf",bracage());


getchar();// à la place du system("pause") il fo utiliser getchar() aussi non sa ne marche pas
return 0;
}
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
27 avril 2009 à 20:33
Le probleme dans ton code c'est qu'a chaque fois que tu appelles ta fonction braquage() sa valeur sera reinitialisee a 7.. et vaudra toujours 12 a la sortie. Il faut donc la declarere en global..

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

global double force = 7;

double bracage()
{
   if (force > 5)
      force += 5; /* C'est la meme chose que force = force + 5; */
   else
     printf("En tole !");
   return force;
}

int main(int argc, char *argv[])
{
   printf ("%lf", bracage());
   getchar();
   return (1);
}
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
27 avril 2009 à 20:40
Salut,
global double force = 7;
global n'existe pas en C.

return (1);
Il faut retourner 0 lorsque tout va bien.

printf ("%lf", bracage());
Pour afficher un double, on utilise %f et non %lf.

Cdlt
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
27 avril 2009 à 20:43
Salut,
Le mieux est de passer la variable par adresse.

#include <stdio.h>

double bracage(double *force)
{
   if (*force > 5)
      *force += 5; /* C'est la meme chose que force = force + 5; */
   else
     printf("En tole !\n");

   return *force;
}

int main(void)
{
   double force=7;
   printf ("%f", bracage(&force));
    /* force a été modifié.

   getchar();
   return 0;
}
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
27 avril 2009 à 20:55
Encore faut-il faire attention aux pointeurs...

Pour completer mon alternative on peut enlever le global et rajouter extern pour pouvoir l'utiliser partout !

Reste a savoir laquelle des deux te conviendrait le mieux !
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
27 avril 2009 à 21:15
on peut enlever le global
global n'existe pas tout court.

et rajouter extern pour pouvoir l'utiliser partout !
Non. Pour faire une variable "globale" avec une portée au-delà du fichier, un simple double force; défini en dehors de tout scope suffit. L'usage du mot-clé extern est utilisé explique au compilateur que la variable a déjà été déclarée (disponible dans la table des symboles) dans un autre fichier.
Mais l'usage de variables globales est déconseillée.
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
27 avril 2009 à 22:26
Merci des precisions alors !
0