Nome do tipo ou namespace não pode ser encontrado

Emerson dos Santos Sousa 25 Pontos de reputação
2024-08-05T16:39:53.0666667+00:00

Bom dia

Estou desenvolvendo um código de aplicação financeira no C# versão 2022, porém este código esta dando erro nas classes pessoa fisica, pessoa juridica e movimentacao, na qual não consegui eliminar.

Será que alguém pode me ajudar, por favor?

Segue o código em anexo.

Um abraço a todos.

movimentacao.txt
using System.Net.Http.Json;
using System.Text;
using System.Threading.Tasks;
using Teste_final;
List<Cliente> Clientes = new List<Cliente>();
ConsultarCliente();
void ConsultarCliente() 
{
    Console.WriteLine("Olá, Bem Vindo ao Banco LL.");
    Console.WriteLine("Digite seu código:");
    string codigo = Console.ReadLine(); 
    Cliente cliente = null; 
    foreach (Cliente cli in Clientes)
    {
        if (cli.Codigo == codigo)
        {
            cliente = cli; 
        }
    }
    if (cliente == null)
    {
        Console.WriteLine("Este cliente não existe. Deseja cadastrar? Digite S ou N");
        string cadastrarCliente = Console.ReadLine();
        if (cadastrarCliente == "S")
        {
            Console.WriteLine("Digite seu código: ");
            string codigoClienteNovo = Console.ReadLine();
            Console.WriteLine("Digite seu nome: ");
            string nomeClienteNovo = Console.ReadLine();
            Console.WriteLine("Digite PF ou PJ");
            string tipoPessoa = Console.ReadLine();
            if (tipoPessoa == "PF")
                cliente = new PessoaFisica(codigoClienteNovo, nomeClienteNovo);
            else
                cliente = new PessoaJuridica(codigoClienteNovo, nomeClienteNovo);
            Clientes.Add(cliente);
            ExibirMenu(cliente);
        }
        else
            ConsultarCliente();
    }
    
}

void ExibirMenu(Cliente cliente)
{
    Console.WriteLine($"Olá {cliente.Nome}");
    Console.WriteLine("Digite a opção desejada:");
    Console.WriteLine("1 = Extrato");
    Console.WriteLine("2 = Saque");
    Console.WriteLine("3 = Depósito");
    string menu = Console.ReadLine();
    switch (menu)
    {
        case "1":
            ExibirExtrato(cliente);
            break;
        case "2":
            RealizarSaque(cliente);
            break;
        case "3":
            RealizarDeposito(cliente);
            break;
        default:
            Console.WriteLine("Digite a opção correta.");
            ExibirMenu(cliente);
            break;
    }
    void ExibirExtrato(Cliente cliente)
    {
        Console.WriteLine("----------EXTRATO----------");
        foreach (Movimentacao mov in cliente.Movimentacoes)
        {
            Console.WriteLine($"{mov.Tipo} - {mov.Valor}");
        }
        Console.WriteLine("Deseja exibir o menu novamente? Digite S ou N");
        string exibirMenu = Console.ReadLine();
        if (exibirMenu == "S")
        {
            ExibirMenu(cliente);
        }
        else
        {
            Console.WriteLine("Deseja consultar outro cliente? Digite S ou N");
            string consultarCliente = Console.ReadLine();
            if (consultarCliente == "S")
                ConsultarCliente();
        }
    }
    void RealizarSaque(Cliente cliente)
    {
        Console.WriteLine("Digite o valor que deseja sacar:");
        string valor = Console.ReadLine();
        cliente.RealizarSaque(Convert.ToDecimal(valor)); o, e não
        Console.WriteLine("Deseja realizar outra transação? Digite S ou N");
        string realizarOutraTransacao = Console.ReadLine();
        if (realizarOutraTransacao == "S")
            ExibirMenu(cliente);
        else
            Console.WriteLine("Foi um prazer lhe atender! Até mais!");
    }
    void RealizarDeposito(Cliente cliente)
    {
        Console.WriteLine("Digite o valor que deseja depositar:");
        string valor = Console.ReadLine();
        cliente.RealizarDeposito(Convert.ToDecimal(valor));
        Console.WriteLine("Deseja realizar outra transação? Digite S ou N");
        string realizarOutraTransacao = Console.ReadLine();
        if (realizarOutraTransacao == "S")
            ExibirMenu(cliente);
        else
            Console.WriteLine("Foi um prazer lhe atender! Até mais!");
    }
}


.NET
.NET
Tecnologias da Microsoft baseadas na estrutura de software do .NET.
28 perguntas
C#
C#
Uma linguagem de programação fortemente tipada e orientada a objetos com raízes na família C de linguagens e que inclui suporte para programação orientada a componentes.
23 perguntas
0 comentários Sem comentários
{count} votos

Resposta aceita
  1. Jonathan Pereira Castillo 8,160 Pontos de reputação Fornecedor da Microsoft
    2024-08-06T17:28:27.9433333+00:00

    Bom dia, Emerson!

    Bem-vindo ao Microsoft Q&A!

    A geração de código não é estritamente suportada pela Microsoft, de qualquer forma deixe-me criar uma extramile e tentar ajudá-lo neste caso, com uma informação geral

    Parece que você está enfrentando um problema com namespaces ou tipos não encontrados no seu código C#. Vamos tentar resolver isso juntos.

    Primeiro, certifique-se de que você tem as classes PessoaFisica, PessoaJuridica e Movimentacao definidas corretamente e que elas estão no mesmo namespace ou que você está importando o namespace correto onde essas classes estão definidas.

    Aqui está um exemplo básico de como essas classes podem ser definidas:

    C#

    namespace Teste_final
    {
        public class Cliente
        {
            public string Codigo { get; set; }
            public string Nome { get; set; }
            public List<Movimentacao> Movimentacoes { get; set; } = new List<Movimentacao>();
            public void RealizarSaque(decimal valor)
            {
                Movimentacoes.Add(new Movimentacao { Tipo = "Saque", Valor = valor });
            }
            public void RealizarDeposito(decimal valor)
            {
                Movimentacoes.Add(new Movimentacao { Tipo = "Depósito", Valor = valor });
            }
        }
        public class PessoaFisica : Cliente
        {
            public PessoaFisica(string codigo, string nome)
            {
                Codigo = codigo;
                Nome = nome;
            }
        }
        public class PessoaJuridica : Cliente
        {
            public PessoaJuridica(string codigo, string nome)
            {
                Codigo = codigo;
                Nome = nome;
            }
        }
        public class Movimentacao
        {
            public string Tipo { get; set; }
            public decimal Valor { get; set; }
        }
    }
    
    

    Certifique-se de que o namespace Teste_final está sendo usado corretamente no seu arquivo movimentacao.txt:

    C#

    using System;
    using System.Collections.Generic;
    using Teste_final;
    List<Cliente> Clientes = new List<Cliente>();
    ConsultarCliente();
    void ConsultarCliente() 
    {
        // Seu código aqui...
    }
    
    

    Se as classes PessoaFisica, PessoaJuridica e Movimentacao estiverem em um namespace diferente, você precisará importar esse namespace no início do seu arquivo com using.

     

    Espero que essas dicas ajudem a resolver o problema! Se precisar de mais assistência, estou à disposição.

    Saudações

    Jonathan.

    -----------

    Se a resposta for a solução correta, clique em "Aceitar resposta" e vote educadamente nela. Se você tiver perguntas adicionais sobre essa resposta, clique em "Comentar". Nota: Siga as etapas em nossa documentação para habilitar notificações por e-mail se você gostaria de receber notificações por e-mail relacionadas a este tópico.

    0 comentários Sem comentários

3 respostas adicionais

Classificar por: Mais útil
  1. Emerson dos Santos Sousa 25 Pontos de reputação
    2024-08-13T22:10:15.9233333+00:00

    Jhonatan, muito obrigado. Fiz conforme as suas orientações e deu certinho. Valeu!!!!

    1 pessoa achou esta resposta útil.
    0 comentários Sem comentários

  2. Emerson dos Santos Sousa 25 Pontos de reputação
    2024-08-07T00:47:42.0466667+00:00

    Jonathan, de antemão, ja lhe agradeço pela orientação. Assim que eu estiver com o código em mãos, irei fazer as correções propostas e irei testar. Lhe darei um retorno se funcionou ou se não. Obrigado pela disponibilidade.

    0 comentários Sem comentários

  3. Jonathan Pereira Castillo 8,160 Pontos de reputação Fornecedor da Microsoft
    2024-08-13T22:23:14.5133333+00:00

    Boa tarde Emerson dos Santos Sousa

    Agradeço sinceramente pela oportunidade de ajudar. É gratificante saber que as informações fornecidas foram úteis.

    Espero ter a chance de auxiliar novamente no futuro, com qualquer outra dúvida que possa surgir.

    Atenciosamente,

    Jonathan

    0 comentários Sem comentários

Sua resposta

As respostas podem ser marcadas como Respostas Aceitas pelo autor da pergunta, o que ajuda os usuários a saber a resposta que resolveu o problema do autor.