Mon programme doit imprimer un message à l'écran si la formule que l'utilisateur a entrée est bonne pour les termes (vous ne pouvez utiliser que des chiffres et des lettres, vous ne pouvez pas commencer par '(' et comme une formule mathématique, pour chaque crochet ouvert, il doit y avoir un crochet fermé approprié (et au bon endroit).
voici quelques formules que le programme devrait accepter et des empreintes :
Vrai-
- a(aa(a)aaa(aa(a)aa)aa)aaaa
- a(((())))
voici quelques formules que le programme ne devrait pas accepter et des empreintes :
Faux-
- ()()()
- )()()(
mais le programme imprime toujours Faux Merci de votre aide Voici le code : EDIT
bool IsNumeric(char character)
{
return "0123456789".Contains(character);
// or return Char.IsNumber(character);
}
bool IsLetter(char character)
{
return "ABCDEFGHIJKLMNOPQRSTUVWXWZabcdefghigjklmnopqrstuvwxyz".Contains(character);
}
bool IsRecognized(char character)
{
return IsBracket(character) | IsNumeric(character) | IsLetter(character);
}
public bool IsValidInput(string input)
{
if (String.IsNullOrEmpty(input) || IsBracket(input[0]))
{
return false;
}
var bracketsCounter = 0;
for (var i = 0; i < input.Length; i++)
{
var character = input[i];
if (!IsRecognized(character))
{
return false;
}
if (IsBracket(character))
{
if (character == '(')
bracketsCounter++;
if (character == ')')
bracketsCounter--;
}
}
if (bracketsCounter > 0)
{
return false;
}
return bracketsCounter==0;
}
}
}