Concetti Chiave
- Il codice definisce una struttura per memorizzare i dati di un paziente, inclusi nome, cognome, peso, altezza e data di nascita.
- Viene implementata una funzione main per acquisire i dati di due pazienti utilizzando l'input da tastiera.
- Il programma utilizza la funzione cin.getline per leggere stringhe di caratteri senza spazi, fino a una lunghezza massima specificata.
- La differenza di età tra i due pazienti viene calcolata in base all'anno di nascita inserito e confrontato per determinare chi è più anziano.
- Il codice include anche controlli per gestire l'input e l'output dei dati, ma presenta errori di sintassi nelle istruzioni di output.
#include
#include
#include
using namespace std;
struct data{
char anno[5];
char mese[3];
char giorno[3];
};
struct paziente{
char nome[21];
char cognome[21];
int peso;
int altezza;
data datan;
};
int main(){
paziente paz1, paz2;
Qual è l'acquisizione dati del primo paziente?
cout
cin.getline(paz1.nome, 21);
cin.getline(paz1.cognome, 21);
cout
cin.getline(paz1.datan.anno, 5);
cin.getline(paz1.datan.mese, 3);
cin.getline(paz1.datan.giorno, 3);
cin>>paz1.peso;
cin>>paz1.altezza;
cin.ignore();
Acquisizione dati del secondo paziente
cout
cin.getline(paz2.nome, 21);
cin.getline(paz2.cognome, 21);
cout
cin.getline(paz2.datan.anno, 5);
cin.getline(paz2.datan.mese, 3);
cin.getline(paz2.datan.giorno, 3);
cin>>paz2.peso;
cin>>paz2.altezza;
if(strcmp(paz1.datan.anno, paz2.datan.anno) > 0){
int annoint, eta;
annoint = atoi(paz2.datan.anno);
eta = 2014 - annoint;
cout
cout
cout
cout
cout
cout
cout
cout
cout
cout
}else{
int annoint, eta;
annoint = atoi(paz1.datan.anno);
eta = 2014 - annoint;
cout
cout
cout
cout
cout
cout
cout
cout
cout
cout
}
return 0;
}
Domande da interrogazione
- Quali dati vengono acquisiti per ciascun paziente?
- Come viene calcolata l'età dei pazienti nel programma?
- Cosa succede se le date di nascita dei due pazienti sono diverse?
Per ogni paziente vengono acquisiti nome, cognome, data di nascita (anno, mese, giorno), peso e altezza.
L'età viene calcolata sottraendo l'anno di nascita (convertito in intero) dall'anno corrente, che nel codice è fissato al 2014.
Se le date di nascita sono diverse, il programma confronta gli anni e calcola l'età per ciascun paziente in base all'anno di nascita, stampando le informazioni relative.