Sei sulla pagina 1di 2

#include <iostream>

using namespace std;

// Costante
massimo alunni
#define MAX 20

// Definisco la struct
alunno con le varie propietà
struct alunno {
string nome;
string cognome;
int voto;
};

// Array degli alunni


alunno alunni[MAX];

// Numero alunni che chiederò


all'utente
int nrAlunni = MAX;

// Data una stringa ritorna la stessa


stringa con tutti i caratteri in minuscolo
string toLower(string stringa) {

string lowerString;

for (int i = 0; i < stringa.length(); i++) {

lowerString[i] = tolower(stringa[i]);

return lowerString;

// Funzione per chiedere le informazioni


(nome, cognome e voto) in base al numero di alunni richiesto all'utente
void inserimentoAlunni() {

for (int i = 0; i < nrAlunni; i++) {

cout << "Inserisci il cognome dell'alunno " << i + 1 << ": ";
cin >> alunni[i].cognome;

cout << "Inserisci il nome dell'alunno " << i + 1 << ": ";
cin >> alunni[i].nome;

cout << "Inserisci il voto dell'alunno " << i + 1 << ": ";
cin >> alunni[i].voto;

// Chiede all'utente una stringa di ricerca


e controlla nell'array alunni se c'è un cognome corrispondente
void ricercaAlunni() {
string ricerca;
bool trovato = false;

cout << "\nInserisci il cognome della ricerca: ";


cin >> ricerca;

// For loop per la


ricerca
for(int i = 0; i < nrAlunni; i++) {

// Imposto tutte le
stringhe in minuscolo per una ricerca più efficace
if (toLower(alunni[i].cognome) == toLower(ricerca)) {

cout << "ALUNNO TROVATO! Nome e Cognome: " << alunni[i].nome << "
" << alunni[i].cognome << " Voto: " << alunni[i].voto << endl;
trovato = true;

}
}

// Se non ho trovato
nulla mostro il messaggio di errore
if (!trovato) cout << "Alunno non trovato!";

// Richiede il numero degli


alunni che vuole inserire all'utente
void richiestaNumeroAlunni() {

do {
cout << "Inserisci il numero di alunni: ";
cin >> nrAlunni;

} while (nrAlunni < 1 || nrAlunni > MAX);


// Il numero alunni non
può essere minore di 1 e maggiore del massimo (MAX)
}

// Funzione Main
int main() {

// Chiedo il numero degli alunni che si vuole inserire


richiestaNumeroAlunni();

// Chiamata funzione inserimento alunni


inserimentoAlunni();

// Ricerca alunno per cognome


ricercaAlunni();

return 0;
}

Potrebbero piacerti anche