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

Como digitar na mesma linha uma variável do tipo inteiro e um caractere do tipo string

Estou com duvida em um exercício de c#.

A primeira linha de entrada contém um valor inteiro N que indica os vários casos de teste que vem a seguir. Cada caso de teste contém um inteiro Quantia (1 ≤ Quantia ≤ 15) que representa a quantidade de cobaias utilizadas e um caractere Tipo ('C', 'R' ou 'S'), indicando o tipo de cobaia (R:Rato S:Sapo C:Coelho).

Como consigo colocar um valor inteiro e um caractere na mesma linha e depois somar eles?

  int valor, quantia, cont, coelho, rato, sapo;
            char tipo;
            sapo = 0;
            coelho = 0;
            rato = 0;
            cont = 0;
            Console.Write("Digite o valor de casos:");
            valor = int.Parse(Console.ReadLine());
            while (cont < valor)
            {
                cont++;
                quantia = int.Parse(Console.ReadLine());
                tipo = char.Parse(Console.ReadLine());

                if (tipo == 'S')
                {
                    sapo += quantia;
                }

                if (tipo == 'R')
                {
                    rato += quantia;
                }

                if (tipo == 'C')
                {
                    coelho += quantia;
                }

            }

            Console.WriteLine("Total de Coelhos: " + coelho);
            Console.WriteLine("Total de Ratos: " + rato);
            Console.WriteLine("Total de Sapos: " + sapo);
            Console.Read();
        }
    }
}
3 respostas

Olá Emillyn,

não sei se entendi muito bem a sua dúvida. Quando você fala em colocar um valor inteiro e um caractere na mesma linha, quer dizer guardar o tipo e q quantidade em apenas 1 única variável? É isso?

Se for, o que você precisa fazer é justamente trabalhar com o conceito de classes e objetos do c#. Poderia ter uma classes Cobaia que tem a propriedade Quantidade e depois fazer 3 classes filhas de Cobaia, que seriam a classe Coelho, Rato e Sapo. Cada uma pode até guardar qual o tipo de caracter que o representa.

solução!

Olá Emillyn,

o método ReadLine lê uma linha inteira, então você pode separá-lo utilizando o método Split e utilizar cada uma das partes individualmente:

string[] linha = Console.ReadLine().Split(' ');
quantia = int.Parse(linha[0]);
tipo = char.Parse(linha[1]);

(Ou o que o Lucas disse acima :)

Obrigada consegui resolver =D