Buscar

ECT1203_-_Aula09_-_Strings

Prévia do material em texto

ECT1203 Linguagem de Programação 
2012.2 
Prof. Aquiles Burlamaqui 
Prof. Luiz Eduardo Cunha Leite 
 
Aula 09 – Strings 
Universidade Federal do Rio Grande do Norte 
Escola de Ciências e Tecnologia 
Hora de silenciar o celular 
• Manter o celular sempre desligado/silencioso quando 
estiver em sala de aula 
• Nunca atender o celular em sala de aula 
Objetivo da aula 
Apresentar Strings em C++: 
▫ Leitura e Escrita de Strings 
▫ Funções de manipulação de String 
▫ Exemplos de utilização de String 
String 
• Cadeia de caracteres 
• Pode ser representado por um vetor de caracteres 
(matriz unidimensional) 
• Terminada por \0 (nulo ou zero) 
Lendo e escrevendo 
 
char nome[50]; //declarando um string 
cin >> nome; //lendo 
cout << nome; //escrevendo 
 
 
Lendo e escrevendo 
• Outras formas de ler e escrever: 
 
 
 
 
 
• Para usar gets e puts, é necessário incluir o arquivo de 
cabeçalho cstdio 
• gets coloca o ‘\0’ no final do string 
• puts pula uma linha (coloca o ‘\n’ no final) 
String – Funções de cstring 
• strcpy(s1, s2) 
▫ Copia s2 em s1 
• strcat(s1, s2) 
▫ Concatena s2 ao final de s1 
• strlen(s1) 
▫ Retorna o tamanho de s1 
• strcmp(s1, s2) 
▫ Retorna 0 se s1 e s2 forem iguais; menor que 0 se s1 < s2; 
maior que 0 se s1 > s2 
strcpy 
#include <iostream> 
#include <cstring> 
#include <cstdio> 
using namespace std; 
int main() { 
 char nomeA[50]; 
 char nomeB[50] = "Silva"; 
 strcpy(nomeA,"Joao"); 
 puts(nomeA); 
 strcpy(nomeA,nomeB); 
 puts(nomeA); 
 return 0; 
} 
strcpy(s1, s2) copia s2 em s1 
nomeA passa a ser “Joao” 
nomeA passa a ser “Silva” 
#include <iostream> 
#include <cstring> 
#include <cstdio> 
using namespace std; 
int main() { 
 char nomeA[50] = “Joao”; 
 char nomeB[50] = “ Silva"; 
 strcat(nomeA,nomeB); 
 puts(nomeA); 
 return 0; 
} 
strcat 
strcat(s1, s2) concatena s2 ao final de s1 
nomeA passa a ser 
“Joao Silva” 
strlen 
#include <iostream> 
#include <cstring> 
#include <cstdio> 
using namespace std; 
int main() { 
 char nomeA[50] = "Joao"; 
 char nomeB[50] = " Silva"; 
 puts(nomeA); 
 cout <<"Tamanho de nomeA: “<<strlen(nomeA)<< endl; 
 puts(nomeB); 
 cout <<"Tamanho de nomeB: “<<strlen(nomeB)<< endl; 
 strcat(nomeA,nomeB); 
 puts(nomeA); 
 cout <<"Tamanho de nomeA depois do strcat: ” <<strlen(nomeA)<< endl; 
 return 0; 
} 
strlen(s) retorna o tamanho de s 
strcmp 
strcmp(s1,s2) retorna 0 se s1 = s2; 
menor que 0 se s1 < s2; maior que 0 se s1 > s2 
#include <iostream> 
#include <cstring> 
#include <cstdio> 
using namespace std; 
int main() { 
 char nomeA[] = "ect"; 
 char nomeB[] = "ECT"; 
 char nomeC[] = "et"; 
 char nomeD[] = "ect"; 
 
 cout <<“strcmp(ect,ECT) “ <<strcmp(nomeA,nomeB)<< endl; 
 cout <<"strcmp(ect,et) ” <<strcmp(nomeA,nomeC)<< endl; 
 cout <<"strcmp(ect,ect) ” <<strcmp(nomeA,nomeD)<< endl; 
 return 0; 
} 
Exercício 1 
• Faça um algoritmo para converter uma cadeia de 
caracteres de letras maiúsculas em letras minúsculas. 
Exercício 2 
• Dado o nome completo de uma pessoa imprimir apenas 
as iniciais seguidas cada uma de ponto e espaço. 
Exercício 3 
• Codifique um programa na linguagem C++ que leia uma 
string de tamanho x, leia outra string de tamanho y e 
depois concatene as duas em outra string de tamanho 
x+y. Concatenar significa unir as duas strings (não é 
permitido utilizar a função strcat).

Mais conteúdos dessa disciplina