Професионална програма
Loading...
office_kanev avatar office_kanev 6 Точки

Exercises: Encapsulation Problem 3. Shopping Spree

колеги някой може ли да ми каже защо джъджа ми гърми на 61-ви ред със ексепшъна
array_push() expects parameter 1 to be array, null given in C:\Users\Administrator\AppData\Local\Temp\tmp29C7.tmp on line 60
и също на  133 със 
 Invalid argument supplied for foreach() in C:\Users\Administrator\AppData\Local\Temp\tmp29C7.tmp on line 139

а при мен програмата си работи коректно, знам че кодът със сигурност не нарисан правилно по принципите на ООП

ето го и кодът

0
PHP Web
nstoichkov avatar nstoichkov 1 Точки

Здравейте и аз имам проблем с тази задача. Поиграх си да изпълня условието но получавам най много 40 / 100

играх си да сложа проверки и да хвърлям Exceptions при празно име или отрицателна стойност на парите или цената на продукта както и след като се въведе грешна стойност програтам да продължава да получава входни данни докато не се подаде END използвах goto за да skip на минаването през другата част от програмта за да не оптечатва нищо друго след  "Money cannot be negative" или след "Name cannot be empty" както е в примера и пак не става

Когато я тествам с примерите от условието на задачата и трите ми се изпълняват както трябва но в judge 40 / 100

На Test #3, Test #4,Test #5  имам само  (Runtime error) но не мога да видя   кое поражда тази грешка и как да я избегна защото не дават какъв е Input и output при тези тестове.

Това е моето решение http://pastebin.com/G0i0u5Az

Благодаря Ви предварително

0
03/03/2017 01:11:05
fbinnzhivko avatar fbinnzhivko 1582 Точки

Ползването на goto не е добра практика до колкото знам.
http://pastebin.com/FhF4k4nJ

Разгледай моето решение.Дано ти помогне

0
03/03/2017 01:29:47
nstoichkov avatar nstoichkov 1 Точки

Благодаря ти ще го разгледам

0
nstoichkov avatar nstoichkov 1 Точки

Твоето решение ми помогна. Благодарности :)

Вместо goto което е лоша практика използвах    exit; както в твоето решение след принтиране на грешката от Exception ите

от 40 веднага получих 80 точки

0
03/03/2017 20:55:17