• Source
    1. /*tabella anagrafica, ovvero array di struct
    2. 3LSA
    3. MC marzo 2016
    4. */
    5.  
    6.  
    7. #include <cstdlib>
    8. #include <iostream>
    9. #include <cstring>
    10.  
    11. using namespace std;
    12.  
    13. struct dati_anagrafici
    14. {
    15. char nome[100];
    16. char cognome[100];
    17. char genere;
    18. int anno;
    19. int mese;
    20. int giorno;
    21. char luogo[100];
    22. };
    23.  
    24. int main(int argc, char *argv[])
    25. {
    26. dati_anagrafici persone[100];
    27. int i,j;
    28.  
    29. cout<<"Fornisci i dati anagrafici da inserire nell'archivio\n";
    30. cout<<"Per interrompere l'inserimento, premere INVIO dopo la richiesta del NOME\n";
    31.  
    32. for (i=0;i<100;i++)
    33. {
    34. cout<<"\nDati persona numero "<<i<<"\n";
    35. cout<<"Nome: ";
    36. cin.getline(persone[i].nome,100);
    37.  
    38. if (!strcmp(persone[i].nome, ""))
    39. break;
    40.  
    41. cout<<"Cognome: ";
    42. cin.getline(persone[i].cognome,100);
    43.  
    44. cout<<"genere (m/f): ";
    45. cin>>persone[i].genere;
    46.  
    47. cout<<"Giorno Mese Anno di nascita: ";
    48. cin>>persone[i].giorno;
    49. cin>>persone[i].mese;
    50. cin>>persone[i].anno;
    51.  
    52. cin.ignore();
    53. cout<<"Luogo di nascita: ";
    54. cin.getline(persone[i].luogo,100);
    55. }
    56.  
    57. cout<<"\nInserimento completato. Sono stati inserite "<<i<< " anagrafiche.";
    58. cout<<"\nInserisci il codice della persona di cui si vogliono visualizzare i dati ";
    59. cout<<"(0-"<<i-1<<"): ";
    60.  
    61. cin>>j;
    62.  
    63. cout<<"\nRIEPILOGO DATI:\n";
    64. cout<<persone[j].nome<<" "<<persone[j].cognome<<" ";
    65.  
    66. cout<<"nat";
    67. if (persone[j].genere=='m')
    68. cout<<"o";
    69. else
    70. cout<<"a";
    71.  
    72. cout<<" a "<<persone[j].luogo;
    73. cout<<" il "<<persone[j].giorno<<"/"<<persone[j].mese<<"/"<<persone[j].anno<<"\n";
    74.  
    75. system("PAUSE");
    76. return 0;
    77. }