#include <iostream>
#include <utility>
using namespace std;
struct persona
{
string nome;
unsigned int eta;
unsigned int altezza;
unsigned int peso;
};
struct personas {
static const int Max = 100;
int totale;
struct persona prs[Max];
};
void leggere_dati(const personas& personas, int i)
{
cout << "Persona numero: " << i + 1 << " / " << personas.totale << endl;
cout << "Nome: " << personas.prs[i].nome << endl;
cout << "Eta': " << personas.prs[i].eta << endl;
cout << "Altezza: " << personas.prs[i].altezza << endl;
cout << "Peso: " << personas.prs[i].peso << endl;
cout << "-----------------------------------------------\n";
}
void inserire_dati(personas& personas)
{
persona * prs = &personas.prs[personas.totale];
cout << "Nome? ";
getline( cin, prs -> nome );
cout << "\nEta'? ";
cin >> prs -> eta;
cout << "\nAltezza? ";
cin >> prs -> altezza;
cout << "\nPeso? ";
cin >> prs -> peso;
++personas.totale;
}
int main()
{
personas personas;
char risp = 0;
personas.totale = 0;
do {
inserire_dati(personas);
cout << "Inserire un'altra persona? (S/N)" << endl;
cin >> risp;
} while (risp == 's' || risp == 'S');
for(int i = 0; i < personas.totale; ++i) {
leggere_dati( personas, i );
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dXRpbGl0eT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgcGVyc29uYQp7CiAgICBzdHJpbmcgbm9tZTsKICAgIHVuc2lnbmVkIGludCBldGE7CiAgICB1bnNpZ25lZCBpbnQgYWx0ZXp6YTsKICAgIHVuc2lnbmVkIGludCBwZXNvOwp9OwoKc3RydWN0IHBlcnNvbmFzIHsKCXN0YXRpYyBjb25zdCBpbnQgTWF4ID0gMTAwOwoJaW50IHRvdGFsZTsKCXN0cnVjdCBwZXJzb25hIHByc1tNYXhdOwp9OwoKdm9pZCBsZWdnZXJlX2RhdGkoY29uc3QgcGVyc29uYXMmIHBlcnNvbmFzLCBpbnQgaSkKewogICAgY291dCA8PCAiUGVyc29uYSBudW1lcm86ICIgPDwgaSArIDEgPDwgIiAvICIgPDwgcGVyc29uYXMudG90YWxlIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJOb21lOiAiIDw8IHBlcnNvbmFzLnByc1tpXS5ub21lIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJFdGEnOiAiIDw8IHBlcnNvbmFzLnByc1tpXS5ldGEgPDwgZW5kbDsKICAgIGNvdXQgPDwgIkFsdGV6emE6ICIgPDwgcGVyc29uYXMucHJzW2ldLmFsdGV6emEgPDwgZW5kbDsKICAgIGNvdXQgPDwgIlBlc286ICIgPDwgcGVyc29uYXMucHJzW2ldLnBlc28gPDwgZW5kbDsKICAgIGNvdXQgPDwgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iOwp9Cgp2b2lkIGluc2VyaXJlX2RhdGkocGVyc29uYXMmIHBlcnNvbmFzKQp7CglwZXJzb25hICogcHJzID0gJnBlcnNvbmFzLnByc1twZXJzb25hcy50b3RhbGVdOwoJCiAgICBjb3V0IDw8ICJOb21lPyAiOwogICAgZ2V0bGluZSggY2luLCBwcnMgLT4gbm9tZSApOwogICAgY291dCA8PCAiXG5FdGEnPyAiOwogICAgY2luID4+IHBycyAtPiBldGE7CiAgICBjb3V0IDw8ICJcbkFsdGV6emE/ICI7CiAgICBjaW4gPj4gcHJzIC0+IGFsdGV6emE7CiAgICBjb3V0IDw8ICJcblBlc28/ICI7CiAgICBjaW4gPj4gcHJzIC0+IHBlc287CiAgICAKICAgICsrcGVyc29uYXMudG90YWxlOwp9CgppbnQgbWFpbigpCnsKCXBlcnNvbmFzIHBlcnNvbmFzOwogICAgY2hhciByaXNwID0gMDsKCiAJcGVyc29uYXMudG90YWxlID0gMDsKICAgIGRvIHsKICAgICAgICBpbnNlcmlyZV9kYXRpKHBlcnNvbmFzKTsKICAgICAgICBjb3V0IDw8ICJJbnNlcmlyZSB1bidhbHRyYSBwZXJzb25hPyAoUy9OKSIgPDwgZW5kbDsKICAgICAgICBjaW4gPj4gcmlzcDsKICAgIH0gd2hpbGUgKHJpc3AgPT0gJ3MnIHx8IHJpc3AgPT0gJ1MnKTsKCglmb3IoaW50IGkgPSAwOyBpIDwgcGVyc29uYXMudG90YWxlOyArK2kpIHsKCQlsZWdnZXJlX2RhdGkoIHBlcnNvbmFzLCBpICk7Cgl9Cn0K