Loading...
stanlenov avatar stanlenov -2 Точки

Задача по C#

Колеги имам задача, която малко ме измъчи. Бихте ли ми помогнали малко?

 

ЗАДАЧА:

Фирма "Състезания ООД" организира олимпиада по информатика "България програмира 2012". След края на олимпиадата и събиране на резултатите информацион- ната система отказва. Помогнете на организаторите да направят класирането, като със- тавите програма, която: 

1. Въвежда и контролира цяло неотрицателно число N, определящо броя на със- тезателите, като те не са повече от 1000. За всеки състезател се въвежда следната ин- формация: име и фамилия (знаков низ не по-дълъг от 50 символа), град (знаков низ не по-дълъг от 20 символа), училище (знаков низ не по-дълъг от 30 символа), резултат от състезанието (цяло неотрицателно число). 
2. Извежда списък с информацията за всички състезатели като за всеки от тях се извежда на отделен ред последователно: име и фамилия, град, училище и резултат от състезанието. Данните трябва да се отпечатат в следния формат:

 Георги Иванов, Пловдив, СОУ "Паисий Хилендарски", 32 точки 

Списъкът трябва да бъде подреден низходящо по резултат от състезанието. 

3. Въвежда град (знаков низ не по-дълъг от 20 символа). Извежда в по-горе опи- сания формат участниците от този град подредени лексикографски в нарастващ ред по име на училище, като участниците от едно и също училище се нареждат в низходящ ред по резултат от състезанието. 

4. Извежда списък състезатели от училищата, в името на които се съдържа СОУ и чиито брой точки надхвърля средния брой точки на състезател за олимпиадата. Спи- съкът да бъде изведен във формата от точка 2. 
 

Тагове:
-1
Module: C# Advanced
Ivelin_Dimitrov avatar Ivelin_Dimitrov 148 Точки

Колега, кое по точно те измъчи? Дай да видим до къде си я докарал... Ориентирай ни малко по конкретно за да знаем как и със какви съвети да ти помогнем, защото така поставен въпросът ми прилича повече на "Бихте ли ми решили задачата" :) 

1
30/04/2018 18:37:48
stanlenov avatar stanlenov -2 Точки

Като цяло не знам как да започна...ако някой ми покаже съвсем малко аз ще си я довърша до края...

-1
Ivelin_Dimitrov avatar Ivelin_Dimitrov 148 Точки

Ами хехе дабре.. Постнал си го във C# Fundamentals, така че приемам, че си наясно със класовете на basic level. Създай си един клас Student или каквото име си харесаш, със полета: "име и фамилия (знаков низ не по-дълъг от 50 символа), град (знаков низ не по-дълъг от 20 символа), училище (знаков низ не по-дълъг от 30 символа), резултат от състезанието (цяло неотрицателно число). "  проверките можеш да си ги направиш във сетърите; @Override-ваш си toString() да ти връща String със име и фамилия, град, училище и резултат от състезанието, за по лесно печатане после (както ти го искат по условие). Другото можеш да го напишеш във Main класът, или да си направиш отделен клас за бизнес логиката, или да използваш command pattern, както ви учат и ви показват.. Данните може да си ги съхраняваш примерно във два речника за по лесно изпълнение на т.3 и т.4. примерно единият ще ти е със key: град  и value: Student, а другият със  key: училище и value: Student. Пълниш си ги и после според командата си печаташ със съответните изисквания и сортиране.. Ще започнеш със прочитането на N, правиш му една if(...) проверка, или по добре със while(n<=0 || n > 1000) {...}, след което със помоща на loop си пълниш данните.. 

Но ако ме питаш по добре започни със изкарването на някой и друг курс.. Успех

2
30/04/2018 19:58:14
willystyle avatar willystyle 2472 Точки

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

https://pastebin.com/8fW8a8eJ

0
01/05/2018 00:43:35
stanlenov avatar stanlenov -2 Точки

Много благодаря. Не бях се сетил така. Страхотно!

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