Софтуерно Инженерство
Loading...
+ Нов въпрос
NDYordanov avatar NDYordanov 0 Точки

Проблем с една от задачите на давана от предишни издания на изпити

Здарвейте, от доста време се опитвам да открия грешката в следния код: https://pastebin.com/20fxiFnB, тъй като на изхода получавам само "0.00%". Моля помогнете sad. Благодаря предварително :)

П.С. Ето го условието

10

10

5

1

100

12

26

17

37

40

78

1.84%

6.75%

5.21%

31.60%

54.60%

Всички хора 10 + 5 + 1 + .... + 78 = 326

6/326*100 = 1.84% с лек автомобил

22/326*100 = 6.75% с микробус

17/326*100 = 5.21% с малък автобус

103/326*100 = 31.60% с голям автобус

178/326*100 = 54.60% с влак

Тагове:
paveliliev90 avatar paveliliev90 46 Точки

Използвай double вместо int. Не съм ти погледнал кода, но според мен е това, тъй като е доста честа грешка :) При целочислено делене няма как да получиш процентите

1
NDYordanov avatar NDYordanov 0 Точки

Благодаря! :) Помогна.

0
Skandity avatar Skandity 2 Точки

Горе променливите трябва да са ти double :)

double countCar = 0.0;
double countMicrobus = 0.0;
double countSmallBus = 0.0;
double countBigBus = 0.0;
double countTrain = 0.0;
double wholePeople = 0.0;

1
NDYordanov avatar NDYordanov 0 Точки

Благодаря! :) Помогна.

0
inkarnasion avatar inkarnasion 124 Точки

И с интове става но тогава долу трябва да ползваш Децимал формат, ето ти поправеният код.   

https://pastebin.com/G28U92ry

1
martinml avatar martinml 259 Точки

Не е задължително към decimal да се кастват, може и към double. Освен това, второто кастване в един и същи израз в този случай е ненужно (защото double / int също връща double)

https://pastebin.com/HHQzqNzj

1
16/12/2017 16:41:25