Loading...

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

Stan4o avatar Stan4o 0 Точки

Проблем със задача 08. Mentor Group от Класове и обекти

Здравейте,

Мога ли да помоля някой добър човек за малко помощ с посочената в заглавието задача? Мъчих я, гледах я, но не мога да докарам до повече от 50/100. Според мен, има някаква проверка на входящите данни, която не хващам. Например, когато въвеждам коментарите, може ли да има такава заявка, при която да има Username и коментари, които са празни стрингове.

Пример:

username- - - при такъв сценарий, имам username и два стринга, в които има по един спейс. Тези пропускам ли ги, печатам ли ги? Направих проверка за тях и не помогна. Също проверих и за празни стрингове без спейс (просто input = Username--- ).Значи най-вероятно не е това. Но все пак.

Ето какво съм написал до тук: https://pastebin.com/7UjXTA4e

Благодаря

Тагове:
Quake3 avatar Quake3 546 Точки
Best Answer

Здравей,

Не знам дали ще имам време да намеря всички проблеми, но ще пиша 1 по 1, каквото намирам.
 

Student student = new Student(name);
studentGroup.Add(student);

for (int i = 0; i < tempDates.Count; i++)
{
   DateTime parsedDate = DateTime.ParseExact(tempDates[i], "dd/MM/yyyy", CultureInfo.InvariantCulture);

   if (student.Dates.Any(d => d.Date == parsedDate) == false)
   {
      student.Dates.Add(parsedDate);
   }
}

В този пасаж 1-во създаваш и после добавяш нов ученик и още по-после му присвояваш някакви дати.
Създай ученика, после му присвои датите и най-накрая го добави.
Проверката за съществуващи дати няма смисъл, защото ученикът е нов обект.

Тук:

// Check if there's any comments at all. If so, check if they are not empty strings 
                if (tokens.Length > 1)

Няма нужда от List<string> comment, коментарът е стринг и трябва просто да бъде добавен към коментарите за съществуващ студент.

Ако гледаме едно и също условие, никъде не пише, че не може да има 2 и повече еднакви дати.

Това решение има 100%, но има две повтарящи се части: for (int i = 0; i < tempDates.Count; i++), можеш да го оптимизираш.
 

0
11/07/2018 02:49:40
Stan4o avatar Stan4o 0 Точки

Здрасти. Логимата ми е, че първо се уверявам, че изобщо имам студент, на който после да проверя, дали има записана, датата на която е присъствал.
- създай

- парсни дата (минивам през всички дати)

- ако няма така, добави

Както го описваш, ако имам първо ентри за някакъв студент и са ваведени две (или повече) еднакви дати, тогава няма да го хвана, ако разбирам правилно.

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

колегата ти е подсказал но нищо не си разбрал. Значи датите ама хич не ти влият. Проверяваш студента по име ако го нямаш и ти върне празен обект просто го добавяш ако ти върне студент които същестува просто ще му презапишеш данните или каквото е там по условие. Не си дал условието а на работа не ми се ровеше и се ориентирам по кода на колегата.Тея безумни проверки дето ги правиш са излишни. Все пак мога да ти дам 2 различни студента с една дата на присъствиеи тн примерно и и твоите проверки ще те изгърмят още там.

спри прочети условието и започни наново най-добре.

0
11/07/2018 09:33:55
Stan4o avatar Stan4o 0 Точки

Здрасти. Погледнах оригиналната бележка на колегата. После той е едитвал, така че по-кротко. :) А сега по същество -  благодаря ти за усилията и на теб.

1. По въпросът с условието - за първи път пускам във форума и още се уча. Да разбирам, че иконката с двете стрелки една под друга в коментарът на колегата означава, че е имало едит в еди кой си момент? А за самото условие, ако го бях плеснал като текст например, имам ли гаранция, че някой няма да каже "Защо си го плеснал? Нали си дал името на задачата. Ние не сме малки деца. Можем да си го намерим" и тн.
2. И по-важно - наистина искам да разбера твоят коментар за двамата студенти и двете еднакви дати. В самото условие на задачата има само един пример и той е такъв:

nakov 22/08/2016,20/08/2016
simeon10 22/08/2016
end of dates

В кодът на моя ОП, макар и неелегантни, проверките записват правилно и двата реда. Какво точно имаш предвид? Питам те най-сериозно и ще се радвам на твоят коментар, защото усещам, че между самото писане и разбирането добре на условието на коя да е задача, за сега повече проблеми имам със второто. Благодаря предварително. Станислав

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