Loading...
Nasko_M avatar Nasko_M 0 Точки

Simple Calculations - USD to BGN - проблем

Колеги дава ми (Грешка при компилация)

Ето и кода на задачата: 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace BGN_to_EUR_Converter
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Calculate();
        }

        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            Calculate();
        }

        private void Calculate()
        {
            var ammountBGN = numericUpDown1.Value;
            var ammountEUR = Math.Round((ammountBGN * 1.95583m), 2);
            var result = string.Format("{0} BGN = {1} EUR", ammountBGN, ammountEUR);
            labelResult.Text = result;  
        }    

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void label3_Click(object sender, EventArgs e)
        {
            
        }
    }
}
 

Тагове:
0
Programming Basics
jivako000 avatar jivako000 296 Точки
Best Answer

Здравей! Ще ти обясня как да си направиш задачата! 

Това е кода:

using System;

    class Program
    {
        static void Main(string[] args)
        {
            double USD = double.Parse(Console.ReadLine());
            double BGN = 1.79549 * USD;
            Math.Round(BGN, 2);
            Console.WriteLine(BGN);
        }
    }

Инициализираш 2 променливи, като първата (USD) е входа, който се въвежда от потребителя, а във втората се умножава числото, което е въвел потребителя със съответния валутен курс (1.79549). Чрез Math.Round закръгляш до 2 знака след десетичната запетая и накрая печаташ резултата! 

Успех!smiley

0
AleksandarGanchev avatar AleksandarGanchev 25 Точки

Мерси за отговора!

Само че мен ме домързя да пиша цял ред и затова слях печатането на резултата заедно със закръглянето до 2 знака laugh , т.е:

 

using System;

    class Program
    {
        static void Main(string[] args)
        {
            double USD = double.Parse(Console.ReadLine());
            double BGN = 1.79549 * USD;
            Console.WriteLine(Math.Round(BGN, 2));
        }
    }

0
jivako000 avatar jivako000 296 Точки

Разбира се! На всеки както му е удобно! 

0
vancho avatar vancho 430 Точки

Нямаш 

static void Main(string[] args)

{

}

 

а и нещо този код въобще не е валиден, извикваш някакви методи, ама и не ги викаш даже правилно....

 

ето това работи:

using System;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            var ammountBGN = 20.0m;
            var ammountEUR = Math.Round((ammountBGN * 1.95583m), 2);
            var result = string.Format("{0} BGN = {1} EUR", ammountBGN, ammountEUR);
            Console.WriteLine(result);
        }
    }
}

-1
05/09/2016 17:43:13
Nasko_M avatar Nasko_M 0 Точки

Този код също не работи.

0
vancho avatar vancho 430 Точки

Работи, ето отговора: 20.0 BGN = 39.12 EUR копнат от резултата!

-1
Nasko_M avatar Nasko_M 0 Точки

В Judge показва грешка:

The number of numbers in the user output is greater than the expected output.

Очакван изход:35.91 

Твоят изход:

20.0
39.12

0
DimitarKarev avatar DimitarKarev 87 Точки

От това което виждам това е задачата с графичното приложение. В лекцийте я има разписана стъпка по стъпка сравни твоето решение с това от лекцийте виж къде бъркаш

1
05/09/2016 18:39:12
Nasko_M avatar Nasko_M 0 Точки

Благодаря ви, колеги! jivako000 твоето решение проработи.

0
Nasko_M avatar Nasko_M 0 Точки

Разбира се!

0
jivako000 avatar jivako000 296 Точки

Благодаря ти! Ако срещаш други трудности, или имаш някакви въпроси, можеш да ме попиташ и на лично съобщение във Facebook (оставил съм линк към профила си)! 

Успех!smiley

0
puffed avatar puffed 289 Точки

Здравей,

Тук си правил задачата, която е приложение на Windows Forms. Тези не се качват в Judge системата, поне не за този курс. Те са само за упражнение. Решенията, които колегите са ти показали, са решения за конзолно приложение и да, работят, но за конзола.

0
07/09/2016 00:07:43
Nasko_M avatar Nasko_M 0 Точки

Благодаря за отговорите! Разбрах, че това е приложение за Windows Forms и не се качва в Judge стистемата. :)

0
Leprikona avatar Leprikona 108 Точки

Защо си усложняваш толкова живота с такъв код? Просто трябва да вкараш от конзолата едно число:

var number = decimal.Parse(Console.ReadLine()); (decimal винаги се използва за пресмятания с валути, защото дава много по-точен резултат от double, който ти закръгля резултата само до второто число след запетайката);

след това умножаваш въведеното от теб число по зададения валутен курс (в случая 1.79549).

За да получиш резултат, който да е до 2 цифри след запетаята може да го преобразуваш като го изпишеш

с един Placeholder: {0:f2}, където f2 означава, че числото ще бъде закръглено до втория знак -

това е същото като формата "{0:0.00}", просто буквата "f" ти улеснява живота, защото ако трябва да е закръглено до 100 - я символ е по-лесно да напишеш {0:f100}, отколкото да броиш 100 нули след десетичната запетайка.

0
Stradjazz avatar Stradjazz 30 Точки

Това е Application Form, те са обяснени стъпка по стъпка в задачите, защото са само за забавление и са графични, не се тестват в Judge. Трябва точно както е описано да се сложат кодовете за съответните функции.

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