fork download
  1. #include <iostream>
  2. #include <utility>
  3.  
  4. using namespace std;
  5.  
  6. struct persona
  7. {
  8. string nome;
  9. unsigned int eta;
  10. unsigned int altezza;
  11. unsigned int peso;
  12. };
  13.  
  14. struct personas {
  15. static const int Max = 100;
  16. int totale;
  17. struct persona prs[Max];
  18. };
  19.  
  20. void leggere_dati(const personas& personas, int i)
  21. {
  22. cout << "Persona numero: " << i + 1 << " / " << personas.totale << endl;
  23. cout << "Nome: " << personas.prs[i].nome << endl;
  24. cout << "Eta': " << personas.prs[i].eta << endl;
  25. cout << "Altezza: " << personas.prs[i].altezza << endl;
  26. cout << "Peso: " << personas.prs[i].peso << endl;
  27. cout << "-----------------------------------------------\n";
  28. }
  29.  
  30. void inserire_dati(personas& personas)
  31. {
  32. persona * prs = &personas.prs[personas.totale];
  33.  
  34. cout << "Nome? ";
  35. getline( cin, prs -> nome );
  36. cout << "\nEta'? ";
  37. cin >> prs -> eta;
  38. cout << "\nAltezza? ";
  39. cin >> prs -> altezza;
  40. cout << "\nPeso? ";
  41. cin >> prs -> peso;
  42.  
  43. ++personas.totale;
  44. }
  45.  
  46. int main()
  47. {
  48. personas personas;
  49. char risp = 0;
  50.  
  51. personas.totale = 0;
  52. do {
  53. inserire_dati(personas);
  54. cout << "Inserire un'altra persona? (S/N)" << endl;
  55. cin >> risp;
  56. } while (risp == 's' || risp == 'S');
  57.  
  58. for(int i = 0; i < personas.totale; ++i) {
  59. leggere_dati( personas, i );
  60. }
  61. }
  62.  
Success #stdin #stdout 0s 15240KB
stdin
Baltasar
18
172
80
n
stdout
Nome? 
Eta'? 
Altezza? 
Peso? Inserire un'altra persona? (S/N)
Persona numero: 1 / 1
Nome: Baltasar
Eta': 18
Altezza: 172
Peso: 80
-----------------------------------------------