Besoin d'aide en c++ un truc facil merci

thomas -  
 Jolkdarr -
bonjour

je suis nul en c++ et j'ai besoin d'aide

j'ai une chaine de caractere qui est la suivante:

" 00154212;x=1;y=1;z=0;r=1; "

dedant je doit prendre la valeurs de x de y de z et de r
x, y, z et r ne peuvent avoir que 0 ou 1 comme valeurs

nota : ici x=1 y=1 z=0 ..

puis je dois construire un mots de 16 bits avec que des 0 sauf les 4 derniers bits qui sont la valeurs de x , y, z et r

ici on aurai 0000000000001101

merci de m'aider c'est urgent

1 réponse

  1. Jolkdarr
     
    Hello !
    struct xyzr
    {
    	unsigned int x:1;
    	unsigned int y:1;
    	unsigned int z:1;
    	unsigned int r:1;
    
    	xyzr& operator<<(const char* In)
    	{
    		const char* P = In;
    		while (*++P != 'x') ;
    		x = P[2];
    		P = In;
    		while (*++P != 'y') ;
    		y = P[2];
    		P = In;
    		while (*++P != 'z') ;
    		z = P[2];
    		while (*++P != 'r') ;
    		r = P[2];
    		return *this;
    	}
    };
    
    int
    main()
    {
    	// exemple d'utilisation :
    	const char* In = "00154212;x=1;y=1;z=0;r=1;";
    	xyzr Out;
    	Out << In; // conversion chaine -> xyzr
    }
    


    Take care !
    0