departamento da feira de santana
Departamento de Ciências Exatas
Engenharia de Computação
EXA801 – Algoritmos e Programação 1
EXA801 Algoritmos e Programação 1
Prof. Matheus Giovanni Pires
Aula 6 Strings
Aula 6‐Strings
Esta aula foi baseada em material cedido gentilmente pelas professoras
Ana Lúcia Lima Marreiros Maia e Fabiana Cristina Bertoni
Strings
• Propondo um problema
– Suponha que queremos escrever um programa capaz de ler e armazenar o primeiro nome de uma pessoa e depois imprimi‐lo. Sabemos que uma variável simples do tipo char i i il S b iá l i l d i h é capaz de armazenar apenas um caractere. Entretanto, aprendemos como criar uma estrutura capaz de aprendemos como criar uma estrutura capaz de armazenar mais de um elemento de um mesmo tipo, os vetores. 2
Declarando uma String
Declarando uma String
• Declarando um vetor de caracteres
– Para o nosso programa criaremos então um vetor de caracteres. Cada posição desse vetor armazenará um caractere do primeiro nome da pessoa. Uma declaração d i i d U d l ã possível seria:
char N h Nome[10];
[10]
• Com essa declaração estamos reservando 10 espaços de memória (indexados de 0 a 9) capazes de armazenar um caractere cada.
3
Lendo uma String: 1 versão
Lendo uma String: 1ª versão
• Armazenando dados em um vetor de caracteres for (i = 0; i < 10; i++){ printf("Digite a %dª l t i tf("Di it letra do seu nome: ", i + 1) d "
1);
scanf("%c", &Nome[i]);
}
– Um inconveniente desta versão é que o usuário deverá digitar 10 caracteres. Entretanto, não sabemos de antemão digitar 10 caracteres Entretanto não sabemos de antemão quantos caracteres o nome da pessoa possui. Uma solução p possível é perguntar ao usuário quantos caracteres tem o p g q seu nome.
4
Lendo uma String: 2 versão
Lendo uma String: 2ª versão
• Armazenando dados em um vetor de caracteres printf("\nQuantos caracteres p intf("\nQ antos ca acte