بدست آوردن مغلوب عدد در کنسول توسط متدها

abodan0631

New Member
دوستان کسی میدونه مشکل این برنامه کجاست؟
کد:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication3
{
    public class Program
    {
 
 
       public static void Main(string[] args)
        {
 
 
            int num;
            Console.Write("enter number:");
            num = Convert.ToInt32(Console.ReadLine());
            maghlob(num);
            Console.ReadLine();
        }
 
          public void maghlob(int a)
        {
         
            while (a > 0)
             
                Console.Write(a % 10);
                a = a / 10;
             
            
           
            }
        }
    }
 

the_king

مدیرکل انجمن
دوستان کسی میدونه مشکل این برنامه کجاست؟

متدی که static باشه فقط به متد ها و پروپرتی ها و متغیر های عمومی static دسترسی داره.
در کد تون Main یک متد static ئه اما maghlob بصورت static تعریف نشده، به همین جهت نمی توانید داخل Main متد maghlob رو فراخوانی کنید.
باید maghlob رو هم static تعریف کنید.

در ضمن حلقه while تون نیاز به { و } داشته که از قلم افتاده.

از اونجایی که حلقه while تون صرفا به شرط a > 0 بودن اجرا میشه، برای خود عدد 0
مغلوب رو نمایش نمیده. بهتره که حلقه while رو با do while عوض کنید تا شرط آخر حلقه قرار بگیره و برای عدد 0 هم کار کنه.

کد:
namespace ConsoleApplication3
{
    class Program
    {
        public static void Main(string[] args)
        {
            int num;
            Console.Write("enter number:");
            num = Convert.ToInt32(Console.ReadLine());
            maghlob(num);
            Console.ReadLine();
        }

        public static void maghlob(int a)
        {

            do
            {
                Console.Write(a % 10);
                a = a / 10;
            } while (a > 0);
        }
    }
}
 

جدیدترین ارسال ها

بالا