3 votes

Comment puis-je vérifier si la chaîne d'entrée contient une combinaison de majuscules et de minuscules?

Je voudrais savoir comment vérifier si la chaîne d'entrée contient une combinaison de lettres majuscules et minuscules. Ensuite, affichez une déclaration pour montrer que la chaîne d'entrée contient une combinaison de lettres majuscules et minuscules.

0voto

Ulquiorra Points 176

Vous pouvez facilement le faire en utilisant la valeur ASCII.

Voici 2 algorithmes que vous pouvez coder:

1. Initialiser deux variables lowerCase comme false et upperCase comme false.
2. Sélectionnez chaque caractère de la chaîne d'entrée.
   2.a. Obtenir la valeur ascii pour ce caractère
   2.b. Si elle est supérieure ou égale à 97 alors définir lowercase sur true. sinon définir uppercase sur true.
3. Si le résultat final contient à la fois upperCase et lowerCase sur true alors il contient une combinaison de majuscules et de minuscules.

L'autre moyen beaucoup plus simple est.

 1. convertir la chaîne donnée en minuscules.
 2. vérifier si elle est égale à la chaîne d'origine, si c'est le cas alors c'est en minuscules et retourner.
 3. Convertir la chaîne d'origine en majuscules et comparer à nouveau avec la chaîne d'origine
 4. Si elles sont égales alors la chaîne est en majuscules sinon c'est une combinaison de majuscules et de minuscules.

0voto

Connor Hollis Points 862

Vous pouvez comparer les codes de caractères en ASCII les uns aux autres pour vérifier si votre valeur est dans une plage ou non.

Ce code fonctionne si vous ne savez pas que la chaîne ne contiendra que des lettres. Vous pouvez supprimer certaines vérifications si vous savez qu'il ne contiendra que des lettres.

int checkLowerAndUpper( char * string ) /* passez un pointeur de caractère null-terminé */
{
  int i; /* variable de boucle */
  int length = strlen(string); /* Longueur */
  int foundLower = 0; /* entiers "booléens" */
  int foundUpper = 0;

  for( i = 0; i < length; ++i ) /* Boucler sur toute la chaîne */
  {
    if( string[i] >= 'a' && string[i] <= 'z' ) /* Vérifier en minuscules */
      foundLower = 1;
    else if( string[i] >= 'A' && string[i] <= 'Z' ) /* Comparer en majuscules */
      foundUpper = 1;

    if( foundLower && foundUpper )
      return 1; /* Il y a des caractères en plusieurs cas dans cette chaîne */
  }

  return 0; /* Toutes les lettres sont d'un seul cas */
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X