Minileandro Posted June 18, 2018 at 07:23 PM Report #611012 Posted June 18, 2018 at 07:23 PM Olá, bem preciso da vossa ajuda. Como está no título, eu estou a ter um problema quando os menus (switch,case) em que, quando abro o programa aparece lá os números que quero escolher, pressionar e que aconteca o que eu pedi. Mas depois de escolher (a primeira vez) carrego em enter, reinicia e aparece a seleção de novo mas não consigo digitar o número que quero (fica parado) Bem, no programa diz que o erro está em -> s1 = Convert.ToInt16(value: Console.ReadLine()); (erro: http://prntscr.com/jwfjy5, http://prntscr.com/jwfl3p) Gostava muito que me ajudassem, para ajudar um pouco mais a entender vou deixar o código todo: Código: using System; using System.IO; using System.Net; using System.Text; using Newtonsoft; using Newtonsoft.Json; namespace ConsoleApp2 { class Program { static void Main(string[] args) => BacktoMenu(); private static void BacktoMenu() { //todo aquele código que eu falei na resposta do topico aqui Console.WriteLine("----------------------------------------------"); Console.WriteLine("|ILHA DO CLUB PENGUIN 0.0.1 ALPHA |"); Console.WriteLine("----------------------------------------------"); Console.WriteLine(); //Menu Console.WriteLine("Escolhe a opção:\n" + "\n1.- Versão dos arquivos" + "\n2.- Analisar arquivos" + "\n5.- Sair" + "\n10.-Limpar Tudo"); int s1 = 0; s1 = Convert.ToInt16(value: Console.ReadLine()); switch (s1) { case 1: Console.WriteLine("Versão dos arquivos:"); string Url; string GetResponse; Console.WriteLine(); Console.WriteLine("----------------------------------------------------------------------------------------------------------------------------------------------"); Console.WriteLine(); string URL = "COLOCAR LINK AQUI"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL); request.ContentType = "application/json; charset=utf-8"; HttpWebResponse response = request.GetResponse() as HttpWebResponse; using (Stream responseStream = response.GetResponseStream()) { StreamReader reader = new StreamReader(responseStream, Encoding.UTF8); Console.WriteLine(reader.ReadToEnd()); } Console.WriteLine(); Console.WriteLine("----------------------------------------------------------------------------------------------------------------------------------------------"); Console.Read(); BacktoMenu(); break; case 5: Console.WriteLine("Sair"); Console.ReadKey(); BacktoMenu(); break; case 2: Console.WriteLine("Em desenvolvimento"); Console.Read(); BacktoMenu(); break; case 10: Console.WriteLine("Em desenvolvimento"); Console.ReadKey(); break; default: Console.WriteLine("A opção que selecionaste não existe!"); BacktoMenu(); break; } BacktoMenu(); Console.WriteLine(""); //versão Console.WriteLine("----------------------------------------------------------------------------------------------------------------------------------------------"); } } }
HappyHippyHippo Posted June 23, 2018 at 08:43 AM Report #611091 Posted June 23, 2018 at 08:43 AM (edited) a única coisa que se pode dizer é interpretar o erro fornecido. o que o erro diz é que a string inserida não é convertível para um número, isto quer dizer que não é formada por Quote value does not consist of an optional sign followed by a sequence of digits (0 through 9). https://msdn.microsoft.com/en-us/library/basyfs27(v=vs.110).aspx Edited June 23, 2018 at 08:43 AM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Timóteo nkawa Posted June 25, 2018 at 11:54 AM Report #611112 Posted June 25, 2018 at 11:54 AM olá minileandro! não sei se já resolveu teu problema, portanto analisei teu código e acho que o problema é em criar uma variável int32 e atribuir ela valor do tipo int16 envês de: int s1 = 0; s1 = Convert.ToInt16(value: Console.ReadLine()); use isto: int s1 = 0; s1 = Int.Parse(value = Console.ReadLine()); ou s1 = Convert.ToInt32(value: Console.ReadLine()); abraço.
Minileandro Posted July 7, 2018 at 12:47 AM Author Report #611244 Posted July 7, 2018 at 12:47 AM Em 25/06/2018 às 12:54, Timóteo nkawa disse: olá minileandro! não sei se já resolveu teu problema, portanto analisei teu código e acho que o problema é em criar uma variável int32 e atribuir ela valor do tipo int16 envês de: int s1 = 0; s1 = Convert.ToInt16(value: Console.ReadLine()); use isto: int s1 = 0; s1 = Int.Parse(value = Console.ReadLine()); ou s1 = Convert.ToInt32(value: Console.ReadLine()); abraço. Olá, obrigado pela ajuda, ajudou mesmo bastante, ainda não tinha resolvido pois fiquei sem PC durante algumas semanas. 😉
Minileandro Posted July 7, 2018 at 12:51 AM Author Report #611245 Posted July 7, 2018 at 12:51 AM 4 minutos atrás, Minileandro disse: Olá, obrigado pela ajuda, ajudou mesmo bastante, ainda não tinha resolvido pois fiquei sem PC durante algumas semanas. 😉 Bem, olha ai: http://prntscr.com/k3iq17 Tem esse problema
Minileandro Posted July 7, 2018 at 12:54 AM Author Report #611246 Posted July 7, 2018 at 12:54 AM 2 minutos atrás, Minileandro disse: Bem, olha ai: http://prntscr.com/k3iq17 Tem esse problema Bem, agora funcionou. Obrigado 😉
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now