Самостоятелна задачка
Здравейте,
Докато си учих вкъщи реши да си задам една уж проста задачка за писане, но се оказа не толкова лесна за мен и знанията ми до момента. Условието е следното:
Да се напише код, който при вход на число от 2 или 2.00 до 6 или 6.00 изкарва съответстващото оценяване с думи. Пример: 2.00 - "poor", 2.49 - "poor", 2.50 - "average", 3.49 - "average", 4.00 - "good" 5 - "very good", 6.00 - "excellent".
Пояснения по рестрикции към задачата са: Въведеното число да има следните 2 варианта на input : Ако е цяло може да се впише като " 2 или 2.00", докато ако е реално си остава в познатия ни от училище формат - Пример: 4.49. Съответно програма да крашва или ако искате да се направи да ви връща в началото да пробвате отново да въведете оценката при всеки по-различен начин на въвеждане на оценката в конзолата. Както се подразбира ако числото е по-малко от А.50 се закръглява надолу, а ако е по-голямо или равно, съответно се закръглява нагоре (както беше в училище) :) .
Аз стигнах до следния код - http://pastebin.com/vcgN571L, само че срещнах един проблем:
Когато въведа 2.50 и 4.50 ми изкарва - "poor" и "good", което е грешно, а при 3.50 и 5.50 изкарва правилно - "good" и "excellent" . Нямам си и на идея защо.
Моля ако някой знае нека каже. Ако някой също така може да напише по-компактен код нека го сподели за да си взема поука.
П.С. Сложил съм едно goto в повече, за по-лесно тестване на output-a. Просто да не стартирам наново програмата с ctrl+f5 за да тествам нови input-и.
Благодаря предварително
Радо
Еййй светлина в тунела! Благодаря!