Loading...
onefen avatar onefen 27 Точки

Книгата упражнеия след глава 2

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

http://pastebin.com/Thd258ka

Това с Gender го опитах и с chat тип, но беше по-зле. Там проверяваше дали GenderTry е 'm' или 'f'. Та идеята е като изпише грешката в третия случай   Console.WriteLine("Error! Enter your gender again"); да го върна обратно на : Console.WriteLine("Enter your gender (male or female): "); Това искам да го направя и за следващата задача за номера. Там ползвам и една помощна булева променлива Validnumber освен числовата PersonalNumberTry и май стана много сложно, а сигурно има и по-лесен начин.

Прочетете правилата на форума преди да пускате нова тема.

0
Programming Basics 28/02/2015 11:35:21
crazy7 avatar crazy7 177 Точки

Можеш да го направиш в един цикъл. Например така

 

 

1
28/02/2015 12:35:35
onefen avatar onefen 27 Точки

Аз пробвах с or но явно в C# или е по друг начин.

Така ще се върне ли на въвеждането, ако въведа нещо различно от male или female.

0
crazy7 avatar crazy7 177 Точки

Докато не влезе в if-а и не прекъсне цикъла ще се повтаря. Може и вместо да използваш break да си декларираш една булева променлива която използваш за условие на while и след като влезе в if-a да и смениш стойност.

По подобен начин може да направиш и следващата.

1
28/02/2015 00:19:14
onefen avatar onefen 27 Точки

Направих ги и двете с while(true). А на другата махнах булевата променлива. Ще пробвам с булева без бреак дали ще стане

0
TonislavAtanasov avatar TonislavAtanasov 86 Точки

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

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

Ivo -> ivo

codesymbol -> codeSymbol

Hello -> hello

HelloWorld -> helloWorld и така нататък.

Методите и класовете се именуват в PascalCase. (пр. class BookChapter, static void TestMethod и т.н.)

Поздрави и успех!

2
onefen avatar onefen 27 Точки

Това задължителни условия ли са или са препоръчителни. Защо една променлива трябва да започва с малка буква особенно ако е име - като променливата Ivo например.

-1
TonislavAtanasov avatar TonislavAtanasov 86 Точки

Не са задължителни. Както виждаш кодът ти и така ще работи. Тук става въпрос за общоприети правила, които се спазват с оглед качество на кода. Уеднаквяването на практиките при именуване помагат за по-лесното четене и разбиране на кода от различни хора. Можеш да потърсиш повече информация за конвенциите за именуване в C#. Като за начало, основното е:

camelCase за променливите (няма значение дали имената им са имена, виж по-долу за имената имена)

PascalCase за методи и класове

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

В този смисъл Ivo не е добро име за променлива, първо защото ако това го прочете някой, който не е българин, няма да разбере какво значи ivo. Второ, като видя променлива Ivo някъде из кода, няма никакв шанс да разбера тази променлива какъв й е случаят.  Когато кодът ти е 10-20-50 реда, няма да е много трудно, но представи си, че става въпрос за програма от няколко стотин (да не говорим хиляди) реда код. Още нещо, ако този Ivo стойността му впоследствие стане Gosho? Използването на имена за имена на променливите (nameception!!!) не е добра практика.

Дотолкова мога да помогна аз, все пак съм съвсем начинаещ в програмирането. Повече информация по този въпрос можеш да намериш в лекцията "Примитивни типове данни и променливи" (ако не си присъствал, можеш да я гледаш примерно от тук), в книгата "Основи на програмирането със C#", глава 2, както и тук и тук. Препоръчвам ти лекцията, в нея Богомил добре обяснява основните насоки.

В Ниво 2 има и цял курс, който се казва "Качествен програмен код" или КПК. Предполагам, че там надълго и нашироко ще обсъждаме тези въпроси. Ако имаш интерес, можеш да намериш материалите от курса тук (не съм ги гледал, но предвид, че са в Ниво 2 предполагам, че може да има доста терминология, която да е сложна за начинаещите като нас).

Поздрави!

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