none
Duvida no programa RRS feed

  • Pergunta

  • Olá, boa tarde. Sou um aluno do 2° ano do ensino médio com técnico em desenvolvimento de sistemas.

    Gostaria de ajuda com o programa abaixo, quando tento consertar os erros que aparecem aparecem mais. O intuito do programa é criar uma classe e uma função para escrever na tela do programa o conteúdo da classe de maneira prática.

    Neste exemplo eu já pré defini os valores da classe, porém eu farei um outro exemplo desse mesmo programa fazendo com que o usuário possa colocar os valores da classe:

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

    namespace classes
    {
       
        class Program
        {
            public static string PegarV(string x)
            {
            Console.WriteLine("Formulario pessoa:");
            Console.WriteLine(pessoa_x.nome);
            Console.WriteLine(pessoa_x.idade);
            Console.WriteLine(pessoa_x.corolhos);
            Console.WriteLine(pessoa_x.corcabelo);
            Console.WriteLine(pessoa_x.carreira);
            Console.WriteLine(pessoa_x.salario);
            Console.WriteLine("----------------");
            }
           
            class Pessoa
            {
            public string nome;
            public int idade;
            public string corolhos;
            public string corcabelo;
            public string carreira;
            public int salario;
            }
           
            static void Main(string[] args)
            {
                Pessoa pessoa_1 = new Pessoa();
                pessoa_1.nome = "Jorge";
                pessoa_1.idade = 25;
                pessoa_1.corolhos = "Castanhos";
                pessoa_1.corcabelo = "Preto";
                pessoa_1.carreira = "Contador";
                pessoa_1.salario = 2.900;
               
                Pessoa pessoa_02 = new Pessoa();
                pessoa_02.nome = "Gustavo";
                pessoa_02.idade = 17;
                pessoa_02.corolhos = "Castanhos";
                pessoa_02.corcabelo = "Preto";
                pessoa_02.carreira = "MotoBoy";
                pessoa_02.salario = 1.000; //ou mais, depende
               
                Pessoa pessoa_03 = new Pessoa();
                pessoa_03.nome = "Ricardo Watterson";
                pessoa_03.idade = 31;
                pessoa_03.corolhos = "Preto";
                pessoa_03.corcabelo = "careca";
                pessoa_03.carreira = "desempregado";
                pessoa_03.salario = 0; //sustentado pela mulher
               
                Pessoa pessoa_04 = new Pessoa();
                pessoa_04.nome = "Stanley Pines";
                pessoa_04.idade = 60;
                pessoa_04.corolhos = "Preto";
                pessoa_04.corcabelo = "cinza";
                pessoa_04.carreira = "Vendedor";
                pessoa_04.salario = 900; //indefinido
                PegarV(1);
                PegarV(02);
                PegarV(03);
                PegarV(04);
            }
        }
    }

    segunda-feira, 9 de novembro de 2020 17:31

Respostas

  • Olá Willian,

    Para esse programa funcionar você deve alterar o seu método que realiza a impressão dos valores na tela para ele receber um objeto do tipo Pessoa e assim irá conseguir imprimir os valores.

    Ficaria desta forma

    static void PegarV(Pessoa x)
            {
                Console.WriteLine("Formulario pessoa:");
                Console.WriteLine(x.nome);
                Console.WriteLine(x.idade);
                Console.WriteLine(x.corolhos);
                Console.WriteLine(x.corcabelo);
                Console.WriteLine(x.carreira);
                Console.WriteLine(x.salario);
                Console.WriteLine("----------------");
            }

            class Pessoa
            {
                public string nome;
                public int idade;
                public string corolhos;
                public string corcabelo;
                public string carreira;
                public int salario;
            }

            static void Main(string[] args)
            {
                Pessoa pessoa_1 = new Pessoa();
                pessoa_1.nome = "Jorge";
                pessoa_1.idade = 25;
                pessoa_1.corolhos = "Castanhos";
                pessoa_1.corcabelo = "Preto";
                pessoa_1.carreira = "Contador";
                pessoa_1.salario = 2000;

                Pessoa pessoa_02 = new Pessoa();
                pessoa_02.nome = "Gustavo";
                pessoa_02.idade = 17;
                pessoa_02.corolhos = "Castanhos";
                pessoa_02.corcabelo = "Preto";
                pessoa_02.carreira = "MotoBoy";
                pessoa_02.salario = 1000; //ou mais, depende

                Pessoa pessoa_03 = new Pessoa();
                pessoa_03.nome = "Ricardo Watterson";
                pessoa_03.idade = 31;
                pessoa_03.corolhos = "Preto";
                pessoa_03.corcabelo = "careca";
                pessoa_03.carreira = "desempregado";
                pessoa_03.salario = 0; //sustentado pela mulher

                Pessoa pessoa_04 = new Pessoa();
                pessoa_04.nome = "Stanley Pines";
                pessoa_04.idade = 60;
                pessoa_04.corolhos = "Preto";
                pessoa_04.corcabelo = "cinza";
                pessoa_04.carreira = "Vendedor";
                pessoa_04.salario = 900; //indefinido
                PegarV(pessoa_1);
                PegarV(pessoa_02);
                PegarV(pessoa_03);
                PegarV(pessoa_04);


                Console.ReadLine();

    att.

    Gerson

    • Marcado como Resposta Willian352 terça-feira, 17 de novembro de 2020 19:23
    terça-feira, 10 de novembro de 2020 14:31

Todas as Respostas

  • Ola Willian352,

    Obrigada por contatar a Microsoft. Tentando rodar o seu codigo e dando um debug, esses foram os erros encontrados:

    main.cs(15,27): error CS0103: The name `pessoa_x' does not exist in the current context main.cs(16,27): error CS0103: The name `pessoa_x' does not exist in the current context main.cs(17,27): error CS0103: The name `pessoa_x' does not exist in the current context main.cs(18,27): error CS0103: The name `pessoa_x' does not exist in the current context main.cs(19,27): error CS0103: The name `pessoa_x' does not exist in the current context main.cs(20,27): error CS0103: The name `pessoa_x' does not exist in the current context main.cs(42,32): error CS0266: Cannot implicitly convert type `double' to `int'. An explicit conversion exists (are you missing a cast?) main.cs(50,33): error CS0266: Cannot implicitly convert type `double' to `int'. An explicit conversion exists (are you missing a cast?) main.cs(67,13): error CS1502: The best overloaded method match for `classes.Program.PegarV(string)' has some invalid arguments main.cs(12,30): (Location of the symbol related to previous error) main.cs(67,20): error CS1503: Argument `#1' cannot convert `int' expression to type `string' main.cs(68,13): error CS1502: The best overloaded method match for `classes.Program.PegarV(string)' has some invalid arguments main.cs(12,30): (Location of the symbol related to previous error) main.cs(68,20): error CS1503: Argument `#1' cannot convert `int' expression to type `string' main.cs(69,13): error CS1502: The best overloaded method match for `classes.Program.PegarV(string)' has some invalid arguments main.cs(12,30): (Location of the symbol related to previous error) main.cs(69,20): error CS1503: Argument `#1' cannot convert `int' expression to type `string' main.cs(70,13): error CS1502: The best overloaded method match for `classes.Program.PegarV(string)' has some invalid arguments main.cs(12,30): (Location of the symbol related to previous error) main.cs(70,20): error CS1503: Argument `#1' cannot convert `int' expression to type `string'

    terça-feira, 10 de novembro de 2020 00:22
    Moderador
  • Esses sao os seus maiores problemas:

    pessoa_x nao existe - precisa declarar pessoa_x.

    conversao de tipo, de int para string e double para int.

    argumentos invalidos em - 

    classes.Program.PegarV(string)
    terça-feira, 10 de novembro de 2020 00:31
    Moderador
  • Olá Willian,

    Para esse programa funcionar você deve alterar o seu método que realiza a impressão dos valores na tela para ele receber um objeto do tipo Pessoa e assim irá conseguir imprimir os valores.

    Ficaria desta forma

    static void PegarV(Pessoa x)
            {
                Console.WriteLine("Formulario pessoa:");
                Console.WriteLine(x.nome);
                Console.WriteLine(x.idade);
                Console.WriteLine(x.corolhos);
                Console.WriteLine(x.corcabelo);
                Console.WriteLine(x.carreira);
                Console.WriteLine(x.salario);
                Console.WriteLine("----------------");
            }

            class Pessoa
            {
                public string nome;
                public int idade;
                public string corolhos;
                public string corcabelo;
                public string carreira;
                public int salario;
            }

            static void Main(string[] args)
            {
                Pessoa pessoa_1 = new Pessoa();
                pessoa_1.nome = "Jorge";
                pessoa_1.idade = 25;
                pessoa_1.corolhos = "Castanhos";
                pessoa_1.corcabelo = "Preto";
                pessoa_1.carreira = "Contador";
                pessoa_1.salario = 2000;

                Pessoa pessoa_02 = new Pessoa();
                pessoa_02.nome = "Gustavo";
                pessoa_02.idade = 17;
                pessoa_02.corolhos = "Castanhos";
                pessoa_02.corcabelo = "Preto";
                pessoa_02.carreira = "MotoBoy";
                pessoa_02.salario = 1000; //ou mais, depende

                Pessoa pessoa_03 = new Pessoa();
                pessoa_03.nome = "Ricardo Watterson";
                pessoa_03.idade = 31;
                pessoa_03.corolhos = "Preto";
                pessoa_03.corcabelo = "careca";
                pessoa_03.carreira = "desempregado";
                pessoa_03.salario = 0; //sustentado pela mulher

                Pessoa pessoa_04 = new Pessoa();
                pessoa_04.nome = "Stanley Pines";
                pessoa_04.idade = 60;
                pessoa_04.corolhos = "Preto";
                pessoa_04.corcabelo = "cinza";
                pessoa_04.carreira = "Vendedor";
                pessoa_04.salario = 900; //indefinido
                PegarV(pessoa_1);
                PegarV(pessoa_02);
                PegarV(pessoa_03);
                PegarV(pessoa_04);


                Console.ReadLine();

    att.

    Gerson

    • Marcado como Resposta Willian352 terça-feira, 17 de novembro de 2020 19:23
    terça-feira, 10 de novembro de 2020 14:31