static string hash_buscar(int n) { IDado aux = null; switch (n) { case 0: //comida aux = new Bebida(null); break; case 1: //bebida aux = new Comida(null); break; case 2: //escritorio aux = new Escritorio(null); break; case 3: //utensilios aux = new Utensilio(null); break; default: Console.WriteLine("Opção não existe..."); break; } int lugar = aux.GetHashCode(); return(Lista_Produtos[lugar].ToString()); }
static void Ler_Dados_ARQ1() { string nome_Arquivo = "AEDprodutos.txt"; IDado novo = null; if (!File.Exists(nome_Arquivo)) { Console.WriteLine("Arquivo {0} não existe!", nome_Arquivo); } else { using (StreamReader entrada = new StreamReader(nome_Arquivo)) { // nome_Produto, categoria, margem_Lucro, preco_Custo, estoque_Incial, minimo_Estoque while (!entrada.EndOfStream) { string[] info = entrada.ReadLine().Split(';'); switch (info[1]) { case "1": novo = new Bebida(info[0], Convert.ToDouble(info[2]), Convert.ToDouble(info[3]), Convert.ToInt32(info[4]), Convert.ToInt32(info[5])); break; case "2": novo = new Comida(info[0], Convert.ToDouble(info[2]), Convert.ToDouble(info[3]), Convert.ToInt32(info[4]), Convert.ToInt32(info[5])); break; case "3": novo = new Escritorio(info[0], Convert.ToDouble(info[2]), Convert.ToDouble(info[3]), Convert.ToInt32(info[4]), Convert.ToInt32(info[5])); break; case "4": novo = new Utensilio(info[0], Convert.ToDouble(info[2]), Convert.ToDouble(info[3]), Convert.ToInt32(info[4]), Convert.ToInt32(info[5])); break; default: novo = null; break; } if (novo != null) { //Caso tenha sido instanciado corretamente, o produto será adicionado as estruturas de dados Arvore_de_Produtos.Inserir(novo); int lugar_adequado = novo.GetHashCode(); Lista_Produtos[lugar_adequado].Inserir(novo); } } } } }