Ficha 02 · C avançado + C++
Exercício 1 · malloc + free
Cria função int *criar_array(int n) que aloca dinamicamente um array de n inteiros e preenche-o com 0, 1, 2, ..., n-1. No main, cria array de 10, imprime, e liberta.
Resposta:
Exercício 2 · Ler ficheiro
Cria um ficheiro numeros.txt com 5 inteiros (um por linha). Lê-o e imprime a soma.
Resposta:
Exercício 3 · Escrever ficheiro CSV
Cria array de structs Produto {nome, preco} com 3 produtos, e grava-os em produtos.csv no formato CSV.
Resposta:
Exercício 4 · Linked list (struct + pointers)
Implementa uma lista ligada simples:
- struct Node { int valor; struct Node *next; }.
- Função inserir_inicio(Node **head, int valor).
- Função imprimir(Node *head).
- Função libertar(Node *head).
- Insere 5 valores e imprime.
Resposta:
Exercício 5 · Calculadora CLI
Cria uma calculadora com menu: - 1. Somar - 2. Subtrair - 3. Multiplicar - 4. Dividir - 0. Sair
Loop até user escolher 0. Trata divisão por zero.
Resposta:
Exercício 6 · C++ Hello
Cria hello.cpp em C++. Pede nome ao utilizador usando cin e string, e responde com cout.
Resposta:
Exercício 7 · Classe C++
Cria classe Carro com atributos privados marca, modelo, velocidade (começa em 0). Construtor recebe marca + modelo. Métodos:
- acelerar(int): aumenta velocidade.
- travar(int): diminui (mínimo 0).
- info(): imprime estado actual.
Demonstra no main.
Resposta:
Exercício 8 · vector + algoritmos C++
Em C++, cria vector<int> com 10 números aleatórios. Usa STL para:
- Ordenar.
- Calcular soma.
- Encontrar máximo.
- Imprimir.
Resposta: