Logo Hardware.com.br
Matheus Rodrigues95
Matheus Rodr... Membro Junior Registrado
60 Mensagens 5 Curtidas

[Resolvido] C# : Como capturar um dado da mesma linha do Console.Write ?

#1 Por Matheus Rodr... 08/09/2020 - 00:29
Prezados, boa noite.

Não localizei no site opções de aberturas de tópicos para linguagem C#.

Minha dúvida é a seguinte : Preciso criar um código simples na linguagem C#, seria necessário que o dado inserido no Console.Write fosse capturado e somado com outro valor.

Por exemplo:
[code=csharp]
Console.Write("valor 1 : "); // Valor digitado pelo usuário após os dois pontos
var name = Console.ReadLine();
Console.Write("valor 2 : "); // Valor digitado pelo usuário após os dois pontos
var name1 = Console.ReadLine();

}
}
}[/code]

Gostaria de capturar o valor inserido pelo usuário. Como definir este trecho do código ?

Obrigado a quem puder me ajudar.
esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#3 Por esquiloesper...
08/09/2020 - 10:22
Você só precisa converter o valor digitado (String) para numérico (Parse).

O problema é que você não informou qual a base irá utilizar, já que temos — byte, short, int, long, float, double, decimal e scientific notation.
Um exemplo para valores inteiros (int):

[code=csharp]usingSystem;
usingSystem.Collections.Generic;

class Exemplo {
static void Main() {
int valor;
string aux;

Console.WriteLine("Digite um número: ");
aux = Console.ReadLine();

// Converte para inteiros
valor = Convert.ToInt32(aux);

// Exibe o valor convertido
Console.WriteLine("Inteiro = {0}", valor);
}
}[/code]


Deste modo poderá utilizar a variável convertida "valor" para quaisquer operações matemáticas que precisar.

wink.png
Só é difícil enquanto estiver oculto! cool.png
Use a pesquisa


rolleyes.png  Navegar é preciso, viver... também.  smile.png
Matheus Rodrigues95
Matheus Rodr... Membro Junior Registrado
60 Mensagens 5 Curtidas
#4 Por Matheus Rodr...
08/09/2020 - 12:47
esquiloesperto disse:
Você só precisa converter o valor digitado (String) para numérico (Parse).

O problema é que você não informou qual a base irá utilizar, já que temos — byte, short, int, long, float, double, decimal e scientific notation.
Um exemplo para valores inteiros (int):

[code=csharp]usingSystem;
usingSystem.Collections.Generic;

class Exemplo {
static void Main() {
int valor;
string aux;

Console.WriteLine("Digite um número: ");
aux = Console.ReadLine();

// Converte para inteiros
valor = Convert.ToInt32(aux);

// Exibe o valor convertido
Console.WriteLine("Inteiro = {0}", valor);
}
}[/code]


Deste modo poderá utilizar a variável convertida "valor" para quaisquer operações matemáticas que precisar.

wink.png

Boa tarde,

Muito obrigado pelo retorno e auxilio. Me desculpe não informar precisamente. O código funcionou, no entanto a idéia seria; Na mesma linha do Writeline, quero inserir o Readline (Digitado pelo usuário). O valor que o usuário inserir, eu quero capturar e soma-lo com o segundo impute, conforme ilustração abaixo.

Anexo do post

Queria capturar o valor de 10 e somar com o de 20. Podendo ser int, double ou float.

using System;

class Exemplo
{
static void Main()
{
Console.Write("valor 1 : "); // Valor digitado pelo usuário após os dois pontos
var name = Console.ReadLine();
Console.Write("valor 2 : "); // Valor digitado pelo usuário após os dois pontos
var name1 = Console.ReadLine();

}
}

Anexos

esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#5 Por esquiloesper...
08/09/2020 - 23:31
Foi exatamente isso que expliquei.
No exemplo que mostrei já captura e converte o primeiro valor para inteiro.
Então você só precisa fazer o mesmo para o segundo valor!

Depois basta somar os valores e imprimir (como no mesmo exemplo) – Simples, não?

E se a sua intenção for entrar com os valores na mesma linha, só precisa usar "write" no lugar de "writeline"; Deste modo:

Console.Write("Digite um número: "
valor = Convert.ToInt32(Console.ReadLine());


wink.png
Só é difícil enquanto estiver oculto! cool.png
Use a pesquisa


rolleyes.png  Navegar é preciso, viver... também.  smile.png
Matheus Rodrigues95
Matheus Rodr... Membro Junior Registrado
60 Mensagens 5 Curtidas
#6 Por Matheus Rodr...
09/09/2020 - 00:18
esquiloesperto disse:
Foi exatamente isso que expliquei.
No exemplo que mostrei já captura e converte o primeiro valor para inteiro.
Então você só precisa fazer o mesmo para o segundo valor!

Depois basta somar os valores e imprimir (como no mesmo exemplo) – Simples, não?

E se a sua intenção for entrar com os valores na mesma linha, só precisa usar "write" no lugar de "writeline"; Deste modo:

Console.Write("Digite um número: "
valor = Convert.ToInt32(Console.ReadLine());


wink.png

Sim é simples rs. E funciona perfeitamente, mas eu queria algo diferente. O intuito não é a conversão dos valores, mas sim o "macete" do usuário digitar o valor antes da quebra de linha. Ilustrei abaixo, espero que esteja legível o que eu quero fazer.

Até aqui, grato pela vossa paciência.

Anexo do post

Anexos

esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#7 Por esquiloesper...
09/09/2020 - 06:24
Matheus Rodrigues95 disse:
[...] o "macete" do usuário digitar o valor antes da quebra de linha. Ilustrei abaixo, espero que esteja legível o que eu quero fazer.


Respondi isso também, viu ali? smile.png

Use o 'write' - Com ele não há quebras.
Só é difícil enquanto estiver oculto! cool.png
Use a pesquisa


rolleyes.png  Navegar é preciso, viver... também.  smile.png
Matheus Rodrigues95
Matheus Rodr... Membro Junior Registrado
60 Mensagens 5 Curtidas
#8 Por Matheus Rodr...
10/09/2020 - 14:07
esquiloesperto disse:
Respondi isso também, viu ali? smile.png

Use o 'write' - Com ele não há quebras.

Boa tarde.

Muito obrigado mesmo e me desculpe a estupidez de não me atender a resposta. Uma ultima pergunta ... Caso eu queira usar o Convert para numeros decimais, qual seria o mais indicado ? Convert.ToDouble ou Convert.ToDecimal ... Ou tenho a opção de FLOAT ?
esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#9 Por esquiloesper...
10/09/2020 - 17:22
Matheus Rodrigues95 disse:
Caso eu queira usar o Convert para numeros decimais, qual seria o mais indicado ? Convert.ToDouble ou Convert.ToDecimal ... Ou tenho a opção de FLOAT ?

O mais indicado? - Depende da necessidade!

E quanto às suas opções, todas as citadas são aplicáveis: float, double e decimal — (observou a ordem nesta sequência?)

Precisões:
Float: 4 bytes
Double: 8 bytes
Decimal: 16 bytes


Leia a documentação a respeito: https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types

wink.png
Só é difícil enquanto estiver oculto! cool.png
Use a pesquisa


rolleyes.png  Navegar é preciso, viver... também.  smile.png
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal