Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Não estou entendendo meu erro

Eu estive fazendo as questões da Luri para ter certeza de que estou realmente aprendendo, porém esse erro eu não estou conseguindo resolver e não sei o que tem que fazer, alguém pode me ajudar? (Eu copiei e colei da aula e iria mudar as coisas para condizer com a questão proposta)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Olá Miguel, tudo bom?

Pelo que vejo nas imagens, parece que você está enfrentando dois erros principais no seu código:

  1. CS8803: As instruções de nível superior precisam preceder as declarações de namespace e de tipo.
  2. CS0128: Uma variável de local ou função denominada '_listaDeContas' já está definida neste escopo.

Vamos resolver cada um deles:

1. CS8803: Instruções de nível superior precisam preceder as declarações de namespace e de tipo

Esse erro ocorre quando você tenta declarar variáveis ou escrever código diretamente no escopo global, fora de métodos, classes ou namespaces. No C#, todas as declarações de variáveis e métodos devem estar dentro de uma classe ou estrutura.

2. CS0128: Variável '_listaDeContas' já está definida neste escopo

Esse erro indica que você está tentando declarar a variável _listaDeContas mais de uma vez no mesmo escopo. Certifique-se de que você não está declarando a mesma variável duas vezes.

Correção do Código

Vamos corrigir o seu código seguindo essas orientações. Aqui está um exemplo de como você pode organizar o seu código:

using System;
using System.Collections.Generic;

namespace SeuNamespace
{
    class Program
    {
        // Declare a lista de contas aqui
        static List<ContaCorrente> _listaDeContas = new List<ContaCorrente>();

        static void Main(string[] args)
        {
            char opcao;
            do
            {
                Console.Clear();
                Console.WriteLine("=====================================");
                Console.WriteLine("===========     Compras     =========");
                Console.WriteLine("=====================================");
                Console.WriteLine("=== 1 - Carrinho                  ===");
                Console.WriteLine("=== 2 - Listar Compras            ===");
                Console.WriteLine("=== 3 - Remover Compras           ===");
                Console.WriteLine("=====================================");
                Console.WriteLine("\n\n\n");
                Console.WriteLine("Digite a opção desejada: ");
                opcao = Console.ReadLine()[0];

                switch (opcao)
                {
                    case '1':
                        // Lógica para adicionar ao carrinho
                        break;
                    case '2':
                        // Lógica para listar compras
                        break;
                    case '3':
                        // Lógica para remover compras
                        break;
                    default:
                        Console.WriteLine("Opção inválida!");
                        break;
                }
            } while (opcao != '0');
        }
    }

    public class ContaCorrente
    {
        public int Numero { get; set; }
        public string Agencia { get; set; }
        public decimal Saldo { get; set; }

        public ContaCorrente(int numero, string agencia)
        {
            Numero = numero;
            Agencia = agencia;
        }
    }
}

Explicação

  1. Namespace e Classe: Todo o código está dentro de um namespace (SeuNamespace) e uma classe (Program).
  2. Declaração da Lista: A lista _listaDeContas é declarada no escopo da classe Program, garantindo que ela não seja redefinida.
  3. Método Main: O método Main contém a lógica do menu e é o ponto de entrada do programa.

Espero ter ajudado e bons estudos!

Muito obrigado, me trouxe um norte