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 acoutecin - 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++20per 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.