Desenvolvimento de Software

Conceitos Fundamentais de Programação C++: Matrizes, Funções, Estruturas de Dados e Arquivos

28/07/2025

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++

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++

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

Manipulação de Arquivos

ofstream arquivo;
arquivo.open("impressora.txt");
arquivo << "cfb Cursos";
arquivo.close();
Voltar