Programmes un jeux en c

farcry165 -  
chico200987 Messages postés 791 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   117
 
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   Statut Contributeur Dernière intervention   1 299
 
Et la syntaxe est juste. Si bien entendu force est une variable globale.
0
farcry165
 
oké merci. je risque de revenir car je pense pas que se sera mondérnier pb
0
farcry165
 
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
farcry165
 
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   Statut Membre Dernière intervention   143
 
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   Statut Contributeur Dernière intervention   1 846
 
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   Statut Contributeur Dernière intervention   1 846
 
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   Statut Membre Dernière intervention   143
 
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   Statut Contributeur Dernière intervention   1 846
 
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   Statut Membre Dernière intervention   143
 
Merci des precisions alors !
0