Estrutura de um Programa C++
Na semana passada aprendemos a descrever algoritmos com fluxograma e pseudocódigo. Agora damos o passo seguinte: transformar esses algoritmos em um programa de verdade, escrito em C++, que o computador consegue compilar e executar. Você já rodou seu primeiro programa (o “Hello, World!”): nesta semana vamos entender o que cada parte dele significa, aprender a guardar dados em variáveis e fazer o programa conversar com o usuário: mostrar mensagens na tela e ler o que a pessoa digita.
Base bibliográfica: ASCENCIO & CAMPOS, Cap. 1 (seções 1.5 a 1.8) e Cap. 3 (seção 3.3, estrutura sequencial em C/C++).
Observação sobre entrada e saída: o livro usa os comandos
printf/scanf. Neste curso usaremoscout/cin(da biblioteca<iostream>), que são mais simples para começar. O resto: estrutura do programa, tipos e variáveis: segue o livro.
1. A estrutura de um programa
Todo programa em C++ tem um mesmo esqueleto. Veja um programa mínimo que mostra uma mensagem:
#include <iostream>
using namespace std;
int main() {
cout << "Bem-vindo!" << endl;
return 0;
}
Cada parte tem uma função:
| Parte | O que faz |
|---|---|
#include <iostream> | Inclui a biblioteca de entrada e saída (onde moram cout e cin). |
using namespace std; | Permite escrever cout em vez de std::cout. |
int main() { ... } | A função principal: a execução do programa começa e termina aqui. |
return 0; | Encerra o main informando que deu tudo certo. |
; | Todo comando termina com ponto e vírgula. |
{ } | As chaves delimitam um bloco de comandos. |
Dois cuidados importantes desde já:
- C++ diferencia maiúsculas de minúsculas:
mainé diferente deMain, ecoutdeCout. Os comandos da linguagem são escritos em minúsculas. - Cada comando termina com
;. Esquecer o ponto e vírgula é o erro mais comum no começo.
🎥 Vídeo 1 de 3: Estrutura do primeiro programa (~4 min)
2. Variáveis e tipos de dados
Um programa precisa guardar dados para trabalhar com eles. Pense numa variável como uma caixa etiquetada na memória: ela tem um nome, guarda um valor de cada vez, e esse valor pode mudar ao longo do programa.
Antes de usar uma variável, você precisa declará-la, informando o tipo de dado que ela vai guardar. Os tipos mais usados em C++ são:
| Tipo | Guarda | Exemplo de valor |
|---|---|---|
int | número inteiro | -3, 0, 42 |
float / double | número real (com casas decimais) | 2.5, -0.75 |
char | um único caractere | 'A', '?' |
bool | valor lógico | true, false |
string | texto (cadeia de caracteres) | "Maria" |
Para usar
string, inclua a biblioteca<string>no topo do programa.
Declarando e atribuindo valores:
int idade; // declara uma variável inteira
idade = 20; // atribui o valor 20 a ela
double altura = 1.75; // declara e já atribui, na mesma linha
char sexo = 'F';
string nome = "Ana";
O sinal = é o comando de atribuição: ele guarda o valor da direita na variável da esquerda. Leia idade = 20 como “idade recebe 20”: é o mesmo ← do pseudocódigo.
Regras para nomear variáveis (identificadores)
- Podem conter letras, números e o caractere
_(sublinhado). - Devem começar com uma letra ou
_(nunca com número). - Sem espaços e sem acentos ou caracteres especiais (
@,-,$…). - Não podem ser palavras reservadas da linguagem (como
intoureturn).
int nota1; // válido
int media_final; // válido
int 2nota; // inválido: começa com número
int nota final; // inválido: tem espaço
Um detalhe sobre divisão
Se os dois números de uma divisão forem inteiros, o resultado também é inteiro (a parte fracionária é descartada):
int a = 5 / 2; // a recebe 2, não 2.5
double b = 5.0 / 2.0; // b recebe 2.5
Para obter o resultado com casas decimais, ao menos um dos valores precisa ser real.
Constantes
Uma constante é um valor fixo, que não pode ser alterado durante a execução do programa. Em C++, declara-se uma constante com a palavra-chave const, antes do tipo:
const double PI = 3.14159; // PI nunca muda
Se alguém tentar atribuir um novo valor a PI depois dessa linha, o compilador barra o erro na hora. É uma proteção contra alterar, sem querer, um valor que deveria ficar fixo.
Existe também uma forma mais antiga, usando #define, sem tipo e sem sinal de igual:
#define PI 3.14159
Prefira
const: ela é a maneira mais moderna de declarar constantes.
🎥 Vídeo 2 de 3: Tipos de dados e variáveis (~5 min)
3. Saída de dados: cout
O cout mostra informação na tela. Usa o operador << para “enviar” o que você quer exibir:
cout << "Ola, mundo!"; // mostra um texto
cout << idade; // mostra o conteudo da variavel idade
cout << "Idade: " << idade; // junta texto e variavel
cout << endl; // pula para a proxima linha
Você pode encadear vários << numa linha só. O endl (ou "\n") quebra a linha:
cout << "Nome: " << nome << endl;
cout << "Altura: " << altura << endl;
4. Entrada de dados: cin
O cin lê o que o usuário digita no teclado e guarda numa variável. Usa o operador >>:
int idade;
cout << "Digite sua idade: "; // pede o dado
cin >> idade; // le o que foi digitado e guarda em idade
O padrão é sempre: primeiro um cout pedindo o dado, depois um cin lendo. Sem a mensagem, o usuário fica olhando uma tela em branco sem saber o que fazer.
5. Juntando tudo: um programa completo
Um programa que lê dois números e mostra a soma: o main segue a ordem entrada → processamento → saída (as mesmas etapas do algoritmo):
#include <iostream>
using namespace std;
int main() {
int n1, n2, soma;
cout << "Digite o primeiro numero: ";
cin >> n1;
cout << "Digite o segundo numero: ";
cin >> n2;
soma = n1 + n2; // processamento
cout << "A soma e: " << soma << endl; // saida
return 0;
}
Repare que a estrutura do
mainé a tradução direta de um pseudocódigo: declarar, ler, calcular, escrever.
🎥 Vídeo 3 de 3: cout e cin na prática (~4 min)
Comentários
Você pode deixar anotações no código que o compilador ignora:
// isto é um comentário de uma linha
/* isto é um comentário
de várias linhas */
Referência rápida
| Elemento | Sintaxe | Para quê |
|---|---|---|
| Incluir biblioteca | #include <iostream> | Habilitar cout/cin |
| Função principal | int main() { ... return 0; } | Onde o programa roda |
| Declarar variável | int x; / double y = 1.5; | Reservar espaço na memória |
| Declarar constante | const double PI = 3.14159; | Valor fixo, protegido contra alteração |
| Atribuir | x = 10; | Guardar um valor |
| Mostrar na tela | cout << x << endl; | Saída |
| Ler do teclado | cin >> x; | Entrada |
| Comentar | // ou /* */ | Documentar |
Leitura da Semana 2 - Base: Ascencio & Campos, Cap. 1 (1.5–1.8) e Cap. 3 (3.3). Faça a lista de exercícios e traga suas dúvidas para o encontro síncrono.