Loading...
RFilipov avatar RFilipov 136 Точки

Моят вариант:

https://github.com/ROSSFilipov/CSharp/tree/master/OOP/SoftUni-Homework/ExceptionHandling

Макар, че съм модифицирал всички задачи и данните се въвеждат една по една докато потребителя не въведе нещо коректно.

1
SimMtr avatar SimMtr 72 Точки

Добро решение. Препотъка - няма нужда от while цикъл в Main метода, както и да вкарваш като параметър int[] array в метода ReadNumber(), остави го само ReadNumber(int start, int end).

Може и да вкараш и 10 в константа: private const int Count = 10;

0
20/11/2015 16:06:01
mbeleva88 avatar mbeleva88 69 Точки

Ето моето решение на 2-рата задача:

Нарушена точка 12 от Правилата.

Мисля, че отговаря точно на условието.

0
20/11/2015 13:22:16
djc_bg2015 avatar djc_bg2015 923 Точки

Това няма да работи, защото винаги долната граница ще ти е 1 ако не греша. А по условие на всяко следващо число трябва минималната граница да е предходното.

0
mbeleva88 avatar mbeleva88 69 Точки

Мда, прав си. Не съм видяла тази подробност в условието ;) мерси за забележката.

0
bacuty avatar bacuty 55 Точки

Много се извинявам, но ако на някой му се занимава може ли да ми поясни втора задача ,нищо не разбрах от условието :)

0
Exten avatar Exten 4 Точки

На първа задача при отрицателно число мисля че ще принти NaN и след това грешката заради иф-а (djc_bg2015)

0
24/11/2015 14:19:43
djc_bg2015 avatar djc_bg2015 923 Точки

Здравей, ето аутпута при отрицателно число:
 

-55
Invalid number
Good bye
Press any key to continue . . .

 

0
Willbe.S avatar Willbe.S 5 Точки

Ето и моята задача 2

http://pastebin.com/LHSBTc9x

Искаше ми се да избегна това повторение на кода във всичките catch блокове, но не ми хрумва как, ще се радвам да чуя ако някой има идея :)

0
djc_bg2015 avatar djc_bg2015 923 Точки

А защо не го изнесеш в метод?

Например:
 

public void MethodName(Exception ex, int start, int end) {
            Console.WriteLine(ex.Message);
            Console.WriteLine("Try again: ");
            return EnterNumber(start, end);
}

 

1
Willbe.S avatar Willbe.S 5 Точки

Да, това ще свърши работа, мерси :)

0
radi81 avatar radi81 43 Точки

Ето и моето решение на зад. 2, не знам доколко съм спазила принципите на ООП:

https://gist.github.com/radi81/d74abe500682f5a98052

1
24/11/2015 21:03:35
Nadia.Hristova avatar Nadia.Hristova 41 Точки

Кода изглежда добре. Лично на мен ми хареса варианта с counter-a и while loop-a при въвеждането на данните към зад 2(сега ме е яд, че не се сетих да го направя така :D). Към задача 2 имам и 1-2 предложения  за подобрение/оптимизация: 

- дръпни List<int> enteredNumbers в proprty и/или field. Като идея метода да връща list от въведените стойности е добра, но в сегашния вид при всяко извикване на ReadNumber се създава нова инстанция на list-a и данните се губят.   

- в Main разположи counter-a точно под ReadingNumbers.ReadNumber(Console.ReadLine());. Така ако имаш грешен вход програмата ще гръмнe и директно ще скочи на catch блоковете, игнорирайки реда counter++;

- хвани ги и другите excepion-и, така програмката ще си върви дори някой някъде да сгреши.

Успех!

1
25/11/2015 00:01:17
Nadia.Hristova avatar Nadia.Hristova 41 Точки

Ето го и моето творение.

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

0
24/11/2015 22:58:35
IDM1488 avatar IDM1488 1 Точки

Кодът е усложнен ненужно и принтира при някои ситуации повече от едно съобщения, а не се принтира най-важното - коренът на коректно въведено число :)

1
Nadia.Hristova avatar Nadia.Hristova 41 Точки

Да наистина има бъг. Сега май го оправих.

Мерси за помоща. :)

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