Професионална програма
Loading...
+ Нов въпрос
GapoBG avatar GapoBG 15 Точки

03. English Name of Last Digit

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

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

namespace EngNameLastDigit
{
    public class EnglishNameOfLastDigit
    {
        private static void Main(int lastD)
        {
            lastD = FindLastDigits(lastDigs);       //тука допускам грешка с викане на резултата от по-долния метод, помогнете да го поправя


            if (lastD == 1)
            {
                Console.WriteLine("one");
            }
            else if (lastD == 2)
            {
                Console.WriteLine("two");
            }
            else if (lastD == 3)
            {
                Console.WriteLine("three");
            }
            else if (lastD == 4)
            {
                Console.WriteLine("four");
            }
            else if (lastD == 5)
            {
                Console.WriteLine("five");
            }
            else if (lastD == 6)
            {
                Console.WriteLine("six");
            }
            else if (lastD == 7)
            {
                Console.WriteLine("seven");
            }
            else if (lastD == 8)
            {
                Console.WriteLine("eight");
            }
            else if (lastD == 9)
            {
                Console.WriteLine("nine");
            }
            else if (lastD == 0)
            {
                Console.WriteLine("zero");
            }
        }

        private int FindLastDigits(int lastDigs)
        {
            int num = int.Parse(Console.ReadLine());
            return lastDigs = num % 10;
        }
    
    }
}

 

Тагове:
0
Fundamentals Module
msmilkoff avatar msmilkoff 338 Точки

Подаваш му параметър, който не съществува. Никъде преди това не си инициализирал 'lastDigs'.Най-добре първо си чети числото от конзолата и след това подай на метода, вместо вътре в него да четеш числото.
 

int number = int.Parse(Console.ReadLine());
int lastDigit = FindLastDigit(number);
switch (lastDigit)
{
    case 1:
    Console.WriteLine("one");
    .......
}

[Edit] Не подавай нищо на Main метода и си направи FindLastDigit статичен.
 

0
13/02/2017 12:08:34
GapoBG avatar GapoBG 15 Точки

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

защо АЗ немога да пренасям число и да работя с него, не е ли това идеята на методите. Например искам да реша същата задача с три метода:

1) Принт

2)изчисляване на последното число

3)за намиране на словесно изписване

 

        private static void Main(int lastD, int lastDigs)
        {
            lastD = FindLastDigits(lastDigs);
            if (lastD == 1)
            {
                Console.WriteLine("one");
            }
 

-1
msmilkoff avatar msmilkoff 338 Точки

Мисля, че ти написах да не подаваш нищо на Main метода. Освен това е private. Трябва задължително да ти е public, за да тръгне програмата. Изгледай си пак лекцията за методи.

0
GapoBG avatar GapoBG 15 Точки

намерих ключа за бараката:

http://pastebin.com/VJCQLFXe

 

0
13/02/2017 13:51:52
AlexTasev avatar AlexTasev 65 Точки

Много ме изнерви тази задача. Бях задал на числото тип "int" и даде 60/ 100. Явно, че има тестове с "long" числа, докато в увловието пише "integer" и няма даден обхват на подаваните числа.

https://pastebin.com/Q46uhAnr

0
koknq avatar koknq 18 Точки

using System;

namespace ConsoleApp7
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            int lastnumber = (n) % 10;
            switch (n % 10)
            {
                case 0:
                    Console.WriteLine("zero"); break;
                case 1:
                    Console.WriteLine("one"); break;
                case 2:
                    Console.WriteLine("two"); break;
                case 3:
                    Console.WriteLine("three"); break;
                case 4:
                    Console.WriteLine("four"); break;
                case 5:
                    Console.WriteLine("five"); break;
                case 6:
                    Console.WriteLine("six"); break;
                case 7:
                    Console.WriteLine("seven"); break;
                case 8:
                    Console.WriteLine("eight"); break;
                case 9:
                    Console.WriteLine("nine"); break;
            }
        }
    }
}

0