Loading...
DanailDrumev avatar DanailDrumev 9 Точки

Въпрос относно задачите за домашно "Radians to Degrees" и "Celsius to Fahrenheit".

Здравейте.

Бих искал да ви помоля за малко помощ относно задачите "Radians to Degrees" и "Celsius to Fahrenheit".

Проблема е следният: 

Написах кодовете за двете задачи, програмите се компилират успешно във "Visual Studio", когато задам за входяща стойност чяло число всичко е ОК, но когато входящата стойност е дробно число, програмата не сработва. Интересното е че в "judge" ми дава 100 от 100 точки и на двете задачи и не открива грешка. Домашното е решено и всичко е ОК, но мен ме тормози факта, че нещо не е наред с кода ми и не сработва както трябва и искам да знам каде е проблема.

Предполагам че проблема ми е свързан със "double.Parse", но не съм сигурен.

Ето и кодовете:

Radians to Degrees:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Radians_to_Degrees
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("rad = ");
            double rad = double.Parse(Console.ReadLine());
            double deg = rad * 180 / Math.PI;
            Console.WriteLine("deg = " + deg);
        }
    }
}
 

и Celsius to Fahrenheit:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Celsius_to_Fahrenheit
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("C = ");
            var C = double.Parse(Console.ReadLine());
            var f =C * 1.8 + 32;
            Console.WriteLine("F = " + f);
        }
    }
}
Благодаря на всички за отделеното време и внимание.

Тагове:
0
Programming Basics
ZornitsaSerbezova avatar ZornitsaSerbezova 455 Точки

Добре де, как Judge ти дава 100 от 100 за Radians to Degrees, след като ти не закръгляш?

Това нали е задачата От симппъл калкулейшънс на Програминг бейсик?

 

0
10/07/2016 12:30:50
DanailDrumev avatar DanailDrumev 9 Точки

Да задачите са от този раздел и е факт, че Judge ми дава 100 от 100 и на двете задачи, както казах според Judge задачите са решени и всички е ОК.

Ако искаш копирай кодовете и ги качи в Judge, за да видим какъв резултат ще ти върне на теб.

Факт е че имам проблем с кода и искам да го разреша.

Благодаря ти за отговора, сега ще погледна това със закръглянето. :)))

0
Ivvelichkova avatar Ivvelichkova 7 Точки

Здравей,

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

Math.Round е за закръгляне до колкото ти решиш,в случая до второ число :

            double deg = Math.Round((rad * 180d / Math.PI),2);
 

може и с плейсхолдър:

            Console.WriteLine("deg = {0:F2}",deg);
 

1
10/07/2016 13:11:37
DanailDrumev avatar DanailDrumev 9 Точки

Когато входящата стойност е дробно число, програмата сработва, но не изписва крайния резултат от предсмятането на конзолата, а някаква грешка.

Ментора сега ми отговори на мейла, излиза че грешката не е в кода, а в лаптопа ми, явно ще трябва да се поровя малко в него.

Най-вероятно има общо с регионалните настройна на WIndows - какъв дробен разделител се използва по подразбиране. При мен програмата нe дава грешки и когато въведа например 36.6 работи правилно, обаче 36,6 го взима като 366 и връща 690 F. Попринцип Visual Studio ползва настройките на WIndows, но можеш да ги сменяш с един клас CultureInfo. Това е доста по-сложа материя, мисля че за тия култури се говори в Programming Fundamentals. 

Благодаря ти за отговора и за прощавай за притеснението, ще имам да черпя някои ден. :)))

0
Ivvelichkova avatar Ivvelichkova 7 Точки

Да,за джъджа няма значение " ," или ". "

но за вижуала мисля,че запетаята я взимаше за char или израза за string,когато настройките не са уеднаквени с уеднаквени с Windows-a.

И няма проблем,каквото сме научили всички помагат :)

0
DanailDrumev avatar DanailDrumev 9 Точки

Да оказа се, че при мен на конзолата не чете "." като дробен разделител, а разпознава ",".

Извинявам се, че ви загубих времето с това не доглеждане от моя страна.

Благодаря ви за бързите отговори. Пожелавам ви хубав ден и много усмивки. :)))

0
gigafloyd avatar gigafloyd 14 Точки

За да нямаш и занапред проблеми:

 - или си промени регионалните настройки на "американски"

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

Аз лично съм направил второто.

0
borislav9212 avatar borislav9212 745 Точки

Проблема е при закръглянето, трябва да е така

        double radians = double.Parse(Console.ReadLine());
        double degrees = Math.Round(radians * 180 / Math.PI);
        Console.WriteLine(degrees);

Странното е, че Judge не отчита за грешка. когато дробното число не е закръглено до втория знак след десетичната точка. Явно са объркани тестовете на задачата и затова ти минава и без закръгляне.

0
DanailDrumev avatar DanailDrumev 9 Точки

Благодаря ви за полезната информация. Много ми помогнахте. :)))

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