اطلاعیه

Collapse
No announcement yet.

مشکل ابتدایی در C++

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل ابتدایی در C++

    سلام دوستان،از امروز شروع کردم C++ رو به صورت کامل یاد بگیرم ولی همون اول به یه مشکل خوردم که هر کاری میکنم حل نمیشه!
    یه برنامه ساده است که سه تا عدد رو میگیره و میانگینشونو میده.اما فقط عدد صحیح رو بهم میده و قسمت های اعشاریشو نمیده!مشکل کجاست؟؟

    این برنامه رو نوشتم:


    #include<iostream.h>
    #include<conio.h>
    void main()
    {
    int a,b,c;
    float d;
    cout<<"First num? \n";
    cin>>a;
    cout<<"Second num? \n";
    cin>>b;
    cout<<"Third num? \n";
    cin>>c;
    d=(a+b+c)/3;
    cout<<d;
    getch();
    }

    #2
    پاسخ : مشکل ابتدایی در C++

    int/int = int
    int/float = float

    میتونید اینطوری بنویسید
    d=(a+b+c)/3.0;

    یا ..
    d=(float)(a+b+c)/3;


    در این خط، هر دو طرف تقسیم، int هستن و بنابراین نتیجه تقسیم هم int حساب میشه باید یکی از 2 طرف رو اعشاری بگیرید
    زندگی پر ز وجود است ولی ..
    ما چه را می خواهیم چه را می جوییم که لب چشمه ی امید اینچنین نا امیدانه به سرابی تلخ مینگریم...

    دیدگاه


      #3
      پاسخ : مشکل ابتدایی در C++

      نوشته اصلی توسط afceaglee2013
      int/int = int
      int/float = float

      میتونید اینطوری بنویسید
      d=(a+b+c)/3.0;

      یا ..
      d=(float)(a+b+c)/3;


      در این خط، هر دو طرف تقسیم، int هستن و بنابراین نتیجه تقسیم هم int حساب میشه باید یکی از 2 طرف رو اعشاری بگیرید
      بابت پاسخ سریعتون بسیار سپاس گزارم...موفق باشید :smile:

      دیدگاه


        #4
        پاسخ : مشکل ابتدایی در C++

        البته اگه متغیر d رو float تعریف کنید با همون برنامه اول هم جواب میده .

        دیدگاه


          #5
          پاسخ : مشکل ابتدایی در C++

          نوشته اصلی توسط ababakz
          البته اگه متغیر d رو float تعریف کنید با همون برنامه اول هم جواب میده .
          نه جواب نمیده !
          دوستمون هم از اول این کارو کرده بودن!
          پشت به کنکور ، رو به سربازی...

          دیدگاه

          لطفا صبر کنید...
          X