Ir ao conteúdo
  • Cadastre-se

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


Ir à solução Resolvido por devair1010,

Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

  • Solução

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

 

Link para o comentário
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
Link para o comentário
Compartilhar em outros sites

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!