Portal SAMP
[Ajuda] Função que verifica se o nome tem letras maiúsculas - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Função que verifica se o nome tem letras maiúsculas (/showthread.php?tid=663)



Função que verifica se o nome tem letras maiúsculas - Gustavo P - 17/01/2021

alguem pode mandar pfv?


RE: Função que verifica se o nome tem letras maiúsculas - Dr Editor - 18/01/2021

Só precisa verificar caracteres especiais, pois serão a condição retornará true para eles também, mas a base é essa.
Código:
new nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof nome);
    
for(new i = 0; i < strlen(nome); i ++)
{
    if(nome[i] == toupper(nome[i]))
        printf("Letra maiúscula na posição %i", i);
}



RE: Função que verifica se o nome tem letras maiúsculas - Gustavo P - 18/01/2021

No seu caso eu faria strcmp nome [i], @
Tipo isso ? E outra coisa por acaso você teria a lista de todos os caracteres especiais ? .-.

Tô adicionando aqui é só se falta algum..


RE: Função que verifica se o nome tem letras maiúsculas - Dr Editor - 18/01/2021

O código acima foi só uma lógica rápida que tinha criado, mas essa abaixo é a mais adequada.

Código:
stock HaveCharUpperCase(const str[])
{
    new letters[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
       
    for(new i = 0; i < strlen(str); i ++)
    {
        for(new ii = 0; ii < strlen(letters); ii ++)
        {
            if(str[i] == letters[ii])
            {
                // Letra maiúscula
                return true;
            }
        }
    }
    return false;
}