Jump to content
Fórum Script Brasil
  • 0

<CodeBlocks> Lista de exceções & Case Sensitive


Cleber Griff

Question

Estou criando um programa para exibir a ficha de um carro segundo informações do usuário: Marca, Modelo, Placa, etc..

Dúvida 1: como faço para criar uma espécie de "Lista" com o nome das marcas de carro, para o programa retornar um "Marca inexistente". Também tenho a dúvida de como "liberar" os modelos segundo a marca, sem utilizar tantos if's quanto estou pensando. Vou precisar aprender a lidar com Banco de Dados?

Dúvida 2: queria um modo de escrever "FIAT", "Fiat" ou "fiat" sem diferenciar uma da outra no programa (quando o usuário digitar a marca, independente de maiuscula ou minuscula, ele vai cair no mesmo lugar).

Agradeço a todos que puderem me ajudar!

Edited by Cleber Griff
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Você pode armazenar tudo num arquivo de texto, e manipulá-lo através das funções fopen, fread e semelhantes... ou pode criar uma matriz com todos os nomes de carros.

Quanto a duvida 2, basta converter todos os caracteres que o usuario digitar para minúsculo.

Link to comment
Share on other sites

  • 0
Você pode armazenar tudo num arquivo de texto, e manipulá-lo através das funções fopen, fread e semelhantes... ou pode criar uma matriz com todos os nomes de carros.

Quanto a duvida 2, basta converter todos os caracteres que o usuario digitar para minúsculo.

Olá, mJi!

Vou tentar criar uma matriz, vejo que vai ser muito útil!

Quanto a converter os caracteres para maiúsculo, poderia me dizer como faço isso?

Desculpas pela leiguice :)

Link to comment
Share on other sites

  • 0
Quanto a converter os caracteres para maiúsculo, poderia me dizer como faço isso?

Desculpas pela leiguice :)

Claro...

você pode utilizar a função tolower() da biblioteca type.h. Ela converte o caractere passado como parâmetro para minúscula, caso seja maiúscula.

Exemplo:

for(i=0;i<N;i++)
          tolower(string[i]);
Caso prefira, pode também usar um if para verificar se o caractere é maior que 64 e menor que 91 (na tabela ASCII). Se for, some à ele 32. Exemplo usando operador ternário:
for(i=0;i<N;i++)
          string[i] += (string[i] > 64 && string[i] < 91) ? 32 : 0;

Eu pessoalmente prefiro ir pelo if, é mais rápido.

Edited by mJi
Link to comment
Share on other sites

  • 0

Uma outra função que torna não só um caracter, mas a string toda em maiúscula ou minúscula.

strupr(nome_da_string): Coloca toda a string em maiúsculo.

strlwr(nome_da_string): Adivinha...

Assim, depois do usuário ter digitado a string, você aciona a função e a string toda ficará em maiúsculo/minúsculo.

Edited by bruce845
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...