NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
marcopolo2542001:15.10.2016 14:45

Zdravím, dělám si aplikaci v konzoli ale mám jistý problém.. -

int promenna = int.Parse(Console.ReadLine());
            switch (promenna) {
                case 1:

a td.. Když to ale zapnu a dám 1, hned mi to spadne a hodí chybu na ten řádek první (tuším)..
Nevíte někdo co s tím udělat ? Díky.

 
Odpovědět
15.10.2016 14:45
Avatar
Odpovídá na marcopolo2542001
Erik Maruškin:15.10.2016 14:52

Myslím že by pomohlo keby sem dáš celý blok kódu.

 
Nahoru Odpovědět
15.10.2016 14:52
Avatar
Odpovídá na Erik Maruškin
marcopolo2542001:15.10.2016 14:57
int promenna= int.Parse(Console.ReadLine());
            switch (promenna) {
                case 1:
                    Console.WriteLine("Zadejte svou výšku v cm");
                    double vyska = Double.Parse(Console.ReadLine());
                    Console.WriteLine("Zadejte svou hmotnost v kg ");
                    double hmotnost = double.Parse(Console.ReadLine());
                    double bmi = hmotnost / (vyska * vyska) * 10000;

                    if (bmi < 18.5){
                        Console.WriteLine("Vaše BMI je " + bmi + " - Podváha");}
                    if ((bmi >= 18.5) && (bmi < 24.9)){
                        Console.WriteLine("Vaše BMI je " + bmi + " - Normalní váha");}
                    if ((bmi >= 25) && (bmi < 29.9)){
                        Console.WriteLine("Vaše BMI je " + bmi + " - Menší nadváha");}
                    if ((bmi >= 30) && (bmi < 34.9)){
                        Console.WriteLine("Vaše BMI je " + bmi + " - Obezita 1. stupně");}
                    if ((bmi >= 35) && (bmi < 39.9)){
                        Console.WriteLine("Vaše BMI je " + bmi + " - Obezita 2. stupně");}
                    if (bmi >= 40){
                        Console.WriteLine("Vaše BMI je " + bmi + " - Obezita 3. stupně");}
                    break;

Potom mam samozřejmě case 2 a td,, Ten ovšem taky nejede

Editováno 15.10.2016 14:58
 
Nahoru Odpovědět
15.10.2016 14:57
Avatar
Odpovídá na marcopolo2542001
Erik Maruškin:15.10.2016 15:01

Tam sa chyba nenachádza .. pridaj celú triedu inak ti neviem pomôcť

 
Nahoru Odpovědět
15.10.2016 15:01
Avatar
marcopolo2542001:15.10.2016 15:04

Tak potom mam ještě

default: Console.WriteLine("Pro toto označení není žádná operace"); break;

Nic jiného kromě

Console.Writeline

- asi 3x tam nemám..

 
Nahoru Odpovědět
15.10.2016 15:04
Avatar
Odpovídá na marcopolo2542001
Michal Štěpánek:15.10.2016 17:01

Možná by pomohlo, kdybys vysvětlil:

  1. K čemu tam vlastně to "case" máš? Jaký to má mít význam, když v tom pak podmínkuješ podle dalších vstupů výstupy?
  2. Jakou to vypíše chybu?
Nahoru Odpovědět
15.10.2016 17:01
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
VitekST
Člen
Avatar
Odpovídá na marcopolo2542001
VitekST:15.10.2016 17:14

Odlaď si to debuggerem.
Definuj si zarážku, spusť program v ladícím módu (klávesa F5) a mrkni se, co se v tom programu děje.

Můžeš vidět hodnoty proměnných a také krokovat, více informací zde: https://msdn.microsoft.com/…t243867.aspx

Jinak, nebylo by od věci vědět, na jakou chybu to padá.

 
Nahoru Odpovědět
15.10.2016 17:14
Avatar
HONZ4
Člen
Avatar
Odpovídá na marcopolo2542001
HONZ4:15.10.2016 18:12

můj typ - chyba bude spíš v Parse, takhle volně doporučuji používat raději TryParse.
Pokud Parse, tak vždy v try/catch bloku!

 
Nahoru Odpovědět
15.10.2016 18:12
Avatar
Odpovídá na marcopolo2542001
Michal Štěpánek:15.10.2016 18:24

A ještě bych řekl, že máš trošku divně ty podmínky. Za prvé bych používal If -> elseIf -> else a ne jen samé If a za druhé co se má stát, když výsledná hodnota bude přesně 24,9 nebo 29,9... atd.? Nemáš určeno, co se má stát, když té podmínce nic nevyhoví...

Nahoru Odpovědět
15.10.2016 18:24
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.