09. String Int Double (Conditional statements homework)


0

Здравейте, нуждая се от малко хелп, възползвах се от решението на един много лесен код, но не мога да открия кое е грешното, че бг кодера да не желае да ми го приеме.  Ето го и него:

using System; class stringIntDouble { static void Main() { string choice = Console.ReadLine(); switch (choice) { case "1": Console.Write("Enter an integer: "); int firstChoice = int.Parse(Console.ReadLine()); firstChoice++; Console.WriteLine(firstChoice); break; case "2": Console.Write("Enter a real number: "); double secondChoice = double.Parse(Console.ReadLine()); secondChoice++; Console.WriteLine(secondChoice); break; case "3": Console.Write("Enter a string: "); string thirdChoice = Console.ReadLine(); thirdChoice += '*'; Console.WriteLine(thirdChoice); break; default: Console.WriteLine("Error"); break; } } }




Отговори



3

Май си копирал вярно решение, но на грешната задача :D

Условието на задачата е малко по-различно. Трябва да  имаш 3 случая: case "integer", case "real" и case "text".

БгКодер не очаква такъв output:   Console.Write("Enter an integer: ");, така че тези редове 11, 17 и 23 са излишни.

Ето ти  и моето решение:

using System; class IntDoubleAndString { static void Main() { string type = Console.ReadLine(); switch (type) { case "integer": int typeInt = int.Parse(Console.ReadLine()); Console.WriteLine(typeInt + 1); break; case "real": double typeDouble = double.Parse(Console.ReadLine()); Console.WriteLine("{0:F2}", typeDouble + 1); break; case "text": string typeString = Console.ReadLine(); Console.WriteLine(typeString + "*"); break; } } }


от Pepi.Ka (922 точки)


0
Благодаря, оказа се значително прав (rofl)

от Sv3tki6 (55 точки)


3

Ето и моето решение, което с if-ове. Можеш да избереш кое ти е по-лесно. Моето също е за 100 точки в BGCoder:

using System;
class IntDoubleString
{
    static void Main()
    {
        var variable = Console.ReadLine();
        object value = Console.ReadLine();
        if (variable == "integer")
        {
            int m = Convert.ToInt32(value);
            int sum = m + 1;
            Console.WriteLine(sum);
        }
        if (variable == "real")
        {
            double d = Convert.ToDouble(value);
            double sum = d + 1;
            Console.WriteLine("{0:0.00}", sum);
        }
        if (variable == "text")
            {
            Console.WriteLine("{0}*", value);
            }
    }
}




0
Доста хитро си го направил ти! Това ми беше първият опит, но не се сетих да ползвам var и за това не ми се получи. Препоръчвам ти все пак да я напишеш със switch, ей така за упражнение. 

от dahaca (90 точки)