Loading...
DanailLazov avatar DanailLazov 3 Точки

[Programming Basics] Изпит 24-04-2016 Операции между числа

Здравейте,

Моля за съдействие по следната задача:

* Операции между числа

Трета задача от изпита на 24 април 2016. Тествайте решението си тук.

Напишете програма, която чете две цели числа (N1 и N2) и оператор, с който да се извърши дадена математическа операция с тях. Възможните операции са: Събиране(+), Изваждане(-), Умножение(*), Деление(/) и Модулно деление(%). При събиране, изваждане и умножение на конзолата трябва да се отпечатат резултата и дали той е четен или нечетен. При обикновеното делениерезултата. При модулното делениеостатъка. Трябва да се има предвид, че делителят може да е равен на 0(нула), а на нула не се дели. В този случай трябва да се отпечата специално съобщениe.

Вход

От конзолата се прочитат 3 реда, въведени от потребителя:

  • N1цяло число в интервала [0...40 000]
  • N2цяло число в интервала [0...40 000]
  • Операторедин символ измеду: „+“, „-“, „*“, „/“, „%

Изход

Да се отпечата на конзолата един ред:

  • Ако операцията е събиране, изваждене или умножение:
    •  „{N1} {оператор} {N2} = {резултат} – {even/odd}“
  • Ако операцията е деление:
    • „{N1} / {N2} = {резултат}“ – резултатът е фораматиран до вторият знак след дес.запетая
  • Ако операцията е модулно деление:
    • „{N1} % {N2} = {остатък}“
  • В случай на деление с 0(нула):
    • „Cannot divide {N1} by zero“

Примерен вход и изход

вход

изход

вход

изход

вход

изход

10

12

+

10 + 12 = 22 - even

123

12

/

123 / 12 = 10.25

112

0

/

Cannot divide 112 by zero

10

1

-

10 – 1 = 9 - odd

10

3

%

10 % 3 = 1

10

0

%

Cannot divide 10 by zero

7

3

*

7 * 3 = 21 - odd

 

 

Решението:
https://pastebin.com/N8NAF69Z
Гърми на 5тия тест 90/100.
Заподозрял съм се и в някаква базова грешка, защото горния резултат е при дефиниране на двете входни числа като double, въпреки че в условието е упоменато цели числа. При дефиниране като int изкарва 70/100 и имам грешка при деление 123/12 = 10.00 вместо 10.25.

Тагове:
0
Programming Basics 29/05/2017 16:38:26
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки
  1. else if (inputNumber2 != 0)

  2.                 {

  3.                     outputResult = inputNumber1 % inputNumber2;

  4.                     Console.WriteLine("{0} % {1} = {2:f2}", inputNumber1, inputNumber2, outputResult);

  5.                 }

  6. горе на var outputResult си дал =0.00  и май затова то гърми закръгля var-a 

0
spzvtbg avatar spzvtbg 581 Точки

нулите след точката са без значение те само казват на вара да е дабъл по дефолт а закръглянето се е получило като е сменил на инт а при интовете деленията нямат остатък там нулите се появяват заради форматирането

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

имах предвед `че аз бих го написал var=0.00d ..но аз пиша на с# така че по скоро бих го направил double ..=0.00d;

0
spzvtbg avatar spzvtbg 581 Точки

когато се напише var n = 0.0; или 0.000; без значение по дефолт му казва да е дабал разбира се не е грешно и да се напише но няма нужда както и без десетична точка го прави вара на инт като посочиш с курсора върху промрнливата във вижуал студио ти показва какъв вид е а в процес на дебъгване и неината стоиност към момента.

1
spzvtbg avatar spzvtbg 581 Точки

здравеи , прегледах ти кода набързо и според мен на първо място когато проверяваш четно или нечетно число проверката трябва да е или равно или различно на нула а не равно на 1 като при теб и второ ако не се изисква по условие не печатаи грешка 

0
vanina avatar vanina 1 Точки

Тест 5 е input: 2423 42332 -  output: 2423 - 42332 = -39909 - odd аз съм направила и двете числа да с double 

ето кода :https://pastebin.com/X4KXvdvC 100/100

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