static void CriarConta(int agencia) // método para criar uma nova conta { string Titular = ""; // armazenar nome do titular da conta DateTime DataAtual = DateTime.Now; // pegar data do momento da criação da conta bool loop = true; char opc; // armazenar opção escolhida pelo usuário do { Console.WriteLine("\n Escolha o tipo de conta \n"); Console.WriteLine(" 1. Conta Corrente"); Console.WriteLine(" 2. Conta Poupança"); Console.WriteLine(" 3. Conta Investimento"); Console.Write("\n Escolha uma opcção: "); opc = Console.ReadKey().KeyChar; switch (opc) // exibir opção escolhida pelo usuário { case '1': Console.Clear(); Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Black; Console.WriteLine("\n\t\t\tCriar Conta Corrente\t\t\t\t"); Console.ResetColor(); loop = false; break; case '2': Console.Clear(); Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Black; Console.WriteLine("\n\t\t\tCriar Conta Poupança\t\t\t\t"); Console.ResetColor(); loop = false; break; case '3': Console.Clear(); Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Black; Console.WriteLine("\n\t\t\tCriar Conta Investimento\t\t\t"); Console.ResetColor(); loop = false; break; default: Console.Clear(); System.Threading.Thread.Sleep(100); Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("\n Opção inválida, tente novamente\n"); Console.ResetColor(); loop = true; break; } } while (loop == true); do { Console.Write("\n Digite o nome completo do titular da conta: "); Titular = Console.ReadLine(); if (ValidarNome(Titular) == false) { Console.Clear(); Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("\n Digite um nome válido! \n"); Console.ResetColor(); loop = true; } else { loop = false; } } while (loop == true); switch (opc) // de acordo com a opção escolhida acima os dados serão destinados a um objeto específico { case '1': Conta contaC = new Conta(Titular, Cont + 1, 1, agencia, 0, DataAtual, true); VetContas[ContAgencias] = contaC; ContAgencias++; Cont++; Console.Clear(); Console.BackgroundColor = ConsoleColor.Yellow; Console.ForegroundColor = ConsoleColor.Black; Console.WriteLine("\n Conta Corrente criada com sucesso! \n"); Console.ResetColor(); break; case '2': Poupanca contaP = new Poupanca(JurosP, Titular, Cont + 1, 2, agencia, 0, DataAtual, true); VetContas[ContAgencias] = contaP; ContAgencias++; Cont++; Console.Clear(); Console.BackgroundColor = ConsoleColor.Yellow; Console.ForegroundColor = ConsoleColor.Black; Console.WriteLine("\n Conta Poupança criada com sucesso! \n"); Console.ResetColor(); break; case '3': Investimento contaI = new Investimento(Rendimento, Imposto, Titular, Cont + 1, 3, agencia, 0, DataAtual, true); VetContas[ContAgencias] = contaI; ContAgencias++; Cont++; Console.Clear(); Console.BackgroundColor = ConsoleColor.Yellow; Console.ForegroundColor = ConsoleColor.Black; Console.WriteLine("\n Conta Investimento criada com sucesso! \n"); Console.ResetColor(); break; } System.Threading.Thread.Sleep(600); Console.Clear(); }
static void CarregarContasArquivo(int agencia) // método para ler arquivo e caregar arquivo de uma agência na memória { int contErros = 0; // contador de linhas corrompidas string arquivoContas = @"Agencias\" + agencia + ".txt"; // nome do arquivo irá mudar de acordo com a agência selecionada Console.WriteLine("\n Carregando dados para a memória... \n"); if (File.Exists(arquivoContas)) // verificar existência do arquivo { using (StreamReader sr = File.OpenText(arquivoContas)) // instânciando StreamReader e já pasando o caminho { while (!sr.EndOfStream) { string linhas = sr.ReadLine(); // armazenando conteúdo lido de cada linha do arquivo var dados = linhas.Split(';'); // separar dados entre ';' // formato dos dados Bryan Diniz;0001;1;010;3500;14/09/2019;true // 1. Titular 2. Num conta 3. Tipo 4. Agência 5. Saldo 6. Data de criação 7. Status da conta (estar ou não ativa) // try { string titular = dados[0]; // armazenando titular da conta int numConta = int.Parse(dados[1]); // convertendo e armazenando número da conta int tipoConta = int.Parse(dados[2]); // convertendo e armazenando o tipo da conta int numAgencia = int.Parse(dados[3]); // convertendo e armazenando número da agência double saldo = double.Parse(dados[4]); // convertendo e armazenando saldo da conta DateTime data = Convert.ToDateTime(dados[5]); // armazenando data de criação da conta bool contaStatus = bool.Parse(dados[6]); // convertendo e armazenando status da conta if (tipoConta == 1) // se a conta for do tipo 1 = corrente { Conta conta = new Conta(titular, numConta, tipoConta, numAgencia, saldo, data, contaStatus); // instânciar objeto pessoa VetContas[ContAgencias] = conta; // adicionando pessoa a vetor ContAgencias++; // incrementado +1 ao contador de contas da agência atual } else if (tipoConta == 2) // se a conta for do tipo 2 = Poupança { Poupanca conta = new Poupanca(JurosP, titular, numConta, tipoConta, numAgencia, saldo, data, contaStatus); // instânciar objeto pessoa VetContas[ContAgencias] = conta; // adicionando pessoa a vetor ContAgencias++; // incrementado +1 ao contador de contas da agência atual } else // se a conta for do tipo 3 = Investimento { Investimento conta = new Investimento(Rendimento, Imposto, titular, numConta, tipoConta, numAgencia, saldo, data, contaStatus); // instânciar objeto pessoa VetContas[ContAgencias] = conta; // adicionando pessoa a vetor ContAgencias++; // incrementado +1 ao contador de contas da agência atual } } catch (IOException e) { Console.WriteLine(e); contErros++; } } } } else { Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(" Arquivo não encontrado \n"); Console.ResetColor(); } Console.WriteLine(" " + ContAgencias + " contas foram carregadas "); Console.WriteLine(" " + contErros + " contas não foram carregadas "); System.Threading.Thread.Sleep(1300); Console.Clear(); }