fork download
  1. using static System.Console;
  2. using System.Collections.Generic;
  3.  
  4. public class Program {
  5. public static void Main(string[] args) {
  6. var vizu = new Aluno() {
  7. Nome = "Joao Vizu",
  8. Ra = "N300361",
  9. NotaB1 = 7.5M,
  10. NotaB2 = 10M
  11. };
  12. var lais = new AlunoTecnologo() {
  13. Nome = "Lais Silva",
  14. Ra = "545454",
  15. NotaB1 = 7.5M,
  16. NotaB2 = 10M,
  17. NotaPim = 9M
  18. };
  19. var dao = new AlunoDao();
  20. dao.Adicionar(vizu);
  21. dao.Adicionar(lais);
  22. foreach (Aluno aluno in dao.Listar()) WriteLine($"Nome: {aluno.Nome}\tNotaB1: {aluno.NotaB1}\tNotaB2: {aluno.NotaB2}\tMedia: {aluno.Media}");
  23. }
  24. }
  25.  
  26. public class Aluno {
  27. public string Nome { get; set; }
  28. public string Ra { get; set; }
  29. public decimal NotaB1 { get; set; }
  30. public decimal NotaB2 { get; set; }
  31. public virtual decimal Media => (NotaB1 + NotaB2) / 2;
  32. }
  33.  
  34. public class AlunoTecnologo : Aluno {
  35. public decimal NotaPim { get; set; }
  36. public override decimal Media => NotaPim * 0.2m + base.Media;
  37. }
  38.  
  39. public class AlunoDao {
  40. private List<Aluno> alunos;
  41. public AlunoDao() => alunos = new List<Aluno>();
  42. public void Adicionar(Aluno aluno) => alunos.Add(aluno);
  43. public List<Aluno> Listar() => new List<Aluno>(alunos);
  44. }
  45.  
  46. //https://pt.stackoverflow.com/q/404829/101
Success #stdin #stdout 0.02s 16644KB
stdin
Standard input is empty
stdout
Nome: Joao Vizu	NotaB1: 7.5	NotaB2: 10	Media: 8.75
Nome: Lais Silva	NotaB1: 7.5	NotaB2: 10	Media: 10.55