image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image

IN

Ismael Neto30/08/2023 18:51
Compartilhe

Sistema de agenda telefônica no console com base no curso.

  • #.NET C#

Esse projeto me ajudou a entender melhor sobre o funcionamento de Listas e também de Loops.

Inicialmente, criamos uma classe para armazenar os atributos e métodos relacionados à agenda, estes foram:

  1. Um objeto do tipo List nomes (Visa armazenar o nome do qual o telefone será vinculado).
  2. Um objeto do tipo List telefone (Armazena os telefones)
  3. Método "MostrarAgenda()" onde aqui executa um loop que ler e imprimi cada posição da lista.
  4. Método "Adicionar()" onde terá a lógica de adicionar um nome e um telefone em suas respectivas listas.
  5. Método "Remover()" onde removerá um determinado item das listas (selecionado pelo índice da lista)

Aqui o código do arquivo Agenda.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Threading.Tasks;

namespace Arrays
{
  public class Agenda
  {
      public List<string> nome = new List<string>();
      public List<string> telefone = new List<string>();

      

      public void MostrarAgenda(){
          
          for(int i = 0; i < nome.Count; i++){
             Console.WriteLine($"\nItem: {i} \nNome: {nome[i]} \nTelefone: {telefone[i]}\n--------------\n");
          } //Loop que imprime o índice, nome e telefone da lista.
      }

      public void Adicionar(){
          Console.WriteLine("\nNome: ");
          nome.Add(Console.ReadLine());
          Console.WriteLine("Telefone: ");
          telefone.Add(Console.ReadLine()); //Lógica simples de adição de elementos na lista
      }

      public void Remover(){
          Console.WriteLine("\nDigite o número do item que quer remover: ");
          MostrarAgenda(); //Exibe novamente a lista para que o usuário possa ver os elementos.
          int opc = Convert.ToInt32(Console.ReadLine()); //Ler a posição que o usuário selecionou
          for(int i = 0; i < nome.Count; i++){ //Loop para ler toda a lista novamente
              if(opc == i){ // Verifica se a posição que o usuário digitou é igual a qual o contador do loop está
                  nome.RemoveAt(i);
              }else{
                  Console.WriteLine("\nNão existente\n");
              }
          }
      }

  }
}

Em seguida, criamos o "menu" onde exibirá as opções e pegará a opção do usuário.

using Arrays;

Console.WriteLine("-------------Agenda Telefônica------------");

Agenda agenda = new Agenda();

while(true){
  Console.WriteLine("1. Ver Agenda \n2. Adicionar na agenda \n3. Excluir da Agenda\n");
  string opc = Console.ReadLine();

  if(opc.Equals("1")){
      if(agenda.nome.Count > 0){
          agenda.MostrarAgenda();
      }else{
          Console.WriteLine("\nAgenda vazia");
          continue;
      }
  }else if(opc.Equals("2")){
      agenda.Adicionar();
  }else if(opc.Equals("3")){
      agenda.Remover();
  }else{
      Console.WriteLine("\nInsira uma opção válida\n");
      continue;
  }//Aqui somente verifica a opção do usuário e chama os médotos conforme necessário (aqui também poderia ser usado um switch-case)

}


Esse programa foi bem útil e me ajudou a entender bem melhor como funcionam as Listas, espero que possa ajudar a outros da mesma forma.

Compartilhe
Comentários (0)