Calcul via Opérateurs logiques
Bonjour à tous,
J'essaye de faire des calculs avec des opérateurs logiques (AND, OR, XOR...etc), pour cela j'ai une textBox qui me permet de saisir le calcul mais en utilisant:
Or, en C# on sait que :
J'ai donc quelques lignes de code qui remplacent les "+" et "*" en "|" et "&" :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| private char a1 = '|';
private char b1 = '&';
private char c1 = '!';
private static char[] badCharacter1 = { '+' };
private static char[] badCharacter2 = { '*' };
private static char[] badCharacter3 = { '!' };
string txtin = txtExpression.Text; //zone de saisie du texte en forme originale
string txtout = txtin; //Utilisé pour le remplacement des caractères
for (int j = 0; j < badCharacter1.Length; j++)
{
txtout = txtout.Replace(badCharacter1[j], a1);
}
for (int j = 0; j < badCharacter1.Length; j++)
{
txtout = txtout.Replace(badCharacter2[j], b1);
}
for (int j = 0; j < badCharacter1.Length; j++)
{
txtout = txtout.Replace(badCharacter3[j], c1);
} |
Donc par exemple:
Citation:
Si txtin = a+b+c*(d*e)
Alors txtout = a|b|c&(d&e)
Avec a,b,c,d et e = 0 ou 1
Mon problème:
J'aimerai obtenir le résultat : "0" ou "1" suivant ce qui est écrit dans txtout en considérant que les valeurs des variables sont rentrées préalablement. (En clair, j'aimerai que txtout soit transformée en une équation)
Code:
1 2
|
int Result = Convert.ToInt32(txtout); // ne marche pas |
Comment faire pour transformer "txtout" en une équation et en afficher le résultat en int ?