public static void Main()
Console.WriteLine("Lista de Professores");
Professor professor = new Professor("Alisson", "46233029834",0);
Professor professor1 = new Professor("Caio", "34533029834",1);
Professor professor2 = new Professor("Allan", "45633029834",2);
Professor professor3 = new Professor("Giuliana", "34573029834",3);
Console.WriteLine("Lista de Disciplinas");
Disciplinadisciplina = new Disciplina("Alisson", "46233029834",0,"Engenharia de software",80);
Disciplinadisciplina1 = new Disciplina("Caio", "34533029834",1,"Engenharia de software",80);
Disciplinadisciplina2 = new Disciplina("Allan", "45633029834",2,"Estrutura de dados",80);
Disciplinadisciplina3 = new Disciplina("Giuliana", "34573029834",3,"Gestão de projetos",80);
public abstract class Pessoa
private static int contador;
public Pessoa(string nome, string cpf)
public string GetPessoa()
return $"Nome: {this.nome}, idade: {this.cpf}";
public class Professor : Pessoa
private int codprofessor;
public Professor(string nome, string cpf, int codprofessor) : base (nome, cpf)
this.codprofessor = codprofessor;
public int GetCodProfessor()
public string GetProfessor()
return $"Nome: {this.nome}, idade: {this.cpf}, CodProfessor: {this.codprofessor}";
public class Disciplina : Professor
private string nomedisciplina;
private int cargahoraria;
private Professor professor;
public string Disciplina(string nome, string cpf, int codprofessor, string nomedisciplina,int cargahoraria,string Professor) : base(nome, cpf, codprofessor)
this.nomedisciplina = nomedisciplina;
this.cargahoraria = cargahoraria;
public string GetDisciplina()
return $"Nome: {this.nomedisciplina}, idade: {this.cargahoraria}, CodProfessor: {this.professor}";
public static class Funcoes
public static void ListarProfessor()
public static void ListarDisciplinas()
public static void BuscarProfessor()
public static void ListarDisciplinasProfessor()