public static void AjustarReta(this DadosAjuste o, Tipos tipo) { switch (tipo) { case Tipos.Reta: DadosRetaExpAjustada entrada = o as DadosRetaExpAjustada; AjustarReta(entrada.QtdePontos, entrada.PontosTabelados, out entrada.A, out entrada.B, out entrada.Y, out entrada.Erro); break; case Tipos.Polinomial: DadosPoliAjustada entrada1 = o as DadosPoliAjustada; AjustarPoli(entrada1.QtdePontos, entrada1.PontosTabelados, entrada1.GrauPoli, out entrada1.CoefAjust, out entrada1.Y, out entrada1.Erro); break; case Tipos.Exponencial1: DadosRetaExpAjustada entrada2 = o as DadosRetaExpAjustada; AjustarExp1(entrada2.QtdePontos, entrada2.PontosTabelados, out entrada2.A, out entrada2.B, out entrada2.Y, out entrada2.Erro); break; case Tipos.Exponencial2: DadosRetaExpAjustada entrada3 = o as DadosRetaExpAjustada; AjustarExp2(entrada3.QtdePontos, entrada3.PontosTabelados, out entrada3.A, out entrada3.B, out entrada3.Y, out entrada3.Erro); break; } }
private void calcular_Click(object sender, EventArgs e) { var tipo = (Tipos)tipos.SelectedIndex; object dadosGen = null; switch (tipo) { case Tipos.Reta: DadosRetaExpAjustada dados = new DadosRetaExpAjustada() { QtdePontos = pontosTabelados.RowCount }; dados.PontosTabelados = getPontos(pontosTabelados).ToArray(); dados.AjustarReta(tipo); dadosGen = dados; break; case Tipos.Polinomial: DadosPoliAjustada dadopoli = new DadosPoliAjustada() { QtdePontos = pontosTabelados.RowCount, PontosTabelados = getPontos(pontosTabelados).ToArray(), GrauPoli = int.Parse(Prompt.ShowDialog("Grau do polinomio:", "Grau")), }; dadopoli.AjustarReta(tipo); dadosGen = dadopoli; break; case Tipos.Exponencial1: dados = new DadosRetaExpAjustada() { QtdePontos = pontosTabelados.RowCount }; dados.PontosTabelados = getPontos(pontosTabelados).ToArray(); dados.AjustarReta(tipo); dadosGen = dados; break; case Tipos.Exponencial2: dados = new DadosRetaExpAjustada() { QtdePontos = pontosTabelados.RowCount }; dados.PontosTabelados = getPontos(pontosTabelados).ToArray(); dados.AjustarReta(tipo); dadosGen = dados; break; default: break; } this.Hide(); ((MainForm)MdiParent).ShowSolucForm(); ((MainForm)MdiParent).soluc.OnOpenForm(this); ((MainForm)MdiParent).soluc.ShowSolution(dadosGen, tipo); }