Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

scr33nsh0o7 avatar scr33nsh0o7 61 Точки

[Homework] C# Basics - Console Input / Output Formatting Numbers

Здравейте,

това е моето решение на тази задача.

        Console.Write("a=");
        int a = int.Parse(Console.ReadLine());
        Console.Write("b=");
        double b = double.Parse(Console.ReadLine());
        Console.Write("c=");
        double c = double.Parse(Console.ReadLine());
        Console.WriteLine(" |{0, -10:X}|{1, 10}|{2, 10:F2}|{3, -10:F3}|",      a,Convert.ToString(a, 2).PadLeft(10, '0'), b, c);

проблема е при принтирането на конзолата, когато b и c са от тип int , излизат с "," и нули след тях. Това проблем ли е ? И ако да, как мога да го направя така ,че когато е стойноста е int да не илиза с ",0000...."?

Тагове:
0
Programming Basics
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Виж как съм го направил аз:

05. FormattingNumbers

Проверявам с b % 1 == 0 дали остатъка от делението с 1 е нула. Ако е 0-ла, значи е цяло число, а ако е различно от 0-ла, тогава го принтирам с точност след десетичната запетая.

Факт е, че в условието изобщо не се прави разлика между цяло и дробно число, а трябва да се принтира и в двата случая с определена точност след десетичната запетая. От друга страна в примера пък се обръща внимание на това... Масово колегите в домашните принтираха целите числа със съответната точност след десетичната запетая, което не е грешка, след като в условието е така зададено.

1
MinchoDzhagalov avatar MinchoDzhagalov 33 Точки

int a;

Console.WriteLine("{0:F2}", a); - с нули

Console.WriteLine("{0, 10:0.00}", a); - с нули
                     
Console.WriteLine("{0, 10:0.##}", a); - без нули

1
Filkolev avatar Filkolev 4482 Точки

Според мен не само не е грешка, ами точно така трябва да бъде. Като се казва да се изписват два знака след десетичния знак значи трябва да са два, независимо дали числото е цяло или има една цифра след знака. В Judge ако ти искат реултата с 5 знака след запетаята/точката, а отговорът е 2 например, ти трябва да изпишеш 2.00000.

И в примерите е така. Мисля на домашните, които проверих и в които не беше така, сложих забележка, т.е. считах го за грешно, но не отнемах точки от оценката.

0
scr33nsh0o7 avatar scr33nsh0o7 61 Точки

Тогава да разбирам ли ,че примерите са грешни? или подвеждащи?

0
Filkolev avatar Filkolev 4482 Точки

Всъщност сега виждам какво е дадено в примерите. Според мен е грешно да. Както има някои неточности и в примерите от 7-ма тема. Домашните са писани от хора все пак.

Сега, зависи какъв е случаят. На домашно може да го направиш както прецениш (аз както споменах, не съм отнемал точки на домашните, в които не беше направено както аз считах, че трябва). На изпит се стреми да следваш примерите, защото и това се е случвало - текстовото условие да не е коректно и тогава за да си решиш задачата трябва да се водиш по примерите.

Всички варианти, които споделиха колегите тук, са ОК. В зависимост от това ти как разбираш условието и как искаш да ти работи програмата прецени кой от тях да приложиш. Може в домашното да сложиш един коментар към кода, да обясниш на проверяващия защо си подходил така и да не те ореже само защото не си го направил както него например. Не знам дали има такива хора, може и да има.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.