Ir para conteúdo
Fórum Script Brasil
  • 0

[DÚVIDA] Exercício com string.


Senhor.

Pergunta

Boa noite, pessoal. Sou estudante de programação e tenho o desafio da elaboração do seguinte exercício: "Dada a sigla de um estado brasileiro, informar o nome dado a quem nasce ali. (Ex.: SP = paulista; AC = acriano)"

O exercício deve conter todos os estados, e também deve conter todos os nomes dados a quem nasce em determinado estado.

Ainda não aprendi strings, mas já deparei-me com essa situação-problema. Não faço ideia de como usá-las, bem como o case.

#include <stdio.h>

#include <stdlib.h>

int main()

{

char
estado;

printf(
"Digite a sigla do estado (em maiusculo): "
);

scanf(
"%s"
, estado);

if(estado==
"AC"
)
printf(
"Quem nasce no Acre e' acriano ou acreano. \n"
);

system("pause");

return 0;

}

Observação: uso o Dev C++, e o arquivo está em formato .c

E perdão por não ter usado a CODEBOX, deu erro.

Editado por Senhor.
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Você tem que declarar a variável com mais do que um caractere:

char estado[x];

x = se você precisa de 2 caracteres (SP, PR, RJ), use 3. se você precisa de 3, use 4...

x = quantos caracteres você precisa + 1

Para comparar as strings, você terá que usar a função strcmp da string.h.

http://www.cplusplus.com/reference/clibrary/cstring/strcmp/

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Evoluiu... Mas agora aparecem todos os valores, exceto o da sigla. T_T

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{    char estado[3];
    printf("Digite a sigla do estado (em maiuscula): ");
    gets(estado);
    if(strcmp(estado,"AC"))
       printf("Quem nasce no Acre e' acriano ou acreano. \n");
    if(strcmp(estado,"AL"))
       printf("Quem nasce em Alagoas e' alagoano. \n");
    if(strcmp(estado,"S"))
       printf("Quem nasce em são Paulo e' paulista. \n");
    system("pause");
    return 0;}

Link para o comentário
Compartilhar em outros sites

  • 0

Return value:

Returns an integral value indicating the relationship between the strings:

A zero value indicates that both strings are equal.

Ou seja, quando as strings são iguais, a função strcmp retorna zero. Tem que comparar com zero em cada if.

Abraços!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...