نمایش نتایج 1 تا 7 از 7

نام تاپیک: چهار عمل اصلی بر روی دو عدد در #c

  1. #1
    کاربر جدید آواتار C#‎ Student
    تاریخ عضویت
    اردیبهشت 1392
    محل زندگی
    تهران
    پست
    9

    چهار عمل اصلی بر روی دو عدد در #c

    با سلام.
    چرا توی برنامه زیر حاصل " تقسیم" به صورت عدد حقیقی به نمایش در میاد؟
    من "تقسیم" رو با متد Double و Float امتحان کردم ولی حاصل تقسیم بهصورت عدد حقیقی نمایش داده میشه. دلیلش چیه؟
    یا بهتر بگم اشکال برنامه زیر چیه ؟

    ممنون.
    کد:
    class Program
    {
    static void Main(string[] args)
    {
    int number1, number2, jam, tafrigh, zarb, baghimande;
    float taghsim;
    Console.WriteLine(" Enter Your First Integer Number ");
    number1 = Int32.Parse(Console.ReadLine());
    Console.WriteLine(" Enter Your Second Integer Number ");
    number2 = Int32.Parse(Console.ReadLine());
    jam = number1 + number2;
    tafrigh = number1 - number2;
    zarb = number1 * number2;
    taghsim = number1 / number2;
    baghimande = number1 % number2;
    Console.WriteLine(number1 + " + " + number2 + " = " + jam);
    Console.WriteLine(number1 + " - " + number2 + " = " + tafrigh);
    Console.WriteLine(number1 + " * " + number2 + " = " + zarb);
    Console.WriteLine(number1 + " / " + number2 + " = " + taghsim);
    Console.WriteLine(number1 + " % " + number2 + " = " + baghimande);

    }
    }
    }

  2. #2
    کاربر تازه وارد آواتار مهدی اسماعیلی
    تاریخ عضویت
    اردیبهشت 1392
    محل زندگی
    اصفهان
    پست
    96

    Arrow نقل قول: چهار عمل اصلی بر روی دو عدد در #c

    سلام،
    به خاطر اینکه number1 و number2 از نوع int هستند . . .
    شما مثلا number1 را عدد 2.5 وارد میکنید ، اما داخل number1 عدد 2 قرار میگیره . . . .
    بهتره بقیه ی متغیر ها هم از نوع float یا double بگیرید . . .
    موفق باشید ../.

  3. #3
    کاربر تازه وارد آواتار مهدی اسماعیلی
    تاریخ عضویت
    اردیبهشت 1392
    محل زندگی
    اصفهان
    پست
    96

    Arrow نقل قول: چهار عمل اصلی بر روی دو عدد در #c

    کد اصلاح شده :


    float number1, number2, jam, tafrigh, zarb, baghimande;
    float taghsim;
    Console.WriteLine(" Enter Your First Integer Number ");
    number1 = Convert.ToSingle(Console.ReadLine());
    Console.WriteLine(" Enter Your Second Integer Number ");
    number2 = Convert.ToSingle(Console.ReadLine());
    jam = number1 + number2;
    tafrigh = number1 - number2;
    zarb = number1 * number2;
    taghsim = number1 / number2;
    baghimande = number1 % number2;
    Console.WriteLine(number1 + " + " + number2 + " = " + jam);
    Console.WriteLine(number1 + " - " + number2 + " = " + tafrigh);
    Console.WriteLine(number1 + " * " + number2 + " = " + zarb);
    Console.WriteLine(number1 + " / " + number2 + " = " + taghsim);
    Console.WriteLine(number1 + " % " + number2 + " = " + baghimande);


    برای تبدیل string (داده ورودی) به نوع اعشاری از متد Convert.ToSingle استفاده شده . . .

  4. #4
    کاربر جدید آواتار C#‎ Student
    تاریخ عضویت
    اردیبهشت 1392
    محل زندگی
    تهران
    پست
    9

    نقل قول: چهار عمل اصلی بر روی دو عدد در #c

    ممنون از پاسخت.
    ولی یه مشکلی هست و اون اینکه مثلا من Num1 رو عدد 9 میگیرم و Num2 رو عدد 2 . من دوتا عدد رو حقیقی (Int) فرض کردم. حاصل تقسیم هم 4.5 میشه که عدد اعشاریه (Double).
    چرا باید Num1 و Num2 رو Double فرض کنم؟
    من میخوام تمام داده ها اعداد حقیقی باشه ولی در قسمت محاسبه "تقسیم" , اعداد رو در صورت نیاز اعشاری نشون بده.

    ممنون میشم توضیح بدین..

  5. #5
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: چهار عمل اصلی بر روی دو عدد در #c

    نیازی نیست تمام داده های را float کنی , فقط برای ضرب بهتره long و برای تقسیم double یا float
    کدت رو به صورت زیر اصلاح کن (حاصل تقسیم عدد صحیح بر عدد صحیح , صحیحه ولی اگر یکی یا هردوی آنها اعشاری باشند خروجی اعشاریه)
    taghsim =(float) number1 / number2

  6. #6

    نقل قول: چهار عمل اصلی بر روی دو عدد در #c

    نقل قول نوشته شده توسط wolf_majid مشاهده تاپیک
    نیازی نیست تمام داده های را float کنی , فقط برای ضرب بهتره long و برای تقسیم double یا float
    کدت رو به صورت زیر اصلاح کن (حاصل تقسیم عدد صحیح بر عدد صحیح , صحیحه ولی اگر یکی یا هردوی آنها اعشاری باشند خروجی اعشاریه)
    taghsim =(float) number1 / number2
    ببخشید 3 تقسیم بر 2 صحیح میشه حاصلش یا اعشاری ؟

    باید جملتون را اینجوری اصلاح کنید
    حاصل تقسیم اعداد صحیح (فرد بر فرد) و (زوج بر زوج) عدیدی صحیح است

  7. #7
    کاربر دائمی آواتار wolf_majid
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان
    پست
    534

    نقل قول: چهار عمل اصلی بر روی دو عدد در #c

    نقل قول نوشته شده توسط mehrdad1991h مشاهده تاپیک
    ببخشید 3 تقسیم بر 2 صحیح میشه حاصلش یا اعشاری ؟
    حاصل تقسیم 3 بر 2 در صورتی که هر دو از نوع صحیح باشند میشه 1 (صحیح) نه 1.5 (اعشاری)

    باید جملتون را اینجوری اصلاح کنید
    حاصل تقسیم اعداد صحیح (فرد بر فرد) و (زوج بر زوج) عدیدی صحیح است
    منطقا" اینطوری نیست
    به مثال زیر توجه کنید
    17/7؟

    منطق میگه میشه اعشاری و جواب : 2.4
    ولی کامپایلر سی شارپ از اونجایی که هر دو صحیح تعریف شده اند فقط میدونه باید خروجی صحیح برگردونه (براش تعریف شده) پس جواب میشه 2

تاپیک های مشابه

  1. چهار عمل اصلی دو عدد در مبنا های مختلف
    نوشته شده توسط mahdi.manian در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: جمعه 06 اردیبهشت 1392, 20:37 عصر
  2. سوال: کلاس بندی برنامه ی SpreadSheet و اعمال چهار عمل اصلی (ضرب و جمع و ...) به روی دو سلول
    نوشته شده توسط ALI REZA 2909 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: چهارشنبه 03 خرداد 1391, 00:41 صبح
  3. چهار عمل اصلی در اسمبلی
    نوشته شده توسط Metaldevil در بخش برنامه نویسی اسمبلی خانواده x86
    پاسخ: 20
    آخرین پست: سه شنبه 22 آذر 1390, 11:52 صبح
  4. سوال: تبدیل یک عدد به مبنای2(باینری) در C فقط با استفاده از Printf و چهار عمل اصلی
    نوشته شده توسط Nice-Boy در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 4
    آخرین پست: یک شنبه 09 اسفند 1388, 19:43 عصر
  5. چهار عمل اصلی در چندجمله ای
    نوشته شده توسط aabbcc در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 3
    آخرین پست: چهارشنبه 20 دی 1385, 02:45 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •