using static System.Console;
using System.Collections.Generic;
using System.Linq;
 
class Cliente {
	public int Cpf {get; set; }
	public string Nome {get; set; }
	public int Tel {get; set; }
	public string End {get; set; }
}				
 
public class Program {
	static List<Cliente> ClienteList = new List<Cliente>();
 
    public static void Main(string[] args) {
        int op = -1;
        while (op != 0) {
            WriteLine("Digite 1 para cadastrar: ");
            WriteLine("Digite 2 para consultar: ");
            WriteLine("Digite 3 para remover cadastro");
            WriteLine("Digite 4 para editar cadastro: ");
            WriteLine("Digite 0 para sair: "); 
            op = int.Parse(ReadLine());
            //aqui poderia ter um switch mas entendo que você ainda não aprendeu usá-lo ainda    
			if (op == 1) {
                CadastroCliente();
            } else if (op == 2) {
                ConsultaCadaCli();
            } else if (op == 3) {
                RemoverCadastro();
            } else if (op == 4) {
                EditarCliente();
            }
 
        }
    }
    public static void CadastroCliente() {
        Cliente cli = new Cliente();
        WriteLine("Digite o CPF: ");
        cli.Cpf = int.Parse(ReadLine());
        WriteLine("Digite o nome: ");
        cli.Nome = ReadLine();
        WriteLine("Digite o telefone: ");
        cli.Tel = int.Parse(ReadLine());
        WriteLine("Digiete o endereco: ");
        cli.End = ReadLine();
        ClienteList.Add(cli);
    }
    public static void ConsultaCadaCli() {
        WriteLine("Digite seu CPF");
        int Consulta = int.Parse(ReadLine());
        var cli = ClienteList.Where(c => c.Cpf.Equals(Consulta)).FirstOrDefault();
        if (cli != null) {
            WriteLine("CPF: " + cli.Cpf);
            WriteLine("Nome: " + cli.Nome);
            WriteLine("Telefone: " + cli.Tel);
            WriteLine("Endereco: " + cli.End);
        } else {
            WriteLine("Cliente nao cadastrado");
        }
    }
    public static void RemoverCadastro() {
		WriteLine("Digite seu CPF");
        int Consulta = int.Parse(ReadLine());
        var cli = ClienteList.Where(c => c.Cpf.Equals(Consulta)).FirstOrDefault();
        if (cli != null) {
            ClienteList.Remove(cli);
            WriteLine("Cadastro removido com sucesso. ");
        } else {
            WriteLine("Cliente nao cadastrado");
        }
    }
	public static void EditarCliente() {
        WriteLine("Digite seu CPF");
        int Consulta = int.Parse(ReadLine());
		var cli = ClienteList.Where(c => c.Cpf.Equals(Consulta)).FirstOrDefault();
        if(cli != null) {
            WriteLine("CPF: " + cli.Cpf);
            WriteLine("Nome: " + cli.Nome);
            WriteLine("Telefone: " + cli.Tel);
            WriteLine("Endereco: " + cli.End);
			WriteLine("Digite o nome: ");
			cli.Nome = ReadLine();
			WriteLine("Digite o telefone: ");
			cli.Tel = int.Parse(ReadLine());
			WriteLine("Digiete o endereco: ");
			cli.End = ReadLine();
        } else {
            WriteLine("Cliente nao cadastrado");
        }
    }
}
 
//https://pt.stackoverflow.com/q/43974/101