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

نام تاپیک: نشان دادن 2 عدد و تبدیل آن به کسر

  1. #1

    نشان دادن 2 عدد و تبدیل آن به کسر

    سلام دوستان.
    می خوام برنامه ای بنویسم که 2 عدد صحیح رو بگیره و نسبت آنها رو به اعشاری بنویسه! این نسبت هم همیشه بزرگتر یا مساوی یک باشه.
    منظورش اینه که 2 عدد رو بگیره و اون رو بصورت کسری نشون بده به طوری که عدد بزرگتر توی صورت کسر قرار بگیره!

    من تا اینجا کار کردم روش! ولی a و b رو نشون میده! دقیقا نمی دونم چی رو به چی باید نسبت بدم! برای نشون دادن کسر در سی چیکار باید کنیم؟

     int a,b;
    cout << "insert number";
    cin >> a >> b;

    if (a>b)
    cout << "a/b";
    else if (a<b)
    cout<< "b/a";


  2. #2
    کاربر دائمی آواتار amirtork
    تاریخ عضویت
    خرداد 1393
    محل زندگی
    Iran(Islamic Republic Of) / Tehran
    پست
    198

    نقل قول: نشان دادن 2 عدد و تبدیل آن به کسر

    سلام.
    مشکلی که در برنامه ی شما هست، این هست که شما a و b رو هم در "" قرار دادید! بنابراین std::cout هم 'a' و 'b' رو چاپ خواهد کرد و نه مقدار ذخیره شده در متغیر های a و b.
    برای اینکه مقدار یک متغیر رو در C++‎‎‎ به وسیله ی cout چاپ کنید باید اون رو در خارج از "" قرار بدید. مثلا:

    int myAge = 17;
    cout<<"My age is"<<myAge;


    در کد بالا، مقدار دخیره شده در متغیر myAge برابر 17 است. و خروجی برنامه برابر با : My age is 17 هست.

  3. #3
    کاربر دائمی آواتار ehsan_faal
    تاریخ عضویت
    خرداد 1392
    محل زندگی
    تهران
    پست
    325

    نقل قول: نشان دادن 2 عدد و تبدیل آن به کسر

    شرطتون هم کامل نیست.در صورت تساوی دو عدد هم باید یکی از اون دو تا کسر چاپ بشن.

  4. #4

    نقل قول: نشان دادن 2 عدد و تبدیل آن به کسر

    نقل قول نوشته شده توسط amirtork مشاهده تاپیک
    سلام.
    مشکلی که در برنامه ی شما هست، این هست که شما a و b رو هم در "" قرار دادید! بنابراین std::cout هم 'a' و 'b' رو چاپ خواهد کرد و نه مقدار ذخیره شده در متغیر های a و b.
    برای اینکه مقدار یک متغیر رو در C++‎‎‎‎ به وسیله ی cout چاپ کنید باید اون رو در خارج از "" قرار بدید. مثلا:

    int myAge = 17;
    cout<<"My age is"<<myAge;


    در کد بالا، مقدار دخیره شده در متغیر myAge برابر 17 است. و خروجی برنامه برابر با : My age is 17 هست.
    عذر خواهی می کنم سی++ این علامت رو "/" تقسیم حساب می کنه و کسری برام نشون نمی ده و میاد دو عدد رو تقسیم می کنه!

    نقل قول نوشته شده توسط ehsan_faal مشاهده تاپیک
    شرطتون هم کامل نیست.در صورت تساوی دو عدد هم باید یکی از اون دو تا کسر چاپ بشن.
    بله. درسته ولی فعلا مشکل بالا ایجاد شده!

  5. #5
    کاربر دائمی آواتار ehsan_faal
    تاریخ عضویت
    خرداد 1392
    محل زندگی
    تهران
    پست
    325

    نقل قول: نشان دادن 2 عدد و تبدیل آن به کسر

    برای نمایش اعشاری باید بدونید که تقسیمی که دو تا عملوندش int باشن یه int بر میگردونه.
    اگه مقدار عددیش رو میخواید اینجوری بنویسید:

    if(a>b)
    cout<<a<<"/"<<b<<"="<<static_cast<double>(a)/b<<endl;
    else if(b>a)
    cout<<b<<"/"<<a<<"="<<static_cast<double>(b)/a<<endl;

  6. #6
    کاربر دائمی آواتار amirtork
    تاریخ عضویت
    خرداد 1393
    محل زندگی
    Iran(Islamic Republic Of) / Tehran
    پست
    198

    نقل قول: نشان دادن 2 عدد و تبدیل آن به کسر

    نقل قول نوشته شده توسط forogh68 مشاهده تاپیک
    عذر خواهی می کنم سی++ این علامت رو "/" تقسیم حساب می کنه و کسری برام نشون نمی ده و میاد دو عدد رو تقسیم می کنه!



    بله. درسته ولی فعلا مشکل بالا ایجاد شده!
    بله :-) سی پلاس پلاس به طور پیشفرض / رو به عنوان عملگر تقسیم میشناسه، اما همونطور هم که در بالا اشاره کردم، مشکل شما این هست که 'a' و 'b' رو هم در "" قرار دادید، / باید در "" قرار میگرفت، کاری به اون نداشتم.
    کدی هم که جناب آقای ehsan_faal قرار دادن خیلی کامله، اما یه تیکه کوچیک در حد یک کاراکتر رو فراموش کردن قرار بدن که اون هم = هست، برای یکی از شرط های if در بالا در کنار > یا < یک = قرار بدید تا در صورت برابری دو متغیر هم، کسر رو نمایش بده.

  7. #7
    کاربر دائمی آواتار ehsan_faal
    تاریخ عضویت
    خرداد 1392
    محل زندگی
    تهران
    پست
    325

    نقل قول: نشان دادن 2 عدد و تبدیل آن به کسر

    آخه خودشون گفتن توی این کد مساوی مشکلی ایجاد نمیکنه ،گفتم شاید میخوان حالت تساوی رو ignore کنن.
    Thanks bro

  8. #8

    نقل قول: نشان دادن 2 عدد و تبدیل آن به کسر

    نقل قول نوشته شده توسط ehsan_faal مشاهده تاپیک
    برای نمایش اعشاری باید بدونید که تقسیمی که دو تا عملوندش int باشن یه int بر میگردونه.
    اگه مقدار عددیش رو میخواید اینجوری بنویسید:

    if(a>b)
    cout<<a<<"/"<<b<<"="<<static_cast<double>(a)/b<<endl;
    else if(b>a)
    cout<<b<<"/"<<a<<"="<<static_cast<double>(b)/a<<endl;
    بله سپاسگذارم از زحمت شما و اون دوست محترم دیگرمون.
    عذر می خوام میشه در خصوص این تیکه <<static_cast<double> کمی توضیح بفرمایید؟

  9. #9
    کاربر دائمی آواتار ehsan_faal
    تاریخ عضویت
    خرداد 1392
    محل زندگی
    تهران
    پست
    325

    نقل قول: نشان دادن 2 عدد و تبدیل آن به کسر

    متن کتاب دایتل:

    static_cast<double>(a)

    عملگر قالب ریزی ای است که نسخه ای موقتی از عملوند خود (a) را ایجاد میکند.
    مقداری که در a ذخیره شده هنوزم هم یک int است اما نسخه double آن در این تقسیم استفاده میشود.
    آخرین ویرایش به وسیله ehsan_faal : جمعه 19 تیر 1394 در 23:47 عصر

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

  1. سوال: در مورد نشان دادن عدد روی تکس باکس
    نوشته شده توسط vahidmasoudi1391 در بخش VB.NET
    پاسخ: 1
    آخرین پست: چهارشنبه 21 آبان 1393, 11:55 صبح
  2. نشان دادن عدد فارسی
    نوشته شده توسط shahram hosseini در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: چهارشنبه 07 فروردین 1392, 15:43 عصر
  3. حرفه ای: نشان دادن عدد در کنار نود هر درخت
    نوشته شده توسط saeed31641 در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: جمعه 20 بهمن 1391, 17:37 عصر
  4. سوال: نشان دادن عدد کامل double
    نوشته شده توسط man_iran در بخش C#‎‎
    پاسخ: 10
    آخرین پست: دوشنبه 14 مرداد 1387, 09:52 صبح
  5. نشان دادن قسمت صحیح عدد بدون گرد کردن
    نوشته شده توسط jalalniknam در بخش Access
    پاسخ: 2
    آخرین پست: شنبه 21 مرداد 1385, 10:42 صبح

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

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