Skip to content

20+ Esercizi base in C++ con soluzione

  1. Scrivere un programma che stampi “Hello, World!” su schermo.
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
  1. Dichiarare e inizializzare una variabile intera con il valore 10.
int x = 10;
  1. Scrivere un programma che chieda all’utente di inserire il suo nome e stampi “Ciao, [nome]” su schermo.
#include <iostream>
int main() {
std::string name;
std::cout << "Inserisci il tuo nome: ";
std::cin >> name;
std::cout << "Ciao, " << name << "!" << std::endl;
return 0;
}
  1. Scrivere un programma che calcoli la somma di due numeri interi inseriti dall’utente.
#include <iostream>
int main() {
int a, b, sum;
std::cout << "Inserisci il primo numero: ";
std::cin >> a;
std::cout << "Inserisci il secondo numero: ";
std::cin >> b;
sum = a + b;
std::cout << "La somma dei due numeri e': " << sum << std::endl;
return 0;
}
  1. Dichiarare e inizializzare una variabile float con il valore 3.14.
float pi = 3.14f;
  1. Scrivere un programma che calcoli l’area di un cerchio dato il raggio inserito dall’utente.
#include <iostream>
int main() {
float radius, area;
std::cout << "Inserisci il raggio del cerchio: ";
std::cin >> radius;
area = pi * radius * radius;
std::cout << "L'area del cerchio e': " << area << std::endl;
return 0;
}
  1. Dichiarare e inizializzare una variabile boolean con il valore true.
bool x = true;
  1. Scrivere un programma che chieda all’utente di inserire due numeri interi e stampi il maggiore dei due.
#include <iostream>
int main() {
int a, b;
std::cout << "Inserisci il primo numero: ";
std::cin >> a;
std::cout << "Inserisci il secondo numero: ";
std::cin >> b;
if (a > b) {
std::cout << "Il maggiore dei due numeri e': " << a << std::endl;
} else {
std::cout << "Il maggiore dei due numeri e': " << b << std::endl;
}
return 0;
}
  1. Scrivere un programma che stampi i numeri da 1 a 10.
#include <iostream>
int main() {
for (int i = 1; i <= 10; i++) {
std::cout << i << std::endl;
}
return 0;
}
  1. Dichiarare e inizializzare un array di 5 elementi interi con i valori 1, 2, 3, 4, 5.
int arr[5] = {1, 2, 3, 4, 5};
  1. Scrivere un programma che chieda all’utente di inserire un numero intero e stampi se è pari o dispari.
#include <iostream>
int main() {
int num;
std::cout << "Inserisci un numero intero: ";
std::cin >> num;
if (num % 2 == 0) {
std::cout << "Il numero e' pari" << std::endl;
} else {
std::cout << "Il numero e' dispari" << std::endl;
}
return 0;
}
  1. Scrivere un programma che calcoli il fattoriale di un numero intero inserito dall’utente.
#include <iostream>
int main() {
int num, fact = 1;
std::cout << "Inserisci un numero intero: ";
std::cin >> num;
for (int i = 1; i <= num; i++) {
fact *= i;
}
std::cout << "Il fattoriale di " << num << " e': " << fact << std::endl;
return 0;
}
  1. Dichiarare e inizializzare una struttura con nome persona che contenga i campi nome, età e indirizzo.
struct Person {
std::string name;
int age;
std::string address;
};
Person p = {"John Doe", 30, "123 Street"};
  1. Scrivere un programma che chieda all’utente di inserire il nome di un file e stampi il contenuto del file.
#include <iostream>
#include <fstream>
int main() {
std::string filename;
std::cout << "Inserisci il nome del file: ";
std::cin >> filename;
std::ifstream file(filename);
if (file.is_open()) {
std::string line;
while (getline(file, line)) {
std::cout << line << std::endl;
}
file.close();
} else {
std::cout << "Impossibile aprire il file" << std::endl;
}
return 0;
}
  1. Scrivere un programma che chieda all’utente di inserire una parola e stampi se contiene solo lettere.
#include <iostream>
#include <cctype>
int main() {
std::string word;
std::cout << "Inserisci una parola: ";
std::cin >> word;
bool containsOnlyLetters = true;
for (char c : word) {
if (!std::isalpha(c)) {
containsOnlyLetters = false;
break;
}
}
if (containsOnlyLetters) {
std::cout << "La parola contiene solo lettere" << std::endl;
} else {
std::cout << "La parola non contiene solo lettere" << std::endl;
}
return 0;
}
  1. Scrivere un programma che chieda all’utente di inserire una frase e stampi la lunghezza della frase.
#include <iostream>
#include <string>
int main() {
std::string sentence;
std::cout << "Inserisci una frase: ";
std::getline(std::cin, sentence);
int length = sentence.length();
std::cout << "La lunghezza della frase e': " << length << std::endl;
return 0;
}
  1. Scrivere un programma che chieda all’utente di inserire una frase e stampi quante volte appare la lettera ‘a’.
#include <iostream>
#include <string>
int main() {
std::string sentence;
std::cout << "Inserisci una frase: ";
std::getline(std::cin, sentence);
int count = 0;
for (char c : sentence) {
if (c == 'a' || c == 'A') {
count++;
}
}
std::cout << "La lettera 'a' appare " << count << " volte" << std::endl;
return 0;
}
  1. Scrivere un programma che chieda all’utente di inserire una frase e stampi la frase al contrario.
#include <iostream>
#include <string>
int main() {
std::string sentence;
std::cout << "Inserisci una frase: ";
std::getline(std::cin, sentence);
for (int i = sentence.length() - 1; i >= 0; i--) {
std::cout << sentence[i];
}
return 0;
}
  1. Scrivere un programma che chieda all’utente di inserire una frase e stampi la frase senza spazi.
#include <iostream>
#include <string>
int main() {
std::string sentence;
std::cout << "Inserisci una frase: ";
std::getline(std::cin, sentence);
for (char c : sentence) {
if (c != ' ') {
std::cout << c;
}
}
return 0;
}
  1. Scrivere un programma che chieda all’utente di inserire una frase e stampi la frase con le prime lettere maiuscole.
#include <iostream>
#include <string>
int main() {
std::string sentence;
std::cout << "Inserisci una frase: ";
std::getline(std::cin, sentence);
for (size_t i = 0; i < sentence.length(); i++) {
if (i == 0 || sentence[i - 1] == ' ') {
std::cout << static_cast<char>(std::toupper(sentence[i]));
} else {
std::cout << sentence[i];
}
}
return 0;
}
  1. Scrivere un programma che chieda all’utente di inserire una frase e stampi la frase senza le prime lettere maiuscole.
#include <iostream>
#include <string>
int main() {
std::string sentence;
std::cout << "Inserisci una frase: ";
std::getline(std::cin, sentence);
for (size_t i = 0; i < sentence.length(); i++) {
if (i == 0 || sentence[i - 1] == ' ') {
std::cout << static_cast<char>(std::tolower(sentence[i]));
} else {
std::cout << sentence[i];
}
}
return 0;
}
  1. Scrivere un programma che chieda all’utente di inserire una frase e stampi la frase con le prime lettere maiuscole tranne la prima lettera.
#include <iostream>
#include <string>
int main() {
std::string sentence;
std::cout << "Inserisci una frase: ";
std::getline(std::cin, sentence);
for (size_t i = 0; i < sentence.length(); i++) {
if (i == 0) {
std::cout << static_cast<char>(std::tolower(sentence[i]));
} else if (sentence[i - 1] == ' ') {
std::cout << static_cast<char>(std::toupper(sentence[i]);
} else {
std::cout << sentence[i];
}
}
return 0;
}
  1. Scrivere un programma che chieda all’utente di inserire una frase e stampi la frase con le prime lettere maiuscole tranne l’ultima lettera.
#include <iostream>
#include <string>
int main() {
std::string sentence;
std::cout << "Inserisci una frase: ";
std::getline(std::cin, sentence);
for (size_t i = 0; i < sentence.length(); i++) {
if (i == sentence.length() - 1) {
std::cout << static_cast<char>(std::tolower(sentence[i]);
} else if (sentence[i - 1] == ' ') {
std::cout << static_cast