Ir ao conteúdo

Posts recomendados

Postado

Bom dia pessoal,

 

estou com uma dúvida que parece ser bem simples mas ainda não descobri como fazer.

 

Por exemplo, no meu programa o usuário vai ter que dar a seguinte instrução de entrada:

 

Siga norte a partir da Avenida NS da Penha 1600

 

Eu preciso que "norte" seja atribuído a uma string nomeada de direção, 

preciso que "Avenida NS da Penha" seja atribuída a uma string nomeada de rua,

e por final, preciso que "1600" seja atribuída a um inteiro nomeado de num. 

 

Isso sem ter que digitar um por um, pausadamente, o programa precisa que capture essas informações e as atribua as variáveis.

 

Como faço isso?

 

Agradeço desde já!

Postado

vando, muitíssimo obrigado pela explicação, foi muito simples e intuitiva!

 

Agora consigo compreender bem melhor o funcionamento do scanf.

 

e se no caso, ao invés de pré-definir o conteúdo do ponteiro frase que atualmente é "Siga norte a partir da Avenida NS da Penha 1600", eu mesmo digitar o texto, como eu faria? 

adicionado 22 minutos depois

Não sei se é a forma mais apropriada, mas fiz assim:

int main()
{
    char direcao[100], rua[200];
    int num;
    char nome[100];
    Pilha* p = novaPilha();
    scanf("%[A-Z a-z 0-9",nome);
    char* frase = nome;
    sscanf(frase, "%*s %s %*c %*s %*s %[^0-9]s %d", direcao, rua, &num);
    printf("Direcao: %s \nRua: %s \nNum: %d \n\n", direcao, rua, num);
return 0;
}

 

Visitante
Este tópico está impedido de receber novas respostas.

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