[C# 1] Домашно 04.Console-In-And-Out


2

Добро утро колеги,

Мисля че е време да отврим тема за следващото домашно Console-In-And-Out.

Да използваме уикенда и да се подготвим за новите лекции през следващата седмица :)

Последната задача липсва, защото по нея има вече отделна тема.

С риск че се повтарям -  любезно напомням всички които имат въпроси свързани с Console-In-And-Out да  пишат само в тази тема.




Отговори



1

02. Company Info

Здравейте колеги. Написах код за тази задачка, но ми гърми на почти всички тестове. Явно аз не съм разбрал нещо от условието на задачата. Предполагам че грешката ми е с факс номера.

using System; class CompanyInfo { static void Main() { // Input string companyName = "Telerik Academy"; string companyAddress = "231 Al. Malinov, Sofia"; string companyPhoneNumber = "+359 888 55 55 555"; string companyFaxNumber = ""; string companyWebSite = "http://telerikacademy.com/"; string managerFirstName = "Nikolay"; string managerLastName = "Kostov"; int managerAge = 25; string managerPhone = "+359 2 981 981"; Console.WriteLine(companyName); Console.WriteLine("Address: {0}", companyAddress); Console.WriteLine("Tel. {0}", companyPhoneNumber); Console.WriteLine("Fax: {0}", companyFaxNumber); Console.WriteLine("Web site: {0}", companyWebSite); Console.WriteLine("Manager: {0} {1} (age: {2}, tel. {3})", managerFirstName, managerLastName, managerAge, managerPhone); } }

Ще съм благодарен за съвет.


от IvanAngelov (140 точки)


2

от 8 до 16 ред промени всички стойности, които си задал на стринговете и инта с възрастта с Console.ReadLine(); , идеята е тази информация да се чете от конзолата. Т.е. да стартираш програмата и на всеки ред да въведеш нужната информация (име на фирма, адрес, телефон, факс и тн и тн). Направиш ли това и си готов (само не забравяй да сетнеш факса на "no fax" ако такъв не е въведен).

Поздрави и успех :)

Допълнение: при възрасста, разбирасе входните данни трябва да се кастнат към инт. :)



1
Според мен стойността на факса трябва да е null и ако искаме да не въвеждаме стойност за него :)




1

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

Input

  • You will each piece of information about the company on a separate line, in the same order as in the example
    1. Company name
    2. Company address
    3. Phone number
    4. Fax number
    5. Web site
    6. Manager first name
    7. Manager last name
    8. Manager age
    9. Manager phone




1

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

using System;

class CompanyInfo
{
    static void Main()
    {

        string companyName = Console.ReadLine();
        string Address = Console.ReadLine();
        string phoneNumber = Console.ReadLine();
        string faxNumber = Console.ReadLine();
        string webSite = Console.ReadLine();
        string managerFirstName = Console.ReadLine();
        string managerLastName = Console.ReadLine();
        byte managerAge = byte.Parse(Console.ReadLine());
        string managerPhone = Console.ReadLine();


        if (faxNumber.CompareTo(string.Empty) == 0)
        {
            faxNumber = "(no fax)";
        }

        Console.WriteLine(companyName);
        Console.WriteLine("Address: {0}", Address);
        Console.WriteLine("Tel. {0}", phoneNumber);
        Console.WriteLine("Fax: {0}", faxNumber);
        Console.WriteLine("Web site: {0}", webSite);
        Console.WriteLine("Manager: {0} {1} (age: {2}, tel. {3})", managerFirstName, managerLastName, managerAge, managerPhone);
    }
}

        


2

using System;

namespace Company
{
    class Program
    {
        static void Main()
        {
            string CompanyName = Console.ReadLine();
            string Address = Console.ReadLine();
            string Tel = Console.ReadLine();
            string faxNum = Console.ReadLine();
            string webSite = Console.ReadLine();
            string FirstName = Console.ReadLine();
            string LastName = Console.ReadLine();
            string age = Console.ReadLine();
            string tel2 = Console.ReadLine();

            Console.WriteLine("{0}: \nAddress: {1}: \nTel . {2} \nFax:{3} \nWeb Site: {4}\nManager: {5} {6} (age:{7}, tel:{8})",
                CompanyName, Address, Tel, faxNum, webSite, FirstName, LastName, age, tel2);
        }

    }
}

Като си въведа инпута всичко си тръгва, а в бгКодер е грешно. Някой може ли да ми помогне?

            

от sstoimirov (380 точки)



1

Здравейте колеги. Забелязах някои промени в условията на домашното, които най-често се изразяват в промяна на range-а, на input-а. Но с минимални промени всички кодове минават със 100/100. Ако ви гръмне някой код - просто си прочетете пак условието. ;)




2

03. Circle

Здравейте колеги,

някои ще помогне ли да открия къде ми е грешката. Кодера казва 85/100 а си нямам и идея защо.

Благодаря ;)

using System;

namespace Circle
{
    class Program
    {
        static void Main(string[] args)
        {
            double radius = double.Parse(Console.ReadLine());
            double perimeter = (2 * (Math.PI) * radius);
            double area = ((Math.PI) * radius * radius );
            Console.WriteLine("{0} {1}", Math.Round(perimeter, 2), Math.Round(area, 2));
        }
    }
}

от TanyoSotirov (95 точки)


0

Може да е от аутпут

Пробвай 
        Console.WriteLine("{0:0.00} {1:0.00}", perimeter, area);


от dushka.dragoeva (1324 точки)

1

Благодаря ти - 100/100

Но съм сигурен че и така го пробвах и не се получаваше :)


от TanyoSotirov (95 точки)



1

02.Company Info 

Здравейте,
Виждам, че не съм сама, както колегите и аз имам нещо грешно явно в кода, но просто не разбирам какво е то. Принтира нещата , както се изисква в условието, но гърми в BgCoder. Смених webside  на string, но пак не става, а и гърми на всички тестове в  BgCoder. Ще съм благодарна, ако някой помогне :)

using System;
namespace _02.CompanyInfo
{
    class CompanyInfo
    {
        static void Main(string[] args)
        {
            string companyName = Console.ReadLine();
            string companyAddress = Console.ReadLine();
            string phoneNumber =  Console.ReadLine();
            string faxNumber = Console.ReadLine();
            Uri webSite = new Uri(Console.ReadLine());
            string managerFirstName = Console.ReadLine();
            string managerLastName = Console.ReadLine();
            byte managerAge = byte.Parse(Console.ReadLine());
            string managerPhone = Console.ReadLine();

            Console.WriteLine();
            Console.WriteLine("{0}\nAddress: {1}\nTel.{2}",companyName,companyAddress,phoneNumber);
            if (string.IsNullOrEmpty(faxNumber))
            {
                Console.WriteLine("Fax: (no fax)");
            }
            else
            {
                Console.WriteLine(faxNumber);
            }

            Console.WriteLine("Web site: {0}\nManager: {1} {2} (age: {3}, tel.{4})",webSite,managerFirstName,managerLastName, managerAge,managerPhone);


        }
    }
}


от ktdbs (55 точки)


1
Имаш 1-ин Console.WriteLine(); в повече, пробвай без първия.

от desislavaaaa (1190 точки)

2

Здрасти,

Това Uri го промени на string;

a age на int;

това виждам като проблем :)


от chincho (151 точки)



1

using System;

class ThteeIntPrintsTheirSum


{
    static void Main()
    {

        int numberFirst = int.Parse(Console.ReadLine());


        int numberSecond = int.Parse(Console.ReadLine());


        int numberThird = int.Parse(Console.ReadLine());

        int sum = numberFirst + numberSecond + numberThird;

        Console.WriteLine("{0}", sum);

    }
}

Дава ми 100/100 но пише това:

Zero test #2 (Runtime error)

The zero tests are not included in the final result.
Unhandled Exception: System.FormatException
Time used: 0.000 s
Memory used: 9.54 MB

            

от catnadeen (382 точки)


1
Числата, които се прочитат от конзолата трябва да бъдат реални -> double;

от desislavaaaa (1190 точки)

1

Sum of N Numbers

using System;

class NumbersSum

{
    static void Main()
    {
    
        int N = int.Parse(Console.ReadLine());

        double sum = 0;

    
        for (int i = 0; i < N; i++)
        {
            double number = double.Parse(Console.ReadLine());
            sum += number;
        }
        Console.WriteLine(sum);
    }
}

излиза 100/100 но също така

Zero test #1 (Runtime error)

The zero tests are not included in the final result.
Unhandled Exception: System.FormatException
Time used: 0.015 s

Memory used: 9.47 MB

Моля за съвет.

И за това също - толкова е просто, но не сработва:

using System;

    class IntervalNumber
    {
   
        static void Main()
        {
        
            int startNumber = int.Parse(Console.ReadLine());
        
            int endNumber = int.Parse(Console.ReadLine());
            int result = 0;
            for (int i = startNumber; i <= endNumber; i++)
            {
                if (i % 5 == 0)
                {
                    result++;
                }
            }
            Console.WriteLine(result);
        }
    }


от catnadeen (382 точки)



2

Ето едно малко странно може би решение на 10-та задача (Fibonacci Numbers) --> тук. Реших че ми писна от for-циклите за сега, затова я направих с отделен метод, който се изпълнява докато не се изпълнят условията.. ;) пак става цикъл, но не използвам "for" за пръв път от много време насам :) Реших че малко разнообразие ще ми дойде добре, а някои от вас може да им стане интересно също, затова реших да го постна тук... надявам се да съм и помогнал на някого също :Р

Успех на всички ;)


от RavenDark (170 точки)


3

06. Quadratic Equation

Не мога да разбера защо ми дава 70/100 точки. В условието е казано, че трябва по-малкия корен да излиза на първия ред, а по-големия - на втория. На един от нулевите тестове ми показва, че expected output трябва да е: 3.00 (1-ви ред) 0.00 (2-ри ред), а моят output e: 0.00 (1-ви ред) 3.00 (2-ри ред). 

http://pastebin.com/jjaHQV6A

Някой може ли да ми каже къде греша? Благодаря!


от Ilian_Iliev_2 (1043 точки)


1

Пробвай да принтираш първо double x2 = ((-b) - sqrtD) / (2 * a)При мен без проверка кой корен е по-голям ми дава 100/100 :)


от desislavaaaa (1190 точки)

3
Стана, благодаря! Само не разбрах, аз ли съм объркал условието или условието е объркано? 

от Ilian_Iliev_2 (1043 точки)



1

Колеги какво ще кажете за този код за задачата Circle

using System;


namespace ConsoleApplication38
{
    class Program
    {
        static void Main()
        {
            double r = double.Parse(Console.ReadLine());
            double area = Math.PI*(r*r);
            double perim = 2*(Math.PI*r);
            Console.WriteLine("{0:0.00} {1:0.00}" ,perim,area );
        }
    }
}

           

от ivanpaunov14 (20 точки)


1
using System;

namespace Circle
{
    class Program
    {
        static void Main(string[] args)
        {
            double radius = double.Parse(Console.ReadLine());
            double perimeter = (2 * (Math.PI) * radius);
            double area = ((Math.PI) * radius * radius );
              Console.WriteLine("{0:0.00} {1:0.00}", perimeter, area);
        }
    }
}

от catnadeen (382 точки)

0
Console.WriteLine("{0:0.00} {1:0.00}" area,perim ); - по условие така го иска BG Coder

от dushka.dragoeva (1324 точки)



1

10. Fibonacci Numbers

Понеже аз най-много се затрудних на тази задача реших да си кача решението. Сигурно има и по-лесен начин, но аз това успях да измисля. Дано да помогне на някого :)

using System; namespace FibonacciNumbers { class FibonacciNumbers { static void Main() { byte n = byte.Parse(Console.ReadLine()); long number1 = 0; long number2 = 1; if (n <= 1) Console.WriteLine("0"); else if (n == 2) { Console.WriteLine("{0}, {1}", number1, number2); } else { Console.Write("{0}, {1}, ", number1, number2); for (byte i = 2; i < n; i++) { number2 = number1 + number2; number1 = number2 - number1; if(i != n - 1) Console.Write("{0}, ", number2); else Console.WriteLine(number2); } } } } }


от Daniel_Isov (10 точки)


2

Това е моето решение :

using System;

namespace FibonachiNumbers
{
    class Program
    {
        static void Main()
        {
            ulong a = 0;
            ulong b = 1;
            ulong temp = 0;

            uint N = uint.Parse(Console.ReadLine());

            if (N >= 1 && N <= 50)
            {
                Console.Write("{0}", a);
                for (int i = 1; i < N; i++)
                {
                    temp = a + b;
                    a = b;
                    b = temp;

                    Console.Write(", {0}", a);
                }
                Console.WriteLine();
            }
            
        }
    }
}


от TanyoSotirov (95 точки)

0

Те ви Фибоначи

using System; class Fibonacci { static void Main() { uint count = uint.Parse(Console.ReadLine()); ulong number = 0; ulong prevNumber = 1; for (int i = 0; i < count; i++) { Console.Write(i < count - 1 ? "{0}, " : "{0}", number); number += prevNumber; prevNumber = number - prevNumber; } Console.WriteLine(); } }


от orlindraganov (120 точки)