Electronique : pat_man_34, 1 utilisateur anonyme et 12 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment se servir de "enum"

n°5950
aceditnana​r
Chabadabada...
Posté le 25-07-2005 à 09:59:51  profilanswer
 

Salt a tous...
 
Je susi en train de faire un programe en c mais j'ai une ligne qui ne veut pas marcher :  
 
//enum boolean{false,true};    //probleme avec ca ???
boolean j;        // en attendant...
 
la 1ere ne marche pas....
je me sers donc de la deuxieme par defaut... pourquoi cela ne veut il pas marcher?? une idée?m
 
merci
ah oui aussi a quoi sert l'instruction #pragma origin 4     avec un compilateur C de pic..


Message édité par aceditnanar le 25-07-2005 à 10:03:58

---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
mood
Google
Posté le 25-07-2005 à 09:59:51  profilanswer
 

n°5953
nicodache
marmotte en chocolat concept ©
Posté le 25-07-2005 à 12:41:41  profilanswer
 

peut-être parce que par défaut un boolean ne peut etre QUE false ou true ? :whistle:


---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°5954
aceditnana​r
Chabadabada...
Posté le 25-07-2005 à 13:07:06  profilanswer
 

p'tet.. mais pourtant g un prg exemple qui a cette ecriture... mais il ne marche pas non plus ;)


---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°5955
nicodache
marmotte en chocolat concept ©
Posté le 25-07-2005 à 13:10:31  profilanswer
 

bein voila :D
 
ca dépend surtout du compilateur à mon avis :D
 
[edit]pour t'assurer que ton écriture est bien valide, essaie de mettre autre chose que TRUE, true, FALSE, false, 0 ou 1 dedans, pour voir si il te sort une erreur
 
(genre pouet, ou 32)


Message édité par nicodache le 25-07-2005 à 13:11:18

---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°5956
aceditnana​r
Chabadabada...
Posté le 25-07-2005 à 13:21:25  profilanswer
 

non.. meme avec toto et tata ca ne marche pas....
 
enum boolean{toto,tata};    //probleme  
boolean j;  
 
rien ... ca plante :(


---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°5957
nicodache
marmotte en chocolat concept ©
Posté le 25-07-2005 à 13:38:48  profilanswer
 

nan, mais tester de mettre toto dans ta variable boolean j; ;)
 
[edit]ho putain le con, j'ai lu ton truc de travers, et j'ai oublié que ya pas de type boolean en C [:grut]
 
essaie ceci alors :
 

Code :
  1. // Définit des constantes de type INT, pour avoir un code plus lisible niveau booléens.
  2. #DEFINE FALSE 0
  3. #DEFINE TRUE 1
  4. enum boolean {TRUE,FALSE}; // Création d'un type booléen, qui permet d'utiliser FALSE, TRUE, 0 et 1 comme type de donnée.
  5. boolean j; // Un nouveau booléeen :)


 
(ha bein oué, enum ne fonctionne qu'avec des entiers : http://www.a525g.com/programmation [...] pedef.php)


Message édité par nicodache le 25-07-2005 à 13:47:25

---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°5958
Deadog
Dain Bramaged
Posté le 25-07-2005 à 14:00:20  profilanswer
 

maiiiis nooooon :sarcastic:
 
enum agit déjà comme un define sur les valeurs qu'on lui donne
 

Code :
  1. typedef enum {
  2.   FALSE,
  3.   TRUE
  4. } boolean;
  5. boolean my_boolet;


 
;)
et j comme nom de varaible ça veux rien dire :o


Message édité par Deadog le 25-07-2005 à 14:01:25
n°5959
Deadog
Dain Bramaged
Posté le 25-07-2005 à 14:06:38  profilanswer
 

aceditnanar a écrit :


ah oui aussi a quoi sert l'instruction #pragma origin 4     avec un compilateur C de pic..


 
 
le #pragma sert à passer des instructions au compilateur
chaque option pragma est totallement spécifique à ton compilo ...

n°5960
nicodache
marmotte en chocolat concept ©
Posté le 25-07-2005 à 14:28:11  profilanswer
 

Deadog a écrit :

maiiiis nooooon :sarcastic:
 
enum agit déjà comme un define sur les valeurs qu'on lui donne
 

Code :
  1. typedef enum {
  2.   FALSE,
  3.   TRUE
  4. } boolean;
  5. boolean my_boolet;


 
;)
et j comme nom de varaible ça veux rien dire :o


et donc par défaut, il tape 0, et puis 1 ?
c'est vrai que dans le lien proposé, un  
enum {
plop = 50,
frut
} tagada;
bein le plop valait 51.
fallait juste savoir si false serait bien initialisé à 0 ;)
 
et pour le J, on s'en fou un peu si son J est aussi utilisé qu'un i pour un parcours indicé d'un tableau :D


---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°5961
Deadog
Dain Bramaged
Posté le 25-07-2005 à 14:38:12  profilanswer
 

on ne tolère pas le "i" pour sa faible utilité dans un nomage de variable qu'on a pas envie de nommer correctement
on tolère le "i" que dans le cas d'indice de boucle ou de tableau [:spamafote]
 
oui, l'enum commence à 0 si on lui précise rien
si on lui précise un nb, même si c'est pas sur le premier membre, il se synchronisera avec ce nb pour les membres suivant
 
mais c limite si on s'enfous :)
la puissance du typedef enum c'est que tu peux définir des type abstrait qui corresponde juste à une "valeur code"
quand tu l'utilises, tu n'utilises pas le nombre, mais le nom du membre directement

n°5962
nicodache
marmotte en chocolat concept ©
Posté le 25-07-2005 à 14:44:28  profilanswer
 

bein oué, c'est pour ca qu'il veut un type boolean utilisable via FALSE ou TRUE, plutot que de s'amuser à y aller à coup de 0 ou 1.
De plus, le fait de mettre ca dans un enum lui assure qu'un gars qui utilise son code s'amuse pas à foutre 'plop' ou 69 dans son booléen ;)


---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°5963
aceditnana​r
Chabadabada...
Posté le 25-07-2005 à 17:04:48  profilanswer
 

rien qui marche :(


---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°5964
nicodache
marmotte en chocolat concept ©
Posté le 25-07-2005 à 17:35:07  profilanswer
 

et si tu nous mettais le code en entier, et l'erreur du compilateur au complet ?


---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°5965
aceditnana​r
Chabadabada...
Posté le 25-07-2005 à 17:54:22  profilanswer
 

Citation :


/*------------------------------------------------------
|         Declarations des fonctions               |
------------------------------------------------------*/
 
enum boolean{false,true};    //probleme avec ca ???
boolean j;         // en attendant...
 
 
void envoiedata(char data);
void envoiecmd(char cmd);
boolean status();
 
erreur :  
*** "C:[---]\driver.h" Line 38: Error #33: Expecting a {


 
en fait ca me signal une faute de syntaxe... mais va trouver l'erreur... je pense que ca arche sur des compilo de c normale. mais compilo c pour pic :\  :pt1cable:


Message édité par aceditnanar le 25-07-2005 à 17:55:48

---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°5966
nicodache
marmotte en chocolat concept ©
Posté le 25-07-2005 à 17:55:43  profilanswer
 

et t'as quoi à la 38ème ligne dans le fichier driver.h ? :D


---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°5967
aceditnana​r
Chabadabada...
Posté le 25-07-2005 à 17:56:25  profilanswer
 

enum boolean{false,true};    //probleme avec ca ???


---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°5968
nicodache
marmotte en chocolat concept ©
Posté le 25-07-2005 à 18:02:18  profilanswer
 

essaie plutot la solution de ddg :

Code :
  1. typedef enum {
  2.   FALSE,
  3.   TRUE
  4. } boolean;


---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°5969
aceditnana​r
Chabadabada...
Posté le 25-07-2005 à 20:38:30  profilanswer
 

marche pas... :(


---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°5972
Deadog
Dain Bramaged
Posté le 25-07-2005 à 21:40:50  profilanswer
 

t'as un sacré compilo de merde pour pas que ça marche alors :whistle:

n°5974
Deather2
OpenBSD: the way to go!
Posté le 25-07-2005 à 21:57:07  profilanswer
 

Pourtant c'est du C ANSI totalement conforme... +1 ddg lol
C'est quoi comme compilateur ?

n°5975
nicodache
marmotte en chocolat concept ©
Posté le 25-07-2005 à 22:09:32  profilanswer
 

et on pourrait avoir TOUT le code source ? (de la ligne 1 à la dernière ligne) ?


---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°5977
aceditnana​r
Chabadabada...
Posté le 25-07-2005 à 22:53:38  profilanswer
 

trop long.. bcq trp long...
c'est le compilo CSS qui coute la peau du cul.. je voit pas se qui merde ds le code moi non plus....
je suis en version de demo.. mais au boulot j'ai un logiciel pas en demo et y deconne aussi... pppffffffffff
je vais faire avec 0 et 1 :( tampi...
c'etait pour mieux comprendre le code. mais bon.. une fois que c dans le µC.. on s'en fou du vrai ou faux ;)


Message édité par aceditnanar le 25-07-2005 à 22:54:26

---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°5978
Deather2
OpenBSD: the way to go!
Posté le 25-07-2005 à 22:56:08  profilanswer
 

C'est quoi le compilo CSS ?

n°5979
aceditnana​r
Chabadabada...
Posté le 25-07-2005 à 23:08:18  profilanswer
 

scuse.. CCS compilo C pour pic


---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°5980
Deadog
Dain Bramaged
Posté le 25-07-2005 à 23:40:23  profilanswer
 

tu peux utiliser les versions de gcc pour pic si tu veux [:spamafote]

n°5981
Deadog
Dain Bramaged
Posté le 25-07-2005 à 23:41:23  profilanswer
 

essaye ça :

Code :
  1. typedef enum boolean {
  2.   FALSE,
  3.   TRUE
  4. } boolean;


 
pour voir si il préfère avec cette notation la


Message édité par Deadog le 25-07-2005 à 23:41:51
n°5982
aceditnana​r
Chabadabada...
Posté le 25-07-2005 à 23:52:09  profilanswer
 

non il veux pas, mais il accepte cela... ????
typedef enum {vrai,faux};
mais je ne sais pa sse que ca me fait.. lol....
 
edit : io veut ca aussi  
typedef enum boole{vrai,faux} ;
 
dc c le nom boolean qu'il ne veux pas redefinir?


Message édité par aceditnanar le 25-07-2005 à 23:54:23

---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°5983
Deather2
OpenBSD: the way to go!
Posté le 25-07-2005 à 23:53:39  profilanswer
 

essaye:

Code :
  1. typedef enum boolean
  2. {
  3.   FALSE,
  4.   TRUE
  5. };

n°5984
aceditnana​r
Chabadabada...
Posté le 25-07-2005 à 23:55:27  profilanswer
 

il aime pas cette syntaxe.. tjrs ereur au niveau de boolean ou bien de la virgule aussi


---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°5985
nicodache
marmotte en chocolat concept ©
Posté le 25-07-2005 à 23:57:06  profilanswer
 

t'as pas oublié un ; à la ligne d'avant par hazard ? [:grut]


---------------
modérateur inside [:nicodache] plankaivoo [:nicodache] - ici powered - Je roule en micra 1l 55cv et je t'emmerde :o
n°5986
aceditnana​r
Chabadabada...
Posté le 25-07-2005 à 23:58:02  profilanswer
 

non pas du tout.... des #define avant.. pas de ; ;)


---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°5987
aceditnana​r
Chabadabada...
Posté le 26-07-2005 à 00:18:23  profilanswer
 

bon je me suis arrangé...
comme il ne veux redefinir en fait les booleen... ben je crée
 enum boolea {faux, vrai}
puis dans ma fonction qui est du type  
boolean status(){ ...} j'y introduit dedans une variable boolea, puis je la return... et comme cette variable sera vrai ou fausse, c'est a dire 1 ou 0, ben la fonction etant defini comme renvoyant un boolean, fonctionne.. le truc c que le compilo ne vx absolument pas remodeler le boolean, malgré qu'ils disent qu'on peut le faire dans l'aide du logicile ;-) lol...
voila comment je me suis dépatouiller..  pas grave ;)  
merci tt de meme a vous tous pour vous etre pencher et arraché les cheveux sur le pb...


---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°5988
ced-2k
TODO : Insert text here.
Posté le 26-07-2005 à 07:45:41  profilanswer
 

aceditnanar a écrit :


//enum boolean{false,true};    //probleme avec ca ???
boolean j;        // en attendant...
 
la 1ere ne marche pas.
je me sers donc de la deuxieme par defaut.


 
certains compillos PIC ont déjà défini le type boolean (ex : CC5X).
si ton prog compile en activant seulement la 2ème ligne comme tu semble le dire, c'est que le type boolean est déjà défini ailleurs.

n°5989
aceditnana​r
Chabadabada...
Posté le 26-07-2005 à 11:59:54  profilanswer
 

ouais. j'aurai aimé savoir où ;) lol... bof c pas garve.. je vais paser comme cela.... ca doit se faire en interne...


---------------
"S'il fallait construire des asiles pour les cons, vous imaginez la taille des batiments?..." A.Dussolier' Tais toi!!!'
http://perso.wanadoo.Fr/mantares
n°5990
Deather2
OpenBSD: the way to go!
Posté le 26-07-2005 à 12:00:33  profilanswer
 

oui, c'est en interne ;)

n°6029
Dr Lous
I see old password
Posté le 13-08-2005 à 01:47:08  profilanswer
 

faire gaffe avec les compilo C pour µC il ont pas tj tout :), mais en meme temps le CSS doit lui avoir presque tout :D mais bon faire un enum dans un code pour pic... autant faire un define XD

mood
Google
Posté le 13-08-2005 à 01:47:08  profilanswer
 


Aller à :
Ajouter une réponse
 

Hit Parade