تبلیغات :
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 4 از 4

نام تاپيک: یه نگاهی به این برنامه بندازید ببینید درسته !؟؟

  1. #1
    آخر فروم باز robert's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    تهران
    پست ها
    2,438

    پيش فرض یه نگاهی به این برنامه بندازید ببینید درسته !؟؟

    سلام دوستان !!
    استاد من ازمون خواسته بود یه برنامه تو سی پلاس پلاس بنویسیم که دوتا زمان بصورت سال و ماه و روز و دقیقه و ثانیه بگیره و باهم جمع بکنه و حاصل رو هم بصورت سال و ماه رو روز و دقیقه و ثانیه نشون بده !!!
    مثلا زمان اول رو 23 ثانیه و 24 دقیقه از ساعت 11 روز 23 ماه 6 سال 1985 بگیره و زمان دوم رو هم بصورت یکسال و دوماه و 23 روز و 5 ساعت و 36 دقیه و 45 ثانیه رو بگیره و محاسبه کنه که مجموع این دو زمان چی میشه که من این برنامه رو اینطوری نوشتم !!!

    //this program calculates the adition of two calender times

    #include<iostream.h>

    int main()
    {
    int y,y1,y2,M,M1,M2,d,d1,d2,h,h1,h2,m,m1,m2,s,s1,s2;//"s" displays seconds and "m" displays minutes
    cout<<"enter the first time";
    cin>>y1>>M1>>d1>>h1>>m1>>s1;//"M" displays months and "y" displays years
    {
    if((y1<0) || (M1<0) || (d1<0) || (h1<0) ||(m1<0)||(s1 <0))//"h" displays hours
    cout<<"time cant be nagetive";
    else
    if(( M1>12) || (d1>31) ||(h1>24)||(m1>60) ||(s1>60))
    cout<<"error";
    }
    {
    cout<<"enter your time";
    cin>>y2>>M2>>d2>>h2>>m2>>s2;
    if((y2<0) || (M2<0) || (d2<0) || (h2<0) ||(m2<0)||(s2 <0))
    cout<<"time cant be nagetive";
    else
    if(( M2>12) || (d2>31) ||(h2>24)||(m2>60) ||(s2>60))
    cout<<"error";
    }
    if(s1+s2>60)
    s=s1+s2-60;
    else
    s=s1+s2;
    cout<<s<<" seconds"<<endl;
    if(m1+m2>60)
    m=m1+m2-60;
    else
    m=m1+m2;
    cout<<m<<" minutes"<<endl;
    if(h1+h2>24)
    h=h1+h2-24;
    else
    h=h1+h2;
    cout<<h<<" hours"<<endl;
    if(d1+d2>31)
    d=d1+d2-31;
    else
    d=d1+d2;
    cout<<d<<" days"<<endl;
    if(M1+M2>31)
    M=M1+M2-31;
    else
    M=M1+M2;
    cout<<M<<" months"<<endl;
    y=y1+y2;
    cout<<y<<" years"<<endl;
    return 0;
    }
    البته باید تو محیط سی پلاس پلاس copy paste بشه تا معلوم بشه چی به چی هست !!!
    حالا از شما خواهشمندم درست بودن syntacs و ظاهر و خوانایی برنامه رو تایید کنید !!
    ممنونم

  2. #2
    پروفشنال majid_kntu's Avatar
    تاريخ عضويت
    Jun 2006
    پست ها
    781

    پيش فرض

    ايراد 1:اگر كاربر هر قسمت ثانيه را در اولي و دومي 60 وارد كند حاصل جمع مي شود 120 و منهاي 60 مي شود 60

    راه حل:به جاي خط كد زير
    s=s1+s2-60
    از كد زير استفاده كنيد:
    s=(s1+s2)%60

    براي حالت s1+s2=60 هم فكري كنيد منطقي تر اين است كه در اين حالت به اندازه خارج قسمتدر تقسيم به 60 به دقيقه افزوده شود.

    ايراد 2:دقيقا همان ايراد بالا براي دقيقه و ساعت

    ايراد 3:همه ماه هاي ميلادي 31 روزه نيستند مثلا فوريه 29 روز و آپريل 30 روز است.

  3. #3
    آخر فروم باز robert's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    تهران
    پست ها
    2,438

    پيش فرض

    ايراد 1:اگر كاربر هر قسمت ثانيه را در اولي و دومي 60 وارد كند حاصل جمع مي شود 120 و منهاي 60 مي شود 60

    راه حل:به جاي خط كد زير
    s=s1+s2-60
    از كد زير استفاده كنيد:
    s=(s1+s2)%60

    براي حالت s1+s2=60 هم فكري كنيد منطقي تر اين است كه در اين حالت به اندازه خارج قسمتدر تقسيم به 60 به دقيقه افزوده شود.

    ايراد 2:دقيقا همان ايراد بالا براي دقيقه و ساعت

    ايراد 3:همه ماه هاي ميلادي 31 روزه نيستند مثلا فوريه 29 روز و آپريل 30 روز است.
    آهاااان
    دمت گرم مجید جون !!!
    هی با خودم میگفتم این برنامه یه عیبی داره اما حالیم نمیشد عیبش چیه !!!
    خیلی آقایی !!!

  4. #4
    پروفشنال majid_kntu's Avatar
    تاريخ عضويت
    Jun 2006
    پست ها
    781

    پيش فرض

    خواهش ميكنم !

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •