Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5009 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [C] Multi-condition dans If....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Multi-condition dans If....

n°1477603
sideo
Hey, Tu prends l'apéro ?
Posté le 17-11-2006 à 18:46:20  profilanswer
 

plop all, :hello:
 
Voila je voudrai savoir comment compresser tout ca (si c'est possible :))

Code :
  1. if ((str[i] == 'd' || str[i] == 'i' || str[i] == 'o' ||  str[i] == 'u ))
  2. ...;


 
et recuperer un truc dans ce style :

Code :
  1. if (str[i] == 'd,o,u')
  2. ...;


 
Thx, :jap:
Sid.


---------------
@{epitech.}
mood
Publicité
Posté le 17-11-2006 à 18:46:20  profilanswer
 

n°1477630
jesus_chri​st
votre nouveau dieu
Posté le 17-11-2006 à 19:45:06  profilanswer
 

Code :
  1. switch (str[i])
  2. {
  3.    case 'd' :
  4.    case 'i' :
  5.    case 'o' :
  6.    case 'u' : ...;
  7. }


Message édité par jesus_christ le 17-11-2006 à 19:45:12
n°1477631
franceso
Posté le 17-11-2006 à 19:45:37  profilanswer
 

je sais pas si c'est mieux, mais on peut l'écrire comme ça:

Code :
  1. switch (str[i])
  2. {
  3.   case 'd': case 'o': case 'u':
  4.     /* ... */
  5. }


 
edit : grillaid [:benou_grilled]


Message édité par franceso le 17-11-2006 à 19:46:17

---------------
TriScale innov
n°1477632
jesus_chri​st
votre nouveau dieu
Posté le 17-11-2006 à 19:46:17  profilanswer
 
n°1477633
franceso
Posté le 17-11-2006 à 19:47:34  profilanswer
 


j'ai même faillé être grillé sur le grilled ! (ça s'est joué à la seconde !)


---------------
TriScale innov
n°1477634
jesus_chri​st
votre nouveau dieu
Posté le 17-11-2006 à 19:48:12  profilanswer
 

j'ai déjà fait un triple grilled une fois, mais là tu t'es pas fait avoir !
j'aurais du attendre un peu plus ;)

n°1477635
sideo
Hey, Tu prends l'apéro ?
Posté le 17-11-2006 à 19:59:47  profilanswer
 

erfl, c'est hors-norme a l'epitech switch... autre chose ?


---------------
@{epitech.}
n°1477637
Emmanuel D​elahaye
C is a sharp tool
Posté le 17-11-2006 à 20:37:21  profilanswer
 

sideo a écrit :

et recuperer un truc dans ce style :

Code :
  1. if (str[i] == 'd,o,u')
  2. ...;



strchr().


Message édité par Emmanuel Delahaye le 17-11-2006 à 22:16:27

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1477655
Joel F
Real men use unique_ptr
Posté le 17-11-2006 à 21:49:42  profilanswer
 

sideo a écrit :

erfl, c'est hors-norme a l'epitech switch... autre chose ?


C'est quoi cette balgue o_O
Ils cherchent le baton pour ce faire battre ou quoi :o

n°1477661
Emmanuel D​elahaye
C is a sharp tool
Posté le 17-11-2006 à 22:17:41  profilanswer
 

Joel F a écrit :

C'est quoi cette balgue o_O
Ils cherchent le baton pour ce faire battre ou quoi :o


C'est la pédagogie EPITECH dite "B*te et Couteau"


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
mood
Publicité
Posté le 17-11-2006 à 22:17:41  profilanswer
 

n°1477673
jesus_chri​st
votre nouveau dieu
Posté le 17-11-2006 à 22:57:00  profilanswer
 

sideo a écrit :

erfl, c'est hors-norme a l'epitech switch... autre chose ?


le switch est interdit à l'épitech ?
je bosse avec plein de gards de l'épitech, je leur demanderai... bizzare, je vois pas le pb avec switch, et c'est assez rapide en plus un switch

n°1477780
sideo
Hey, Tu prends l'apéro ?
Posté le 18-11-2006 à 14:19:51  profilanswer
 

c'est une histoire compliquee, ya pas de reference swirch ou je sais plus quoi...


---------------
@{epitech.}
n°1477834
jesus_chri​st
votre nouveau dieu
Posté le 18-11-2006 à 18:04:44  profilanswer
 

ben je demanderai ;)

n°1479288
Joel F
Real men use unique_ptr
Posté le 21-11-2006 à 14:41:09  profilanswer
 

sideo a écrit :

c'est une histoire compliquee, ya pas de reference swirch ou je sais plus quoi...

 

[:pingouino] quand même ca parait gros na ?

Message cité 1 fois
Message édité par Joel F le 21-11-2006 à 14:41:23
n°1479296
Elmoricq
Modérateur
Posté le 21-11-2006 à 14:49:02  profilanswer
 

sideo a écrit :

c'est une histoire compliquee, ya pas de reference swirch ou je sais plus quoi...


 
y a pas de quoi ? [:pingouino dei]

n°1479388
LetoII
Le dormeur doit se réveiller
Posté le 21-11-2006 à 16:12:58  profilanswer
 

Joel F a écrit :

[:pingouino] quand même ca parait gros na ?


 [:benou_+1]

n°1479418
sideo
Hey, Tu prends l'apéro ?
Posté le 21-11-2006 à 16:28:58  profilanswer
 

j'attend la reponse de jesus_christ


---------------
@{epitech.}
n°1480204
jesus_chri​st
votre nouveau dieu
Posté le 22-11-2006 à 19:45:20  profilanswer
 

j'ai demandé et en effet à l'épitech ils ont comme consigne déviter le plus possible les switch et ne s'en servir que quand on peut pas trop faire autrement. Le if-else if-else if... est lui vraiment prohibé.
 
j'ai pas eu de réponse + précise

n°1480239
0x90
Posté le 22-11-2006 à 20:09:48  profilanswer
 

Directives de qualité [:bien]

n°1480251
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 22-11-2006 à 20:26:17  profilanswer
 

super pratique [:pingouino]
une jolie école que voila [:vague nocturne]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1480297
sideo
Hey, Tu prends l'apéro ?
Posté le 22-11-2006 à 21:28:51  profilanswer
 

j'ai trouvé une autre solution.... les pointeurs sur fonctions avec structures...


---------------
@{epitech.}
n°1480335
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 22-11-2006 à 23:13:14  profilanswer
 

[:psywalk]


Message édité par Harkonnen le 22-11-2006 à 23:13:29

---------------
J'ai un string dans l'array (Paris Hilton)
n°1480344
Emmanuel D​elahaye
C is a sharp tool
Posté le 22-11-2006 à 23:23:43  profilanswer
 

sideo a écrit :

j'ai trouvé une autre solution.... les pointeurs sur fonctions avec structures...


+1
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1480351
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 22-11-2006 à 23:28:49  profilanswer
 

tout ça pour éviter un switch ! mais ils ont quoi contre le switch à l'épitech ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°1480356
0x90
Posté le 22-11-2006 à 23:34:20  profilanswer
 

Harkonnen a écrit :

tout ça pour éviter un switch ! mais ils ont quoi contre le switch à l'épitech ?


 
Je parierais sur la peur que les débutants se plantent à cause du fall-through :/

n°1480395
Joel F
Real men use unique_ptr
Posté le 23-11-2006 à 08:42:36  profilanswer
 

0x90 a écrit :

Je parierais sur la peur que les débutants se plantent à cause du fall-through :/


 :heink: bonjour la parano ... perso, pour donner des cours de C, la première peur c'ets que les éléves pigent pas les pointeurs.
Le fall-through  :sleep:

n°1480418
tbp
Posté le 23-11-2006 à 09:46:20  profilanswer
 

sideo a écrit :

j'ai trouvé une autre solution.... les pointeurs sur fonctions avec structures...


Erf. Tant qu'a jeter de la mémoire sur le problème...
 

Code :
  1. uchar_t lut[256];
  2. memset(lut, 0, 256);
  3. lut['d'] = 1;
  4. lut['o'] = 1;
  5. lut['u'] = 1;
  6. ...
  7. if (lut[str[i]])
  8. ...


n°1480435
sideo
Hey, Tu prends l'apéro ?
Posté le 23-11-2006 à 10:12:24  profilanswer
 

mouai pourquoi pas... là je perds des lignes (la norme n'en autorise que 25 par fonction...) tandis qu'avec ma structure je fais ce que je veux...


---------------
@{epitech.}
n°1480441
tbp
Posté le 23-11-2006 à 10:29:46  profilanswer
 

sideo a écrit :

mouai pourquoi pas... là je perds des lignes...


Mais moi aussi, je fais ce que je veux.

Code :
  1. const uchar_t lut[256] = "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000100000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
  2. ...
  3. if (lut[str[i]] & 1)
  4. ...


 
Mieux?

n°1480444
Chaos Inte​stinal
Posté le 23-11-2006 à 10:37:31  profilanswer
 

La norme Epitech interdit le swicth ? Lolley [:pingouino]
A l'Epita ils avaient laissé tomber ça depuis un moment...  
 
http://www.lrde.epita.fr/~raph/doc [...] index.html

n°1480450
sideo
Hey, Tu prends l'apéro ?
Posté le 23-11-2006 à 10:44:57  profilanswer
 

http://img225.imageshack.us/img225/3882/sanstitre1vh0.jpg


---------------
@{epitech.}
n°1480456
Chaos Inte​stinal
Posté le 23-11-2006 à 10:51:37  profilanswer
 

Voui, je contredis pas, mais je m'interroge sur le fait que ça soit resté comme ça depuis le temps. Effet Sadirac (coder sans bug, c'est pas donné à tout le monde, ça doit être parce qu'il utilise pas de switch :o) ?
 
Hum, la justification avait été donnée ? Parce que depuis les travaux des Raphael Poss chez nous, y'a des justifications dans la norme sur le pourquoi du comment. Il m'avait réconcilié avec la norme d'ailleurs. Sacré mec.

n°1480472
tbp
Posté le 23-11-2006 à 11:02:10  profilanswer
 

Toutafaÿ. Il faut proteger les faibles d'esprit des abominations des Duff's device et autres computed goto.

n°1480517
0x90
Posté le 23-11-2006 à 11:47:01  profilanswer
 

#define canard sw ## itch
[:cupra]

n°1480522
Chaos Inte​stinal
Posté le 23-11-2006 à 11:49:02  profilanswer
 

0x90 a écrit :

#define canard sw ## itch
[:cupra]


 
Je crois que les moulinettes de vérification de code passent après le préprocesseur [:petrus75]
Et ce genre de tricks valait une note négative à son auteur [:azylum]

n°1480621
tbp
Posté le 23-11-2006 à 13:51:44  profilanswer
 

Chaos Intestinal a écrit :

Je crois que les moulinettes de vérification de code passent après le préprocesseur [:petrus75]


Code :
  1. int tralalala(const char c) {
  2. char cmd[] = "./gni ?";
  3. FILE *o = popen("gcc -x c -o gni -", "wb" );
  4. fprintf(o,"int main(int argc, char *argv[]) { s" );
  5. fprintf(o,"witch (argv[1][0]) { case 'o': case 'u': case 'd': return 1; default: return 0; }; }\n" );
  6. fclose(o);
  7. cmd[6] = c;
  8. return system(cmd);
  9. }


n°1481557
jesus_chri​st
votre nouveau dieu
Posté le 24-11-2006 à 22:30:46  profilanswer
 

Chaos Intestinal a écrit :

Je crois que les moulinettes de vérification de code passent après le préprocesseur [:petrus75]
Et ce genre de tricks valait une note négative à son auteur [:azylum]


ouais, -42 pour les tricheurs.
Un autre monde l'épitech qd même...

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [C] Multi-condition dans If....

 

Sujets relatifs
Liste multi ple[Résolu] Condition multiple "souple"
[AJAX] Comment gérer les clients ? (jeu multi)[SQL] condition pour choisir le plus grand
condition avec boutons radioEliminer doublons d'une table avec condition sur un champ
script multi upload multi siteAfficher un champ d'un etat sous condition
conditioncopier/coller des lignes sous excel avec condition
Plus de sujets relatifs à : [C] Multi-condition dans If....


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)