lezione 01

fondamenti di c++

tipi, input/output, compilazione e primi errori.

livello: base durata: 20 min output: hello app badge: c++ essentials

tipi base

in c++ i tipi principali sono int, double, char, bool.

int eta = 22;
double ratio = 3.14;
char lettera = 'b';
bool attivo = true;

input e output

usa std::cout per stampare e std::cin per leggere.

#include <iostream>

int main() {
    std::string nome;
    std::cout << "nome: ";
    std::cin >> nome;
    std::cout << "ciao " << nome;
    return 0;
}

compilare

compila con lo standard moderno per evitare warning.

g++ -std=c++20 main.cpp -o app
./app

errori comuni

  • dimenticare #include <iostream>
  • mancare std:: davanti a cout e cin
  • compilare senza lo standard giusto

tip: abilita warning con -Wall -Wextra per capire subito cosa non va.

esercizi

scrivi un programma che legga due numeri e stampi la somma, la media e il maggiore.

aggiungi la validazione dell'input: se l'utente inserisce testo, mostra un messaggio di errore.

#include <iostream>
#include <limits>

int main() {
    double a, b;
    std::cout << \"inserisci due numeri: \";
    if (!(std::cin >> a >> b)) {
        std::cout << \"input non valido\";
        return 1;
    }
    double media = (a + b) / 2.0;
    double massimo = (a > b) ? a : b;
    std::cout << \"media: \" << media << \" massimo: \" << massimo;
    return 0;
}

checklist

  • usa -std=c++20 per compilare
  • verifica sempre gli input utente
  • mantieni il codice leggibile e coerente

panoramica

In questo capitolo su fondamenti di c++, tipi, input/output, compilazione e primi errori. L'obiettivo è trasformare i concetti in micro-pattern riutilizzabili con esempi piccoli e verificabili.

Lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali (performance, leggibilità, manutenzione).

badge: c++ essentials

obiettivi

  • capire e applicare tipi base in uno scenario reale
  • capire e applicare input/output in uno scenario reale
  • capire e applicare compilare in uno scenario reale
  • capire e applicare errori comuni in uno scenario reale

scheda rapida

#include <iostream>
#include <vector>

int main() {
  std::vector<int> dati{1, 2, 3};
  for (auto &v : dati) {
    v *= 2;
  }
  for (const auto &v : dati) {
    std::cout << v << " ";
  }
  std::cout << "\n";
  return 0;
}

Adatta questo scheletro agli esempi della lezione e sostituisci i dati con il tuo dominio.

tips

  • compila con warning elevati
  • preferisci RAII
  • usa const ovunque possibile
  • compila con -Wall -Wextra
  • usa std::string
  • inizializza sempre

tip: Warning puliti oggi = bug evitati domani.

mini progetto

Programma che legge input e stampa un report.

  • definisci variabili
  • usa iostream
  • controlla input
  • stampa output

output atteso: uno script o query ripetibile con risultati verificabili.

start a brief