Professor! O senhor pode usar o método ToLower(); na variável escolha para que quando o usuário entrar com a, c ou o, ele deixe automaticamente em minúsculas! Sem necessidade de colocar um caso com letra maiúscula e outro caso com letra minúscula! Obs.: esse método não funciona com o tipo primitivo char, apenas com o tipo string
Muito grato pela Aula. Conteúdo muito bom. Tenho apenas 1 citação a fazer. Quando é indiferente ser maiúsculo ou minúsculo o valor a ser comparado, porém o usuário pode informar qualquer um dos dois, ao invés de criar um case para cada um não seria melhor usar um escolha.toLower() para indenpendente do input, o case será com minúsculo ou inverter para maiúsculo.
@@lazbonpim23 usa variavel.ToLower() A variável tem que ser string, logo ela herda esse método de String que faz com que todo o seu conteúdo fique em minúsculo, ou varial.ToUpper() para que fique tudo em maiúsculo.
Gostei, eu fiz a conversão e coloquei um else para mudar a mensagem de minuto para horas .. ficou show .. Não usei o Defaut .. o resultado foi o mesmo .. Muito boa as aulas.. !
Sim, mas para cada case dentro da estrutura do switch você deveria colocar aspas duplas string escolha = " "; switch(escolha){ case "a": case "A": tempo = 50; break; case "B": tempo = 85; break; } assim por diante...
@@teamremmnants6842 pior que eh triste demais ,_, tem que aprender a linguagem do que vc quer fazer, tem que aprender lógica de programação pra tudo, e tem que saber muitos design pattern... Programação eh linda mas tem que saber muita coisa ,_, e tem que ter uma grana se quer colocar no currículo alguma coisa ;-; uns seres espertos cobram $120k pra ensinar vc a fazer jogo podendo aprender no ytb, um lhe dá um papel e outro nada ;-; triste
tô quebrando cabeça aqui, alguém, pode me explicar pq tá dando erro? erro que ta acontecendo: teste.cs(40,26): error CS0029: Não é possível converter implicitamente o tipo 'string' em 'char' teste.cs(44,26): error CS0029: Não é possível converter implicitamente o tipo 'string' em 'char' teste.cs(50,22): error CS0029: Não é possível converter implicitamente o tipo 'string' em 'char' já mudei o tipo conversão, mas da erro do mesmo jeito codico: char genero;
Console.WriteLine("Escolha seu gênero: [H] Homem | [M] MUlher"); genero = char.Parse(Console.ReadLine()); switch (genero) { case 'H': case 'h': genero = "Homem"; break; case 'M': case 'm': genero = "Mulher"; break; default: Console.WriteLine("Opção inválida."); break; } if (genero = "Homem") { Console.WriteLine("você será: {0}", genero); } else { Console.WriteLine("você será: {0}", genero); }
A variável genero é vc definiu como char, mas estás atribuindo a ela valores do tipo string no bloco de instruções dos cases. Tinhas que criar duas variáveis: (char escolha e string genero).
Professor, ali no caso aparece apenas a inicial, como poderia ficar para aparecer o nome do transporte selecionado? tipo: o usuário escolheu : a, ai quero que apareça Avião. como seria essa incrementação?
Não é possível definir um Case como um intervalo, tal como fizemos com as notas dos alunos? No VBA é possível. Estou muito desiludido com o C# e com o VSCode... O VBA é muito mais intuitivo.
Professor, quando eu compilo o programa dá essa mensagem no terminal: This compiler is provided as part of the Microsoft (R) .NET Framework, but only supports language versions up to C# 5, which is no longer the latest version. For compilers that support newer versions of the C# programming language, see go.microsoft.com/fwlink/?LinkID=533240 o que fazer?
Na verdade o break serve para evitar vazamentos de codigo , se no seu switch vc tiver dois cases sem break entre um e outro ele vai executar os dois pois ele esperava um break pra finalizar
static void Main(){ float custo=0; char escolha; Console.WriteLine("\tEscolha o tamanho da sua Refeição "); Console.WriteLine("Escolha o Tamanho do Marmitex:[p]Pequeno | [m]Médio | [g]Grande"); escolha=char.Parse(Console.ReadLine()); switch(escolha){ case 'p': case 'P': custo=6.00f; break;
case 'm': case 'M': custo=9.00f; break; case 'g': case 'G': custo=12.00f; break; default: custo=-1; break; } if(custo
você provavelmente já resolveu esse problema. MAS, estou nessa aula agora e cheguei nessa conclusão( caso alguém tenha o a mesmo duvida... Criei uma string para cara veiculo e coloquei um console.WriteLine no fim de cada *case*. int tempo = 0; char escolha; string a = "Avião"; string c = "Carro"; string o = "Ônibus"; Console.WriteLine("Viagem de BH/MG a Vitoria/ES"); Console.WriteLine("Escolha o transporte: [a]Avião | [c]Carro | [o]Ônibus "); escolha = char.Parse(Console.ReadLine()); switch (escolha) { case 'a': case 'A': tempo = 50; Console.WriteLine("O tempo estimado da viagem de {2} é: {0}:{1} Horas", (tempo / 60), (tempo % 60), a); break; case 'c': case 'C': tempo = 480; Console.WriteLine("O tempo estimado da viagem de {2} é: {0}:{1} Horas", (tempo / 60), (tempo % 60), c); break; case 'o': case 'O': tempo = 660; Console.WriteLine("O tempo estimado da viagem de {2} é: {0}:{1} Horas", (tempo/60),(tempo%60), o); break; default: tempo = -1; break; } if(tempo < 0) { Console.WriteLine("Escolha inválida. Tente novamente"); }
voce poderia no colocar no proprio switch case, eu criei um aqui: using System; using System.Threading; class Nome { static void Main() { char opc; int tmp1 = 45, tmp2 = 240; voltar: Console.WriteLine("Rio de Janeiro/RJ a Sao Paulo/SP "); Console.WriteLine("[1] -- Aviao [2] -- Onibus "); Console.Write("Escolha o Transporte: "); opc = char.Parse(Console.ReadLine()); switch (opc) { case '1': Console.WriteLine(" O TEMPO É DE {0} MINUTOS INDO DE AVIAO ", tmp1); Console.WriteLine("Voce quer continuar com a viagem de aviao? [s/n]"); opc = char.Parse(Console.ReadLine()); if (opc == 's' | opc == 'S') { Console.WriteLine("VIAJANDO....."); Thread.Sleep(2700000); Console.WriteLine("Voce chegou ao seu destino"); }else if(opc == 'n' | opc == 'N') { Console.WriteLine("Gostaria de Voltar no começo? [s / s]"); opc = char.Parse(Console.ReadLine()); if (opc == 's') { Console.Clear(); goto voltar; } }
break; case '2': Console.WriteLine(" O TEMPO É DE {0} MINUTOS(4 HORAS) INDO DE ONIBUS ", tmp2); Console.WriteLine("Voce quer continuar com a viagem de onibus? [s/n]"); opc = char.Parse(Console.ReadLine()); if (opc == 's' | opc == 'S') { Console.WriteLine("VIAJANDO....."); Thread.Sleep(3 * 3600000); Console.WriteLine("Voce chegou ao seu destino"); } else if (opc == 'n' | opc == 'N') { Console.WriteLine("Gostaria de Voltar no começo? [s / s]"); opc = char.Parse(Console.ReadLine()); if (opc == 's') { Console.Clear(); goto voltar; } } break; default: Console.WriteLine("nao existe esse transporte"); break; } // esses Thread.Sleep() sao apenas um delay de tantos segundos apenas para aparecer que esta realmente vianjando e que vai demorar esse tanto de horas
quem quiser tambem da uma olhada e praticada usei o enum using System; using System.CodeDom; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp11 { internal class Program { enum veiculos { carro, moto, onibus } static void Main() { while (true) { var vaur = ""; char valor; int tempo = 0; int conv = 0; Console.WriteLine("voce esta viajando de sao paulo pra recife, escolha o tipo de veiculo que vai usar"); Console.WriteLine("[a] carro [b] moto [c] aviao"); valor = char.Parse(Console.ReadLine()); switch (valor) { case 'a': tempo = 180; vaur = "a"; break; case 'b': tempo = 240; vaur = "b"; break; case 'c': tempo = 300; vaur = "c"; break; default: tempo = 0; break; }
if (vaur == "a") { vaur = Convert.ToString(veiculos.carro); } if (vaur == "b") { vaur = Convert.ToString(veiculos.moto); } if (vaur == "c") { vaur = Convert.ToString(veiculos.onibus); } if (tempo
Professor! O senhor pode usar o método ToLower(); na variável escolha para que quando o usuário entrar com a, c ou o, ele deixe automaticamente em minúsculas! Sem necessidade de colocar um caso com letra maiúscula e outro caso com letra minúscula!
Obs.: esse método não funciona com o tipo primitivo char, apenas com o tipo string
didatica excelente!!
Pensei em desistir assistindo seus vídeos começaram a clarear e hoje tô firme e forte
Console.WriteLine
("
O tempo de viajem de {0} é {1}:{2} horas.", transp, (tempo/60), (tempo%60));
> O tempo de viajem de Ônibus é 11:40 horas.
Que curso maravilhoso
Muito grato pela Aula. Conteúdo muito bom. Tenho apenas 1 citação a fazer. Quando é indiferente ser maiúsculo ou minúsculo o valor a ser comparado, porém o usuário pode informar qualquer um dos dois, ao invés de criar um case para cada um não seria melhor usar um escolha.toLower() para indenpendente do input, o case será com minúsculo ou inverter para maiúsculo.
Como faz isso? to tentando e não conseguindo
@@lazbonpim23 usa variavel.ToLower()
A variável tem que ser string, logo ela herda esse método de String que faz com que todo o seu conteúdo fique em minúsculo, ou varial.ToUpper() para que fique tudo em maiúsculo.
Nossa, estou gostando pra caramba do curso, muito obrigado!!!
Poderia ter alguns exercícios práticos em professor
meu amado switch/case
queria saber se tem como usar o switch junto com o goto, ou nesta situação seria realmente melhor usar o if
Gostei, eu fiz a conversão e coloquei um else para mudar a mensagem de minuto para horas .. ficou show .. Não usei o Defaut .. o resultado foi o mesmo .. Muito boa as aulas.. !
muito obrigado pelo video
Muito obg , Está ajudando muito sua didática !! no futuro poderia ensinar usando os componentes graficos !!
Valeu, este curso irá chegar até a parte gráfica. É um curso bem completo, então fia ligado pra não perder nada...
Primeira que sinto dificuldade esse if
Obg pelos videooos💟💟💟❤❤
aula muito boa, obrigado professor!!!
ao inves do char, seria possivel eu usar STRING ESCOLHA; ??
Sim, mas para cada case dentro da estrutura do switch você deveria colocar aspas duplas
string escolha = " ";
switch(escolha){
case "a":
case "A":
tempo = 50;
break;
case "B":
tempo = 85;
break;
}
assim por diante...
string é uma variavel que oculpa mais bytes do que char e sem necessidade ja que a opção é de apenas uma letra
Valeu mesmo professor excelente aula muito obrigado!!
Excelente aula mas só faltou roda o programa no pront para gente ver o resultado...
Cara, vc é foda! Obrigado pelo conteudo
👍👍👍
visto
tenho que aprimorar minha logica, eu fico bugado quando eu vejo varios if dentro de if .
Pense no if de dentro como algo a ser feito depois do if de fora
E eu que tento fazer jogo na unity ;-; jogo usa muita condicional eh absurdo o tanto de condicional que um simples salvar config gera ;-;
@@kleberleite3401 brabo kkk
@@teamremmnants6842 pior que eh triste demais ,_, tem que aprender a linguagem do que vc quer fazer, tem que aprender lógica de programação pra tudo, e tem que saber muitos design pattern...
Programação eh linda mas tem que saber muita coisa ,_, e tem que ter uma grana se quer colocar no currículo alguma coisa ;-; uns seres espertos cobram $120k pra ensinar vc a fazer jogo podendo aprender no ytb, um lhe dá um papel e outro nada ;-; triste
tô quebrando cabeça aqui, alguém, pode me explicar pq tá dando erro?
erro que ta acontecendo:
teste.cs(40,26): error CS0029: Não é possível converter implicitamente o tipo 'string' em 'char'
teste.cs(44,26): error CS0029: Não é possível converter implicitamente o tipo 'string' em 'char'
teste.cs(50,22): error CS0029: Não é possível converter implicitamente o tipo 'string' em 'char'
já mudei o tipo conversão, mas da erro do mesmo jeito
codico:
char genero;
Console.WriteLine("Escolha seu gênero: [H] Homem | [M] MUlher");
genero = char.Parse(Console.ReadLine());
switch (genero)
{
case 'H':
case 'h':
genero = "Homem";
break;
case 'M':
case 'm':
genero = "Mulher";
break;
default:
Console.WriteLine("Opção inválida.");
break;
}
if (genero = "Homem")
{
Console.WriteLine("você será: {0}", genero);
}
else
{
Console.WriteLine("você será: {0}", genero);
}
cara, voce provavelmente não fez a conversão char.parse
A variável genero é vc definiu como char, mas estás atribuindo a ela valores do tipo string no bloco de instruções dos cases.
Tinhas que criar duas variáveis: (char escolha e string genero).
meu if fico codigo inacesavel ue por que?
Ainda posso usar aquele curso de unity 3d ou esta desatualizado?
Professor, ali no caso aparece apenas a inicial, como poderia ficar para aparecer o nome do transporte selecionado?
tipo: o usuário escolheu : a, ai quero que apareça Avião. como seria essa incrementação?
Não é possível definir um Case como um intervalo, tal como fizemos com as notas dos alunos?
No VBA é possível. Estou muito desiludido com o C# e com o VSCode... O VBA é muito mais intuitivo.
Como faço mais de uma opção dentro de uma opção?
como assim? Exemplifique
meu programa esta dano erro no static main ? como resolver isso?
Main() tem que estar com o "m" em maiúscula
Eu tentei fazer com uma strig e uma char e não foi
escolha = char.Parse(Console.ReadLine());
Lembre-se de converter ( parse )
Professor, quando eu compilo o programa dá essa mensagem no terminal: This compiler is provided as part of the Microsoft (R) .NET Framework, but only supports language versions up to C# 5, which is no longer the latest version. For compilers that support newer versions of the C# programming language, see go.microsoft.com/fwlink/?LinkID=533240 o que fazer?
reza
Esse Comando Break é meio sem sentido, pois o proximo Case já é sinal que acabou o bloco de comando do case anterior.
Na verdade o break serve para evitar vazamentos de codigo , se no seu switch vc tiver dois cases sem break entre um e outro ele vai executar os dois pois ele esperava um break pra finalizar
bora começar do 0
@@JoaoVictor-kd5oh tenho sim amigo
@@JoaoVictor-kd5oh ja estudei c++ com ele agr vou c# pq na metade do c++ perdi o pc
@@JoaoVictor-kd5oh vai ficar online hj?
@@JoaoVictor-kd5oh mandei solicitaçao
static void Main(){
float custo=0;
char escolha;
Console.WriteLine("\tEscolha o tamanho da sua Refeição
");
Console.WriteLine("Escolha o Tamanho do Marmitex:[p]Pequeno | [m]Médio | [g]Grande");
escolha=char.Parse(Console.ReadLine());
switch(escolha){
case 'p':
case 'P':
custo=6.00f;
break;
case 'm':
case 'M':
custo=9.00f;
break;
case 'g':
case 'G':
custo=12.00f;
break;
default:
custo=-1;
break;
}
if(custo
você provavelmente já resolveu esse problema. MAS, estou nessa aula agora e cheguei nessa conclusão( caso alguém tenha o a mesmo duvida...
Criei uma string para cara veiculo e coloquei um console.WriteLine no fim de cada *case*.
int tempo = 0;
char escolha;
string a = "Avião";
string c = "Carro";
string o = "Ônibus";
Console.WriteLine("Viagem de BH/MG a Vitoria/ES");
Console.WriteLine("Escolha o transporte: [a]Avião | [c]Carro | [o]Ônibus ");
escolha = char.Parse(Console.ReadLine());
switch (escolha)
{
case 'a':
case 'A':
tempo = 50;
Console.WriteLine("O tempo estimado da viagem de {2} é: {0}:{1} Horas", (tempo / 60), (tempo % 60), a);
break;
case 'c':
case 'C':
tempo = 480;
Console.WriteLine("O tempo estimado da viagem de {2} é: {0}:{1} Horas", (tempo / 60), (tempo % 60), c);
break;
case 'o':
case 'O':
tempo = 660;
Console.WriteLine("O tempo estimado da viagem de {2} é: {0}:{1} Horas", (tempo/60),(tempo%60), o);
break;
default:
tempo = -1;
break;
}
if(tempo < 0)
{
Console.WriteLine("Escolha inválida. Tente novamente");
}
@@walassi834 Bacana d+, depois de um tempo nossa mente vai se abrindo para as várias opções, agradeço pela colaboração e estimo sucessos!
voce poderia no colocar no proprio switch case, eu criei um aqui: using System;
using System.Threading;
class Nome
{
static void Main()
{
char opc;
int tmp1 = 45, tmp2 = 240;
voltar:
Console.WriteLine("Rio de Janeiro/RJ a Sao Paulo/SP
");
Console.WriteLine("[1] -- Aviao
[2] -- Onibus
");
Console.Write("Escolha o Transporte: ");
opc = char.Parse(Console.ReadLine());
switch (opc)
{
case '1':
Console.WriteLine("
O TEMPO É DE {0} MINUTOS INDO DE AVIAO
", tmp1);
Console.WriteLine("Voce quer continuar com a viagem de aviao?
[s/n]");
opc = char.Parse(Console.ReadLine());
if (opc == 's' | opc == 'S')
{
Console.WriteLine("VIAJANDO.....");
Thread.Sleep(2700000);
Console.WriteLine("Voce chegou ao seu destino");
}else if(opc == 'n' | opc == 'N')
{
Console.WriteLine("Gostaria de Voltar no começo? [s / s]");
opc = char.Parse(Console.ReadLine());
if (opc == 's')
{
Console.Clear();
goto voltar;
}
}
break;
case '2':
Console.WriteLine("
O TEMPO É DE {0} MINUTOS(4 HORAS) INDO DE ONIBUS
", tmp2);
Console.WriteLine("Voce quer continuar com a viagem de onibus?
[s/n]");
opc = char.Parse(Console.ReadLine());
if (opc == 's' | opc == 'S')
{
Console.WriteLine("VIAJANDO.....");
Thread.Sleep(3 * 3600000);
Console.WriteLine("Voce chegou ao seu destino");
} else if (opc == 'n' | opc == 'N')
{
Console.WriteLine("Gostaria de Voltar no começo? [s / s]");
opc = char.Parse(Console.ReadLine());
if (opc == 's')
{
Console.Clear();
goto voltar;
}
}
break;
default:
Console.WriteLine("nao existe esse transporte");
break;
} // esses Thread.Sleep() sao apenas um delay de tantos segundos apenas para aparecer que esta realmente vianjando e que vai demorar esse tanto de horas
quem quiser tambem da uma olhada e praticada usei o enum
using System;
using System.CodeDom;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp11
{
internal class Program
{
enum veiculos { carro, moto, onibus }
static void Main()
{
while (true)
{
var vaur = "";
char valor;
int tempo = 0;
int conv = 0;
Console.WriteLine("voce esta viajando de sao paulo pra recife, escolha o tipo de veiculo que vai usar");
Console.WriteLine("[a] carro
[b] moto
[c] aviao");
valor = char.Parse(Console.ReadLine());
switch (valor)
{
case 'a':
tempo = 180;
vaur = "a";
break;
case 'b':
tempo = 240;
vaur = "b";
break;
case 'c':
tempo = 300;
vaur = "c";
break;
default:
tempo = 0;
break;
}
if (vaur == "a")
{
vaur = Convert.ToString(veiculos.carro);
}
if (vaur == "b")
{
vaur = Convert.ToString(veiculos.moto);
}
if (vaur == "c")
{
vaur = Convert.ToString(veiculos.onibus);
}
if (tempo