// quando creo uno studente significa implicitamente che lo sto immatricolando
 // a un corso di laurea, pertanto dovrò specificare il corso prescelto
 public Studente(string nome, string cognome, int annoDiNascita, CorsoDiLaurea corsoLaurea)
 {
     Nome          = nome;
     Cognome       = cognome;
     AnnoDiNascita = annoDiNascita;
     // al momento della creazione/immatricolazione dello studente
     // il flag per la richiesta della laurea è false
     RichiestaLaurea   = false;
     _immatricolazione = new Immatricolazione(corsoLaurea);
 }
Ejemplo n.º 2
0
 // il costruttore assegna una matricola,  la data di immatricolazione,
 // il flag di fuori corso, i cfu sostenuti e iscrive letteralmente lo
 // studente al corso aggiungendolo alla lista _studentiImmatricolati
 // (vedi classe CorsoDiLaurea)
 public Immatricolazione(CorsoDiLaurea corsoLaurea)
 {
     Matricola = ++_matricola;
     // suppongo che la data di inizio sia la data al momento dell'inserimento
     DataInizio = DateTime.Today;
     // al momento dell'imatricolazione non si è fuori corso
     FuoriCorso = false;
     // al momento dell'imatricolazione non si è in possesso di alcun cfu
     CfuAccumulati = 0;
     CorsoDiLaurea = corsoLaurea;
     // quando si crea un'immatricolazione significa che lo studente viene iscritto
     // a un corso di laurea, quindi lo aggiungo alla lista degli studenti iscritti
     corsoLaurea.AggiungiMatricola(this);
 }
        static void Main(string[] args)
        {
            // creo dei corsi
            Corso linguaLatina         = new Corso("Lingua latina", 6);
            Corso letteraturaLatina    = new Corso("Letteratura latina", 12);
            Corso linguisticaApplicata = new Corso("Linguistica applicata", 6);
            Corso glottodidattica      = new Corso("Glottodidattica", 6);

            Corso programmazioneJava = new Corso("Programmazione Java", 15);
            Corso dataMining         = new Corso("Data mining", 6);
            Corso textAnalytics      = new Corso("Text analytics", 6);
            Corso semanticWeb        = new Corso("Semantic web", 6);

            // creo liste dei corsi che passerò ai costruttori dei corsi di laurea
            List <Corso> listaCorsiLettere     = CreaListaCorsi(linguaLatina, letteraturaLatina, linguisticaApplicata, glottodidattica);
            List <Corso> listaCorsiInformatica = CreaListaCorsi(programmazioneJava, dataMining, textAnalytics, semanticWeb);

            // creo i corsi di laurea
            CorsoDiLaurea lettere     = new CorsoDiLaurea(ListaCorsiLaurea.Lettere, listaCorsiLettere);
            CorsoDiLaurea informatica = new CorsoDiLaurea(ListaCorsiLaurea.Informatica, listaCorsiInformatica);

            // creo degli studenti
            Studente pino  = new Studente("Pino", "Pini", 1999, lettere);
            Studente rosa  = new Studente("Rosa", "Rosi", 1996, informatica);
            Studente paolo = new Studente("Paolo", "Paoli", 1997, informatica);

            Esame e1 = pino.RichiestaEsame("Letteratura latina");
            Esame e2 = rosa.RichiestaEsame("Text analytics");
            Esame e3 = paolo.RichiestaEsame("Glottodidattica");

            pino.EsamePassato(e1);
            rosa.EsamePassato(e2);
            paolo.EsamePassato(e3);

            Console.WriteLine(pino.InfoStudente);
            Console.WriteLine();
            Console.WriteLine(rosa.InfoStudente);
            Console.WriteLine();
            Console.WriteLine(paolo.InfoStudente);
        }