Matrizes em C++
int matriz[3][4];
int l, c;
// Insere valores
for (l = 0; l < 3; l++) {
for (c = 0; c < 4; c++) {
cin >> matriz[l][c];
}
}
// Imprime valores
for (l = 0; l < 3; l++) {
for (c = 0; c < 4; c++) {
cout << matriz[l][c] << " ";
}
cout << "\n";
}
Passagem de Parâmetros na Função main
int main(int argc, char *argv[]) {
cout << argv[0] << "\n\n"; // Primeiro parâmetro (nome do programa)
if (argc > 1) {
if (!strcmp(argv[1], "sol")) {
cout << "Vou ao clube.\n\n";
}
}
return 0;
}
Funções em C++
- Declaração e Prototipagem:
void texto();
void soma(int n1, int n2);
int soma2(int n1, int n2);
void tr(string tra[4]);
void texto() {
cout << "\n Teste de função";
}
void soma(int n1, int n2) {
cout << "soma dos valores" << n1 + n2 << "\n";
}
int soma2(int n1, int n2) {
return n1 + n2;
}
void tr(string tra[4]) {
for (int i = 0; i < 4; i++) {
cout << tra[i] << "\n";
}
}
void imp(string txt = ""); // Argumento com valor default
void imp(string txt) {
cout << "\n" << txt << "\n";
}
enum em C++
enum armas { fuzil = 100, revolver = 8, rifle = 12, escopeta = 1 };
armas armaSel;
armaSel = fuzil;
cout << armaSel;
struct em C++
struct Carro {
string nome;
string cor;
int pot;
int valMax;
};
Carro car1;
car1.nome = "Tornado";
cout << "Nome do carro: " << car1.nome << "\n";
struct Carro {
// ... (variáveis) ...
void insere(string stnome, string stcor, int stpot, int stvelmax);
void mostra();
void mudaVel(int mv);
};
Carro *carros = new Carro[5];
carros[0].insere("Tornado", "Vermelho", 450, 350);
Ponteiros em C++
string veiculo = "Carro";
string *pv;
pv = &veiculo;
cout << pv; // Endereço de memória
*pv = "Moto"; // Modifica o valor na memória apontada
Alocação Dinâmica de Memória
char *vnome;
vnome = (char*)malloc(sizeof(char) + 1);
gets(vnome); // Lê uma string do usuário
Recursividade em C++
void contador(int num, int cont = 1) {
cout << cont << "\n";
if (num > cont) {
contador(num, ++cont);
}
}
int fatorial(int n) {
if (n == 0) {
return 1;
}
return n * fatorial(n - 1);
}
int fibonacci(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
Pilhas (Stack) em C++
stack<string> cartas;
cartas.push("Rei de copas");
cout << "Tamanho da pilha:" << cartas.size() << "\n";
cout << "Carta do topo: " << cartas.top() << "\n";
cartas.pop();
Filas (Queue) em C++
queue<string> cartas;
cartas.push("Rei de copas");
cout << "Tamanho da fila:" << cartas.size() << "\n";
cout << "Primeira Carta: " << cartas.front() << "\n";
cartas.pop();
Programação Orientada a Objetos (POO) em C++
- Exemplo de Classe
Aviao: (Arquivo principal e arquivo de cabeçalho)
get e set: (Exemplo de classe Veiculo)
- Herança: (Exemplo de classes
Veiculo, Moto e Carro)
Vetores (Vector) em C++
vector<int> num;
num.push_back(10);
int tam = num.size();
num.swap(num2);
num.front();
num.back();
num.at(tam / 2);
num.insert(num1.begin(), 8888);
num.erase(num1.end() - 1);
num.clear();
// Iteradores
vector<string> produtos = {"mouse", "teclado"};
vector<string>::iterator it;
for (it = produtos.begin(); it != produtos.end(); it++) {
cout << *it << endl;
}
Conversão de Strings (Maiúscula/Minúscula)
void maiusculo(char s1[], char s2[]) {
int i = 0;
while (s1[i] != '\0') {
s2[i] = toupper(s1[i]);
i++;
}
s2[i] = '\0';
}
void minusculo(char s1[], char s2[]) {
int i = 0;
while (s1[i] != '\0') {
s2[i] = tolower(s1[i]);
i++;
}
s2[i] = '\0';
}
Manipulação de Data e Hora
- Uso de
time.h, ctime, localtime, strftime e chrono. (Vários exemplos mostrados no código original)
Manipulação de Arquivos
ofstream arquivo;
arquivo.open("impressora.txt");
arquivo << "cfb Cursos";
arquivo.close();