Programmes un jeux en c
farcry165
-
chico200987 Messages postés 856 Statut Membre -
chico200987 Messages postés 856 Statut Membre -
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"
Configuration: Windows Vista Firefox 3.0.9
9 réponses
-
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 -
Et la syntaxe est juste. Si bien entendu force est une variable globale.
-
-
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;
} -
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;
} -
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); } -
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; } -
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 !-
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.
-
-