Aula 06 - Arrays e Strings 🧵
Nesta aula, aprenderemos a trabalhar com coleções de dados do mesmo tipo e mergulharemos no mundo das Strings.
📊 Arrays (Vetores e Matrizes)
Arrays permitem armazenar múltiplos valores sob um único nome, acessados por um índice (começando em 0).
Unidimensionais (Vetores)
Multidimensionais (Matrizes)
🔡 Manipulação de Texto
C++ oferece duas formas de trabalhar com texto:
1. C-Style Strings
Arrays de caracteres terminados em \0.
2. Classe std::string (Recomendado)
Muito mais poderosa e segura que a forma antiga.
#include <string>
std::string frase = "Olá, C++ Moderno!";
std::cout << frase.length(); // Retorna o tamanho
🛠️ Operações Comuns com Strings
| Operação | Exemplo |
|---|---|
| Concatenação | s1 + s2 |
| Comparação | s1 == s2 |
| Substring | s.substr(0, 5) |
| Busca | s.find("C++") |
| Limpeza | s.clear() |
🧠 Percorrendo Coleções
Range-based for (C++11)
Uma forma moderna e elegante de percorrer arrays:
Cuidado com os Limites
O C++ não verifica se você está tentando acessar um índice fora do array (ex: notas[10] num array de 5). Isso pode causar travamentos ou comportamentos imprevisíveis.
💻 Exemplo Prático: Média de Notas com Vetor
#include <iostream>
#include <string>
int main() {
std::string nome;
float notas[3];
float soma = 0;
std::cout << "Nome do aluno: ";
std::getline(std::cin, nome); // getline lê a linha toda (incluindo espaços)
for (int i = 0; i < 3; i++) {
std::cout << "Digite a nota " << i+1 << ": ";
std::cin >> notas[i];
soma += notas[i];
}
std::cout << "\nAluno: " << nome << std::endl;
std::cout << "Média: " << soma / 3 << std::endl;
return 0;
}
📝 Exercício de Fixação
- Vetor: Crie um programa que leia 10 números e mostre qual é o maior deles.
- String: Receba uma frase do usuário e conte quantas vogais ela possui.
- Desafio: Implemente uma matriz 3x3 que represente um tabuleiro de Jogo da Velha simples.
🚀 Mini-Projeto da Aula
Analisador de Texto: Desenvolva um programa que peça um parágrafo ao usuário e exiba: Total de caracteres, total de palavras (baseado nos espaços) e a versão do texto em caixa alta (uppercase).