CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

variables - fonctions

Virtuality
Virtuality
Niveau 8
31 mai 2005 à 19:30:35

Salut,

ça fais deux mois que je fais du c++, ça fais deux mois que je code comme un porc :rire2:
Bref, juste pour dire que mtn que mon petit projet avance à grand pas, j´aimerais revoir toute la conception du programme, et le rendre " mieux".
Bref, je veu déja commencer par des fonctions ( bah, je hais ça lol).
Et ça bloque un peu, donc je m´adresse à vous:
J´ai ma fonction main ( simplifions) :
void main()
{
int nombre;
int number=4;

if(!nombre)
nombre=calculus();
else
cout < < nombre < < endl;
}

Puis :

int calculus()
{
return number+3;
}

Programme super simpliste et en effet une fonction ne sert à rien dans ce cas.
Mais moi je dois appeler ça trois fois, et j´ai 40 variables à modifier.
Et le truc, c´est bêtement que la fonction calculus connaitras pas number vu que c´est une variable local à main...
J´aimerais donc savoir comment je pourrais faire en sorte de faire connaitre mes 40 variables à modifier dans ma fonction de la meme manière qu´ici ( le plus simplement possible).
Vala, j´espère que le p´tit truc que j´ai noté est pas tout faux, j´ai codé à la va vite^^
Merci

Lapintade
Lapintade
Niveau 30
31 mai 2005 à 19:33:14

Si tes variables sont des variables qui sont utilisées dans tout ton programme et tout le temps, tu peux les mettre en globale. C´est degeu diront certains, mais bon quand c´est pour faire des choses d´ordre generale a ton programme pourquoi pas.

Si tes 40 variables te servent juste a un moment donnée, tu peux creer une structure, contenant 40 variables et tu la passe en paramatre a toutes tes fonctions.

Perdu_de_linfo
Perdu_de_linfo
Niveau 9
31 mai 2005 à 19:37:41

Vi justement j´hésitais entre le " dégeu" et devoir me tapper les 40 variables en paramètre...
Définir autant de variables en global, est-ce gourmand en mémoir ou est-ce négligeable?
Merci :-)

Lapintade
Lapintade
Niveau 30
31 mai 2005 à 19:39:37

40 variables dans une structure, ca te permet de passer qu´un seul parametre a tes fonctions.

Définir autant de variables en global, est-ce gourmand en mémoir

Ca represente pas grand chose en memoire.

Perdu_de_linfo
Perdu_de_linfo
Niveau 9
31 mai 2005 à 19:41:44

Oki, merci :ok:
Je vais opter pour les variables globales pour le moment :)

dnob700
dnob700
Niveau 10
01 juin 2005 à 17:19:43

int number=4;
if(!nombre)
nombre=calculus();

mis à part le fait que number soit un int et que testé ! number je en susi pas sur que çe soit ce que tu veux vraiment, ton problème :
" Et le truc, c´est bêtement que la fonction calculus connaitras pas number vu que c´est une variable local à main..."

a une solution simple : les paramètre. Pourquoi faires des variables globales, des tructure de 40 variables,...

tu déclare ta fonction calculus :
int calculus(int number);

et tu l´appelle :
nombre=calculus(number);
et là il connait number.
si tu ne sait pas comment ça marche je te conseille fort de lire ubn cours de C ( par exemple celui de JYY ( voir se carte de visite)) avant de continuer programmer.

Virtuality
Virtuality
Niveau 8
01 juin 2005 à 17:55:43

Lol, je sais, mais 40 paramètres... c´est... bcp, je me demandais s´il y avait pas plus simple c´est surtout ça :)
Sinon oui je sais comment ça marche les paramêtres, merci :-p
Pour l´exemple, bien sûre que c´est stupide, j´ai tapé ça direct ici, c´était pas ça qui était important :)
Merci

dnob700
dnob700
Niveau 10
01 juin 2005 à 18:49:31

alors c´est moi qui ais pas compris ton problème.

mais sinon peut-être essayer de faire
int number[40];
et comme ça tu n´a qu´un seul paramètre quand même à passer pour tes 40 variables.

Virtuality
Virtuality
Niveau 8
01 juin 2005 à 18:51:56

Finalement, j´ai choisi le passage de paramètres par référence :-p
Ca fait pas mal de paramètres, mais ça m´évite d´avoir des variables définies n´importe où, et ça m´évite de devoir faire une structure pour ça...
Merci dnob700 :)

Virtuality
Virtuality
Niveau 8
01 juin 2005 à 20:06:37

J´ai une nouvelle question :
J´essaie de passer un tableau comme paramètre en fonction. J´ai ce message :
" declaration of `recran_behind´ as array of references "

Pour :

void def_lvl1(int &_behind[11][15]);
( c´est que le prototype).
Hum, qqn sait?
Merci :)

Ptival
Ptival
Niveau 10
01 juin 2005 à 23:30:06

Essaies :

&(recran_behind[11][15])

( Si j´ai bien compris l´erreur, c´est un problème de priorité des opérateurs)

JeanYvesYves
JeanYvesYves
Niveau 10
02 juin 2005 à 00:07:30

passage de tableaux dans une fonction, regarde mon paragraphe F.3.2. dans mon tuto :)
cependant, sinon, tu passes une pointeur, c´est mieux :)

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment