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

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