1
resposta

[Projeto] Desafio: hora da prática

//Ex. 1

Fiz de cabeça, essa eu consegui e debuguei sozinho!

using System;

void Resultado()
{
    Console.WriteLine("Escreva um numero:");
    float a = float.Parse(Console.ReadLine());
    
    Console.WriteLine("Escreva um numero:");
    float b = float.Parse(Console.ReadLine());
    
    Console.WriteLine($"A adição do numero {a} e do numero {b} foi de: {a + b}");
    Console.WriteLine($"A subtração do numero {a} e do numero {b} foi de: {a - b}");
    Console.WriteLine($"A divisão do numero {a} e do numero {b} foi de: {a / b}");
    Console.WriteLine($"A multiplicação do numero {a} e do numero {b} foi de: {a * b}");
}

Resultado();

//Ex. 2

Logo abaixo eu fiz um algortimo do que eu iria fazer passo a passo.

//Criar uma lista de bandas vazias

//Aparecer para digitar sua banda favorita
//Digitar sua banda favorita

//Adicionar suas bandas favoritas

using System;
using System.Collections.Generic;

List<string> ListasBandas = new List<string>();

Console.WriteLine("Digite sua banda favorita!");
string banda = Console.ReadLine()!;

ListasBandas.Add(banda);

foreach (string bandaa in ListasBandas)
{
    Console.WriteLine($"Banda {bandaa} adicionado com sucesso!");
}

Porém eu tinha esquecidos algumas palavras reservadas, tais como Add e o Foreach ent eu vi a documentação da microsoft, nao entendi NADA praticamente e ai pedi ajuda pro chatgpt sem ele me dar a resposta, no fim eu lembrei, porem pedi uma ajudinha.

//Ex. 3

Algortimos:

//Fazer algo que de liberdade para a pessoa adicionar mais bandas
//Utilizar o for para mostrar todas as bandas

//While

using System;
using System.Collections.Generic;

List<string> ListasBandas = new List<string>();

while(true)
{
    
Console.WriteLine("Digite sua banda favorita!");
string banda = Console.ReadLine()!;

ListasBandas.Add(banda);

foreach (string bandaa in ListasBandas)
{
    Console.WriteLine($"Banda {bandaa} adicionado com sucesso!");
}

Console.WriteLine("Quer adicionar mais bandas? Sim (true) ou não (false)");
bool segundaOpcao = bool.Parse(Console.ReadLine()!);

if (segundaOpcao == false)
{
    foreach (string bandaa in ListasBandas)
    {
        Console.WriteLine($"Certo! As bandas adicionadas foi {bandaa}");
    }
    break;
}

}

//For

using System;
using System.Collections.Generic;

List<string> ListasBandas = new List<string>();

Console.WriteLine("Digite sua banda favorita!");
string banda = Console.ReadLine()!;

ListasBandas.Add(banda);

foreach (string bandaa in ListasBandas)
{
    Console.WriteLine($"Banda {bandaa} adicionado com sucesso!");
}

for (int posicao = 0; posicao < ListasBandas.Count; posicao++)
{
    Console.WriteLine($"Banda {posicao + 1}: {listasBandas[i]}");
}	

Tive dificuldade em fazer, pedi ajuda pro chatgpt, porem no final consegui, porem o chatgpt me deu um exemplo e eu vi e fiz aqui no exercicio.

//Ex. 4

Consegui fazer porém tive que pedir ajuda pro chatgpt, esse for é mt complicado, o while é de boa, o do while eu n consigo fazer ainda, porem o for é mt dificil. Me ajudem por favor

using System;
using System.Collections.Generic;

List<int> numeros = new List<int> {5, 5};

int conta = 0;

for (int indice = 0; indice < numeros.Count; indice++)
{
    conta += numeros[indice];
    
    Console.WriteLine(conta);
}
1 resposta

Oi Mateus, tudo bem?

Parabéns por compartilhar o seu código e por ser tão transparente sobre as suas dificuldades!

Faz parte é assim que aprendemos a hora de errar é agora, então fique a vontade, observei e seu código ta muito bom no geral, só algumas pontuações simples:

No final do seu código do Ex 3, você definiu a variável posicao dentro do for, mas na hora de imprimir, tentou usar a letra i (listasBandas[i]). Além disso, o nome da lista começou com letra minúscula. O C# diferencia maiúsculas de minúsculas (case-sensitive), então o código correto seria:

for (int posicao = 0; posicao < ListasBandas.Count; posicao++)
{
    Console.WriteLine($"Banda {posicao + 1}: {ListasBandas[posicao]}");
}

No EX 4. A sua lógica matemática de soma (conta += numeros[indice];) está perfeita! O único detalhe é que o seu Console.WriteLine(conta); ficou dentro do bloco do for. Isso faz com que o programa imprima o valor a cada passo da soma. O ideal é colocá-lo fora das chaves, para exibir apenas o resultado final da conta:

for (int indice = 0; indice < numeros.Count; indice++)
{
    conta += numeros[indice];
}
Console.WriteLine(conta); // Imprime apenas o total após terminar o laço!

Como você achou o while mais tranquilo, pense no for apenas como um while organizado em uma única linha! Ele sempre tem 3 partes obrigatórias separadas por ponto e vírgula (;):

Onde começa: int indice = 0 (Cria a variável contadora).
Até onde vai: indice < numeros.Count (A condição de parada, igualzinho fazemos no while).
Qual é o passo: indice++ (Soma +1 a cada volta).

O C# junta essas três informações nos parênteses justamente para você não esquecer de colocar o indice++ no final do bloco (um esquecimento muito comum que causa os temidos loops infinitos no while).

Espero ter ajudado, abraços!

Bons estudos!

Sucesso

Imagem da comunidade