static void Main(string[] args) { Corso a1 = new Corso("Analisi 1", 9); Corso ce = new Corso("Calcolatori elettronici", 9); Corso ga = new Corso("Geometria e Algebra", 9); Corso is1 = new Corso("Ingegneria del software", 9); Corso so = new Corso("Sistemi Operativi", 9); CorsoDiLaurea ingegneria = new CorsoDiLaurea("Ingegneria", 2010, 180, a1, ce, ga, is1, so); Corso mq = new Corso("Meccanica quantistica", 9); Corso fn = new Corso("Fisica Nucleare", 9); Corso r = new Corso("Relatività", 6); Corso lab = new Corso("Laboratorio", 10); Corso c = new Corso("Chimica", 9); CorsoDiLaurea fisica = new CorsoDiLaurea("Fisica", 2008, 200, mq, fn, r, lab, c); Immatricolazione imm1 = new Immatricolazione(new DateTime(2019, 04, 14), ingegneria); Immatricolazione imm2 = new Immatricolazione(new DateTime(2005, 03, 09), fisica); Studente stud1 = new Studente("Gustave", "Eiffel", 1832, imm1); Studente stud2 = new Studente("Albert", "Einstein", 1879, imm2); Esame e1 = stud1.RichiestaEsame("Geometria e Algebra", 9); stud1.EsameSuperato(e1); Esame e2 = stud2.RichiestaEsame("Laboratorio", 200); stud2.EsameSuperato(e2); }
public void EsameSuperato(Esame e) { //aggiorno i dati universitari in caso di esito positivo _immatricolazione.CFUAccumulati += e.CFU; e.Superato = true; if (_immatricolazione.CFUAccumulati == _immatricolazione.CorsoDiLaureaAssociatoAlloStudente.CFU) { RichiestaLaurea = true; } }
//Non riesco ad aggiungere un esame. Non trova corrispondenze!!?? public Esame RichiestaEsame(string esame, int cfu) { /*prima di aggiungerlo agli esami dello studente verifico che sia presente nell'elenco di esami associati al corso di laurea * a cui risulta iscritto e poi che siano rispettati i vincoli di cfu e ancora non abbia richiesto la laurea*/ if (_immatricolazione.CorsoDiLaureaAssociatoAlloStudente.EsameInLista(esame) && cfu <= _immatricolazione.CorsoDiLaureaAssociatoAlloStudente.CFU && RichiestaLaurea != true) { esameRichiesto = new Esame(esame, cfu); _esami.Add(esameRichiesto); } else { throw new ArgumentException("L'esame inserito non rispetta i requisiti."); } return(esameRichiesto); }