Syntaxe ???

Résolu
diablosv Messages postés 118 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 26 février 2014 - 25 mars 2013 à 10:09
cptpingu Messages postés 3839 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 29 juin 2024 - 25 mars 2013 à 12:01
bonjour
je suis entrain d’étudier le fonctionnement d'un programme en c++ mais il y'a quelques syntaxe que je ne connait pas.
Voila j'aimerais savoir ce que signifie dans un calcul de ce type la syntaxe pval->
PWR[9] = (pval->MLP[1]*1000)

autre declaration
Static Tlcc_32 XXXXX;

de plus j'ai vu ceci

Pad déclarée comme variable

puis dans le programme

Pad[line], pourtant Pad n'est pas déclarée en tant que tableau ????

d'avance merci pour vos reponses


Diablo_SV

5 réponses

cptpingu Messages postés 3839 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 29 juin 2024 124
25 mars 2013 à 10:47
Bonjour.

Je vais essayer de t'aider, mais tu donnes assez peu de détails :)

pval->PWR[9] = (pval->MLP[1]*1000)

pval doit être un pointeur sur une classe. Elle doit sûrement ressembler à cela:
class Value
{
public:
  int PWR[SIZE];
  int MLP[SIZE];
};

Value* pval = new Value;
[...]

Donc, il met dans la 10ème case de PWR, la valeur de la 2ème case de MLP multiplié par 1000.

Static Tlcc_32 XXXXX;

Je t'avoue que "static", je connait mais "Static", n'existe pas. Soit tu as a fait une faute de frappe, soit il y a un define (une macro en gros) par dessus et j'ai besoin de la voir pour savoir ce qui se cache derrière.
"static" sert à dire que la variable sera locale à son scope. Soit limité à être vu dans le fichier, soit, si mis dans une fonction, une variable globale qui est limitée en visibilité à la portée de celle-ci.


Pad déclarée comme variable
puis dans le programme
Pad[line], pourtant Pad n'est pas déclarée en tant que tableau ????

Si c'est "type* Pad;" n'oublie pas qu'un pointeur et un tableau c'est la même chose en C et C++.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
diablosv Messages postés 118 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 26 février 2014
25 mars 2013 à 11:03
Merci pour tes reponses


effectivement la syntaxe est static et non Static

Pour la formule le 1er pval-> ne compte pas.
PWR[9] = (pval->MLP[2] * 1000)
pour ma part j’essaie de réécrire le code en VB donc d’après ton explication cela pourrait signifier PWR(9) = MLP(2) * 1000.


Diablo_SV
cptpingu Messages postés 3839 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 29 juin 2024 124
25 mars 2013 à 11:41
cela pourrait signifier PWR(9) = MLP(2) * 1000.

La première case d'un tableau en VB, est-ce 0 ou 1 ?
En C et en C++, un tableau commence à 0. Soit: PWR(10) = MLP(2) * 1000 ?
S'il y a des classes ou des structures en VB (dont je ne connais pas la syntaxe), alors ce n'est pas MP(2) mais le membre MP d'une classe.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
diablosv Messages postés 118 Date d'inscription dimanche 22 octobre 2000 Statut Membre Dernière intervention 26 février 2014
25 mars 2013 à 11:53
en vb on commence a 0 un tableau
donc PWR(9) = MLP(2) * 1000

MLP et PWR etant des tableaux

Que signifie cette syntaxe

for(col=0;col<MAX_COLUMN;TprioT[((Tlcc_32) pval->PRIO[col])-1]=col++);

pour moi c'est la meme chose que cela

For col = 0 To MAX_COLUMN - 1

TprioT(PRIO(col) - 1) = col

Next

Mais que peut signifier le Tlcc_32 ( je ne l'ai pas trouve en tant que variable ).
De plus -1, on ne peut indexer une case negative !!!!!
Diablo_SV

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

Posez votre question
cptpingu Messages postés 3839 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 29 juin 2024 124
25 mars 2013 à 12:01
donc PWR(9) = MLP(2) * 1000

Au vu du code précédent, PWR(9) = MLP(1) * 1000, non ?

Mais que peut signifier le Tlcc_32 ( je ne l'ai pas trouve en tant que variable ).

Je pense que c'est: "typedef int Tlcc_32", donc simplement un type "int".


for(col=0;col<MAX_COLUMN;TprioT[((Tlcc_32) pval->PRIO[col])-1]=col++);

C'est vraiment très moche ! (C'est peut être pour cela qu'on te demande de le réécrire :p).

Pour ceci: "TprioT[((Tlcc_32) pval->PRIO[col])-1]"
- "pval->PRIO[col]" => Il récupère la valeur de la case "col" du tableau PRIO
- "TprioT[((Tlcc_32) VAL) - 1]" => Puis "cast" le résultat en "Tlcc_32", que je suppose être un type entier de 32 bits (soit "int").
- TprioT[VAL - 1] => Enfin, il prend la case précédente. Tant que VAL > 0, il n'y aura pas de souci.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Rejoignez-nous