Usuário com melhor resposta
Duvida no programa

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);
}
}
}
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
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'
-
-
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