Buscar

Aula 07 - Vetores de Caracteres

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

20/07/2013
1
João Monlevade, 20 de julho de 2013
Universidade Federal de Ouro Preto
Campus João Monlevade
Prof. Mateus Ferreira Satler
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Uma cadeia de caracteres é uma sequência de 
caracteres justapostos e são fundamentais no 
desenvolvimento de programas computacionais.
 Exemplos de cadeias de caracteres 
(representadas internamente num programa):
◦ Mensagem de e-mail;
◦ Texto de um programa;
◦ Nome e endereço em cadastro de clientes, alunos, etc...
◦ Sequencia genética. Um gene (ou o DNA de algum 
organismo) é composto de sequencias dos caracteres A, 
T, G e C (nucleotídeos)
2
20/07/2013
2
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Uma variável usada para armazenar um caractere 
é representada da seguinte maneira:
char letra; //a variável letra do tipo caracter
letra=‘w’; // atribuída a letra w a variável letra
 Se em uma variável do tipo caracter podemos 
armazenar somente 1(um) caractere, então para 
armazenar vários caracteres (ex: “jose” , “carro” ) 
é necessário utilizar as cadeias de caracteres, 
representadas por vetores do tipo caracter.
3
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Observe a declaração abaixo:
char cidade[14] ;
 A variável cidade é um vetor de caracteres 
(cadeia de caracteres)
 A variável cidade pode armazenar qualquer 
cadeia de até 14 caracteres
4
J o a o M o n l e v a d e
0 1 2 3 4 5 6 7 8 9 10 11 12 13
cidade
20/07/2013
3
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Sintaxe para declaração de cadeia de 
caracteres
char identificador [qtde caracteres];
 Exemplo:
◦ char nome[30];
◦ char profissao[20];
5
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Manipulação de cadeias de caracteres
◦ Vamos atribuir a variável nome, criada anteriormente, o 
nome Jose.
nome[0] = ‘J’;
nome[1] = ‘o’;
nome[2] = ‘s’;
nome[3] = ‘e’;
 Podemos ainda, obter um caracter qualquer da cadeia 
de caracteres da seguinte maneira:
char letra = nome[2]; // letra receberá a letra da 
posição 2 da cadeia de caracteres, ou seja, ‘s’.
6
20/07/2013
4
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Os caracteres em C são representados 
internamente por códigos numéricos (ASCII).
7
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 A diferença entre caracteres e inteiros está 
apenas na maneira como são tratados, por 
exemplo, o código:
char c = 97;
printf("int : %d char : %c\n", c, c);
 Imprimirá
int : 97 char : a
 O conteúdo da variável c é impressa em dois 
formatos distintos: %d (int) e %c (char).
8
20/07/2013
5
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Por questão de portabilidade, não se deve usar 
diretamente, no programa, o código de caracteres
 Ao invés, usa-se uma constante caractere: caractere entre 
apóstrofe. Reescrevendo o fragmento de código anterior:
char c = ‘a’;
printf("int : %d char : %c\n", c, c);
 Imprimirá
int : 97 char : a
 Pode-se trocar char c por int c o resultado será o mesmo.
9
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Entrada/Saída de caracteres em C:
◦ ch = getchar( );
 armazena um caractere digitado em ch até que ENTER seja pressionado;
◦ putchar(ch);
 Imprime o caractere ch na tela do computador;
 Exemplo:
int main()
{
char ch;
ch = getchar();
putchar(ch);
return 0;
}
10
20/07/2013
6
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Inicialização de cadeias de caracteres em C:
char graus[5] = { A', B', C', A, D'};
char bin[8] = { 0', 1', 0', 1', 1', 1', 0', 1'};
11
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Strings são tipos especiais de cadeias de 
caracteres em C e são terminadas, 
obrigatoriamente, pelo caractere nulo: \0
(\zero). Portanto, deve-se reservar uma 
posição para este caractere de fim de cadeia.
12
J o a o M o n l e v a d e
0 1 2 3 4 5 6 7 8 9 10 11 12 13
cidade
J o a o M o n l e v a d e \0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
cidade
20/07/2013
7
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Exemplos de strings em C:
char cidade[4] = { 'R', 'i', 'o', \ 0'};
char disc[40] = {'A','l','g','o','r','i','t','m','o','\ 0'};
 Outras formas de inicializarmos strings em C:
char cidade[4] = "Rio";
char disc[40] = "Algoritmo";
13
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Para ilustrar a declaração e a inicialização de 
strings, consideremos as seguintes declarações:
char s1[] = "" ; //2 aspas sem espaços entre elas
char s2[] = "Rio de Janeiro";
char s3[81];
char s4[81] = "Rio";
◦ s1 armazena uma string vazia. Tem um único elemento: 
‘\0’ ;
◦ s2 representa um vetor com 15 elementos (caracteres);
◦ s3 representa uma cadeia de caracteres com até 80 
caracteres e não é inicializada;
◦ s4 também é dimensionada para conter até 80 
caracteres e é inicializada com a cadeia “Rio”.
14
20/07/2013
8
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Leitura de strings (scanf).
int main()
{
char s[20];
printf(“Digite uma string: ”);
scanf(“%s”,s); //sem & antes de s
printf(“String digitada: %s”,s);
return 0;
}
◦ Neste caso, a leitura será feita até encontrar um 
caractere branco: espaço (‘ ’), tabulação (‘\t’) ou nova 
linha (‘\n’). Assim, se digitarmos “Rio de Janeiro”, s
conterá apenas “Rio”;
◦ Não é necessário o & antes da variável s em scanf.
15
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Leitura/Impressão de strings (gets/puts).
int main()
{
char s[20];
printf("Digite uma string: ");
gets(s);
printf("String digitada: ");
puts(s);
return 0;
}
◦ Neste caso, se digitarmos “Rio de Janeiro” , s conterá 
“Rio de Janeiro”
◦ gets(s): lê a string s a partir do teclado;
◦ puts(s): imprime uma string na tela seguida de nova 
linha.
16
20/07/2013
9
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Exemplo: o programa a seguir imprime uma 
cadeia de caracteres, caractere por caractere:
int main()
{
char s[30];
int i;
printf("Digite uma string: ");
gets(s);
//imprime cada caractere da cadeia lida
for(i=0; s[i]!='\0'; i++)
printf("%c",s[i]);
return 0;
}
◦ O for acima equivale a printf(“%s”,s);
17
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Exemplo: o programa a seguir calcula e imprime 
o comprimento (número de caracteres) de uma 
cadeia:
int main()
{
char s[30];
int i, n = 0;
printf("Digite uma string: ");
gets(s);
for(i=0; s[i]!='\0'; i++)
n++;
printf("\nO tamanho de \"%s\" eh: %d",s,n);
return 0;
}
18
20/07/2013
10
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Exemplo: o programa a seguir faz uma copia de 
uma cadeia, fornecida pelo usuário, para outra:
int main()
{
char dest[50], //string destino
orig[50]; //string origem
int i;
printf("Digite uma string: ");
gets(orig);
//copia cada caractere de orig para dest
for(i=0; orig[i]!='\0'; i++)
dest[i] = orig[i];
//coloca o caractere nulo para marcar o fim da string
dest[i] = '\0';
puts(dest);
return 0;
}
19
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Existem várias funções em C para manipulação 
de strings. Essas funções estão declaradas no 
arquivo string.h. Entre elas pode-se destacar:
◦ strcpy(char destino[ ], char origem[ ])
 copia a string origem na string destino
◦ strlen(char str[ ])
 retornao tamanho da string str
◦ strcat(char destino[ ], char origem[ ])
 Faz concatenação (junção) da string origem com a string
destino. O resultado é armazenado na string destino
20
20/07/2013
11
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Criar uma função que receba como parâmetro 
uma cadeia de caracteres (cadeia), seu 
tamanho (tam) e um segundo caractere 
(procurado). A função deverá retornar a 
quantidade que o caractere procurado foi 
encontrado na cadeia.
 Solução:
◦ Precisamos “varrer” a cadeia de caracteres 
(estrutura de repetição) e contar quantos são iguais 
ao caractere procurado, caractere a caractere.
21
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
22
20/07/2013
12
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
23
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
24
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
t e s t e
t
Função é 
chamada
20/07/2013
13
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
25
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
i = 0
encontrados = 0
t e s t e
t
Variáveis são
criadas e
inicializadas
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
26
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
i = 0
encontrados = 0
t e s t e
t
Estrutura de 
repetição onde 
será feita a 
busca
20/07/2013
14
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
27
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
i = 0
encontrados = 0
t e s t e
t
Testa primeiro 
caractere da 
cadeira com o 
procurado
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
28
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
i = 0
encontrados = 1
t e s t e
t
Como teste é 
válido, 
incrementa 
contador
20/07/2013
15
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
29
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
i = 1
encontrados = 1
t e s t e
t
Incrementa o i e 
continua na 
estrutura de 
repetição
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
30
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
i = 1
encontrados = 1
t e s t e
t
Testa segundo 
caracter e falha
20/07/2013
16
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
31
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
i = 2
encontrados = 1
t e s t e
t
Incrementa o i e 
continua na 
estrutura de 
repetição
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
32
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
i = 2
encontrados = 1
t e s t e
t
Testa terceiro 
caracter e falha
20/07/2013
17
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
33
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
i = 3
encontrados = 1
t e s t e
t
Incrementa o i e 
continua na 
estrutura de 
repetição
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
34
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
i = 3
encontrados = 1
t e s t e
t
Testa quarto 
caracter...
20/07/2013
18
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
35
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
i = 3
encontrados = 2
t e s t e
t
Como teste é 
válido, 
incrementa 
contador
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
36
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
i = 4
encontrados = 2
t e s t e
tIncrementa o i e 
continua na 
estrutura de 
repetição
20/07/2013
19
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
37
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
i = 4
encontrados = 2
t e s t e
t
Testa quinto 
caracter e falha
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
38
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
i = 5
encontrados = 2
t e s t e
t
Incrementa o i e 
o teste da 
estrutura de 
repetição falha
20/07/2013
20
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
int conta(char cadeia[], int tam, char procurado)
{
int encontrados, i;
encontrados=0;
for (i=0; i<tam; i++)
{
if (cadeia[i] == procurado)
{
encontrados++;
}
}
return encontrados;
}
39
O teste será realizado 
supondo que:
cadeia = “teste”
tam = 5
procurado = ‘t’
cadeia
procurado
i = 5
encontrados = 2
t e s t e
t
Retorna o 
número de 
caracteres 
encontrados: 2
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
1. Fazer um programa para contar o número de 
espaços em brancos de uma string.
2. Refaça o programa anterior criando uma função que 
receberá como parâmetro a string e retornará o 
número de espaços em branco que a string contem.
3. Fazer um programa para contar o número de vogais 
numa cadeia de caractere.
4. Refaça o programa anterior criando uma função que 
receberá como parâmetro a string e retornará o 
número de vogais que a string contem.
40
20/07/2013
21
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
5. Escrever um programa para ler uma string (com 
mais de uma palavra) e faça com que a primeira 
letra de cada palavra fique em maiúscula. Para isso, 
basta subtrair 32 do elemento que deseja alterar 
para maiúsculo. chrNome[0] = chrNome[0] - 32;
◦ Exemplo:
 Entrada: lab. de linguagem de programacao
 Saída: Lab. De Linguagem De Programacao
6. Escreva uma função que receba uma string, conte 
quantos caracteres desta string são iguais a ‘a’ e 
substitua os que forem iguais a ‘a’ por ‘b’. A função 
deverá retornar o número de caracteres 
modificados.
41
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
7. Crie um procedimento que receba uma frase e a 
exiba na tela de forma soletrada, ou seja, cada letra 
deve ser exibida na tela separada por hífen.
8. Crie um procedimento que receba uma string de no 
máximo 50 caracteres e inverta a ordem da string
digitada;
◦ Exemplo:
 Entrada: Teste
 Saída: etseT
9. Fazer um programa para determinar e imprimir 
uma string que será a concatenação de duas outras 
strings lidas.
42
20/07/2013
22
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
10. Faça uma função que receba uma string do usuário 
(máx. 20 caracteres) e um caractere qualquer. A 
função deverá remover todas as ocorrências do 
caractere da string e retornar o número de 
remoções.
11. Escreva uma função que receba uma cadeia de 
caracteres de tamanho máximo 100, e retornar 1 se 
esta cadeia é uma palíndrome e zero caso 
contrário. Uma palavra é dita ser palíndrome se a 
sequência de seus caracteres da esquerda para a 
direita é igual a sequência de seus caracteres da 
direita para a esquerda.
◦ Exemplo: arara, asa.
43
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
12. Um dos sistemas de encriptação mais antigos é 
atribuído a Júlio César: se uma letra a ser 
encriptada é a letra de número N do alfabeto, 
substitua-a com a letra (N+K), onde K é um número 
inteiro constante (César utilizava K = 3). Dessa 
forma, para K = 1 a mensagem “Ataque ao 
amanhecer” se torna “bubrfabpabnboifdfs”. Faça um 
procedimento que receba como entrada uma 
mensagem e um valor de K e modifique a 
mensagem original pela mensagem criptografada 
pelo código de César. Desenvolva também um 
procedimento que faça o contrário, ou seja, receba 
como entrada uma mensagem criptografada pelo 
código de César e modifique pela mensagem 
original.
44
20/07/2013
23
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Montar uma biblioteca com funções para 
manipular strings.
 IDEIA: Uma biblioteca é um conjunto de 
subrotinas e tipos de dados que você pode 
incluir no seu programa sem a necessidade de 
digitar novamente o código.
◦ Exemplo: #include <stdio.h> // biblioteca do sistema!
 Podemos criar nossas próprias bibliotecas!
45
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Como fazer:
1. No seu Projeto, crie e inclua um novo arquivo chamado 
“biblio.h” , onde iremos colocar somente os protótipos 
das subrotinas da nossa biblioteca.
2. Crie e inclua no mesmo Projeto o arquivo “biblio.c” , 
onde iremos colocar a implementação das subrotinas
prototipadas no arquivo “biblio.h”
3. No arquivo main.c do seu projeto, basta fazer referência 
à biblioteca criada (#include “biblio.h” ). Observe que 
você não utilizou os sinais de maior e menor para 
indicar a biblioteca, mas sim aspas. Isso indica que a 
biblioteca está no mesmo diretório do projeto.
46
20/07/2013
24
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Agora, construa sua biblioteca que forneça os principais recursos para a 
manipulação de strings. Sendo as funcionalidades propostas:
◦ Copia( ): copia uma string para outra
◦ Compara( ): compara duas strings
◦ Minusculo( ): transforma os caracteres em minúsculo
◦ Maiusculo( ): transforma os caracteres em maiúsculo
◦ Sentenca( ): organiza a string como sentença
◦ Pessoa( ): coloca os caracteres iniciais em maiúsculo
◦ Soma( ): soma duas strings
◦ ProcuraTrecho( ): procura uma string em outra
◦ ProcuraCaracter( ): procura o ocorrência de caracteres na string
47

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes