Ir ao conteúdo

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


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

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
  • Solução
Postado

@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]);

 

Postado

: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

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!