Ir ao conteúdo
  • Cadastre-se
Rafael Novato

C++ RESOLVIDO Verificar último caracter de uma string em C++

Recommended Posts

Tenho que escrever um código em C++ no qual o programa receba uma palavra de até 20 caracteres, em seguida ele vai verificar se o último carácter é vogal, caso seja ele vai escrever SIM na tela, caso contrário NAO. Eu já sei como se usa o if else... Enfim, estou com dificuldades em saber como verificar o último índice da string, em como verificar sempre a última letra independente se a palavra tem 5 ou 10 letras. Desde já obrigado.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Rafael Novato     para saber o tamanho da palavra, que é a quantidade de caracteres que tem essa palavra,  você usaria esse comando :

tam = strlen(palavra); 

então na posição tam-1, por que o vetor começa em zero, é onde está localizado o último caractere da palavra,   então você compara para ver se é alguma vogal maiúscula ou minúscula assim :

letra = toupper(palavra[tam-1]);
if(letra=='A' || letra=='E' || letra=='I' || letra=='O' || letra=='U')
    printf("SIM --> A Ultima Letra e a Vogal %c\n\n",palavra[tam-1]);

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

:wiggle:Exemplo, olhe se quiser!

Spoiler

// Programa Compilado C++11
#include<iostream> // met wcin, wcout
#include<iomanip>  // met setw,
#include<string>   // Obj string

int main()
{//DECLARAÇÃO DE VARIÁVEIS
  std :: wstring str;  //Variável str é do tipo string UTF-8


 //CONFIGURAÇÃO (LETRAS E CARACTERES) PARA PORTUGUÊS
  std :: setlocale( LC_CTYPE, "Portuguese" );

 //INTERAÇÃO PROMPT
  std :: wcout << L"Digite palavra com até 20 carcteres: ";

 //RESERVAR MEMORIA PARA 20 CARACTERES + '\0'
 //Capturar Palavra Digitada no limite de 20 caracteres.
  str.reserve( 21 );
  std :: wcin >> std :: setw( 20 );
  std :: wcin >> str;

 //CASO: OCORRENCIA PARA VOGAL
  switch( str.back() )
          { case 'A':case'a':
            case 'E':case'e':
            case 'I':case'i':
            case 'O':case'o':
            case 'U':case'u':
                             std :: wcout << L"SIM" << std :: endl;
                             break;
            default:
                    std :: wcout << L"NÃO" << std :: endl;
                    break; }
  return 0x0; }

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×