Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - esercizio sulle strutture
Forum - C/C++ - esercizio sulle strutture

Avatar
zar (Normal User)
Newbie


Messaggi: 1
Iscritto: 09/03/2018

Segnala al moderatore
Postato alle 18:11
Venerdì, 09/03/2018
ESERCIZIO
Leggere n da tastiera e creare un vettore vett di  PERSONA con nomi “1”,”2”, ….”n” con età 1,2,3,…,n e sesso  ‘M’ se per in umeri pari ed ‘F’ per i numeri dispari. Scriver quindi e provare una procedura di visualizzazione di un array di PERSONA (non di puntatori a PERSONA).
------
codice già creato
Codice sorgente - presumibilmente C++

  1. #include <string.h>
  2. #include <stdlib.h>
  3. #include <cstdlib>
  4. #include<cstdio>
  5. #include<cstring>
  6. using namespace std;
  7.  
  8. const int MAX_FIGLI=10;
  9.  
  10. typedef struct Pers {
  11.     char nome[20];
  12.     int anni;
  13.     char sesso;
  14. } PERSONA;
  15.  
  16.  
  17. typedef struct Famiglia {
  18.     PERSONA * padre; // puntatore al padre
  19.     PERSONA * madre; // puntatore alla madre
  20.     int numerFigli;
  21.     PERSONA * figli[MAX_FIGLI] ; //array di puntatori ai figli  } FAMIGLIA;
  22. }FAMIGLIA;
  23.  
  24. void displayArrayPERSONA(PERSONA vett[], int n){
  25.     for(int i = 0; i < n; i++)
  26.         cout << "Persona " << vett[i].nome << ", di anni " << vett[i].anni << ", di sesso " << vett[i].sesso << endl;
  27. }
  28. int main(){
  29.     PERSONA p={"tizio",21,'M'};
  30.     PERSONA m={"anna",20,'F'};
  31.     PERSONA a={"anna",5,'F'};
  32.     PERSONA b={"carlo",3,'M'};
  33.     FAMIGLIA f={&p,&m,2,{&a,&b}};
  34.  cout << "Scrivi il numero di persone: ";
  35.     int n =0;
  36.     cin >> n;
  37.     PERSONA x[n];
  38.     for(int i=0;i<n;i++){
  39.         if(i%2==0){
  40.             PERSONA x[i]={,i,'M'};
  41.         }
  42.         else{
  43.             PERSONA x[i]={,i,'F'};
  44.         }
  45.     }
  46.     displayArrayPERSONA(x, n);
  47. }


non riesco a capire come inserire il char nome [20] all interno delle varie persona e anche la visulizzazione di i e M/F mi da problemi restituendo dei carateri strani qualcuno sa aiutarmi ?

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 19:03
Venerdì, 09/03/2018
Codice sorgente - presumibilmente Plain Text

  1. PERSONA x[n];
  2.     for(int i=0;i<n;i++){
  3.         cin >> x[i].nome;
  4.         x[i].anni = i;
  5.  
  6.         if(i%2==0){
  7.             x[i].sesso = 'M';
  8.         }else{
  9.             x[i].sesso = 'F';
  10.         }
  11.     }



Dal tuo stile suppongo che stai imparando il linguaggio, ti consiglio vivamente di prendere un libro serio sul C++ e di leggerlo (non pensare che l'universita' ti aiuti molto ad approfondire). https://www.amazon.it/Programmare-C-Steve-Oualline/dp/88481 ...


Il mio blog: https://piero.dev
PM Quote