صفحه 2 از 8 اولاول 1234 ... آخرآخر
نمایش نتایج 41 تا 80 از 320

نام تاپیک: مجموعه برنامه های نوشته شده به زبان C و ++C

  1. #41
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    35
    پست
    111

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    یک برنامه بسیار آموزشی و جالب ، که یک منوی زیبا رو در محیط داس میسازه ، این برنامه کار آقای Vivek Patel هستش. چیز جالبیه حتما دانلود کنید. در ضمن باید آدرس bgi سیستم خودتون رو در سورس قرار بدید.
    فایل های ضمیمه فایل های ضمیمه

  2. #42
    کاربر دائمی آواتار alihassanabadi
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    Tehran
    پست
    372

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    برنامه زیر کد مربوط به اجرای یک پیانوی کامپیوتری را نشان میدهد. در این برنامه به جای تابع getch() از پورت 60h برای بدست آوردن یک کلید استفاده شده است.
    برای افزایش سرعت وهمچنین به منظور کاهش محاسبات از آرایه دو بعدی
    notes[7][12] استغاده شده است.

    دست هایی که کمک میکنند مقدس تر از لب هایی هستند که دعا میکنند.کورش کبیر
    فایل های ضمیمه فایل های ضمیمه

  3. #43
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    35
    پست
    111

    Smile سه تا برنامه ریاضی

    خوب امروز سه تا سورس دیگه از آرشیو برنامه های نوشته شدم گذاشتم که مطالعه ی سورس این برنامه ها برای کسانی که تازه برنامه نویسی رو شروع کرده اند خیلی مفیده.


    در ابتدا چند تا نکته و یاد آوری ریاضی :


    1) مقسوم علیه های یک عدد هیچ وقت بزرگتر از خود عدد نیستند.

    2) عدد 1 مقسوم علیه تمام اعداد است

    3) بزرگترین مقسوم علیه یک عدد به چز خود عدد حداکثر برابر نصف آن عدد است.

    4) اعداد اول اعدادی هستند که فقط بر خود و یک بخش پذیر هستند

    5) عدد کامل عددی ایست که مجموع مقسوم علیه های آن به جز خود آن عدد برابر با آن عدد است مثل: 6=3+2+1 که 3و2و1 مقسوم علیه های 6 هستند.

    6) با کمی جستجو در اینترنت میتوانید اطلاعات زیادی را در این موارد بدست آورید

    در این پست سه تا برنامه گذاشتم که به ترتیب:
    1) یه ورودی صحیح مثبت میگیرد و تا آن عدد اعداد اول را چاپ میکند
    2) یه ورودی صحیح مثبت میگیرد و تا آن عدد اعداد کامل را چاپ میکند
    3) یه ورودی میگیرد و مقسوم علیه های آن عدد و مجموع مقسوم علیه های آن را چاپ میکند

    نکته: ورودی میتونه یه عدد خیلی بزرگ باشه حتی از میلیارد بیشتر یعنی اینکه اگر عدد 100000000000 صد میلیارد رو وارد کنید تمام اعداد اول تا خود اون عدد رو چاپ میکنه برای همین من متغیر ها رو register unsigned long int گرفتم. دیگه باقیش با خودتون

    نکته: برنامه تحت کامپایلر Turbo C++‎‎‎ هستند و من قبل از آپلود کارکرد اونها رو چک کردم.

    نکته: وقت کردین یه سر به بلاگ من بزنید . من در رابطه با روباتیک مینویسم. خوشحال میشم. فعلا بای






    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله khafan_bat : جمعه 08 آبان 1388 در 20:48 عصر

  4. #44
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    35
    پست
    111

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    قضیه مغلوب یک عدد که میدونید چیه...برنامشو گذاشتم.
    فایل های ضمیمه فایل های ضمیمه

  5. #45
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    35
    پست
    111

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    این برنامه هم خیلی زیباست. من این رو با سه تا حلقه ی تو در توی for که توی یه If هستش نوشتم. نام برنامه ساعت هستش. بله ساعت.

    ابتدا از کاربر سه تا عدد میگیره که به ترتیب ساعت ، دقیقه و ثانیه هستش. قابل توجه که ساعت رو باید بصورت 24 ساعته وارد کنید.

    بعدش برنامه ساعت رو نشون میده و شروع به شمارش میکنه و ازای هر چرخش حلقه ی for سوم که ثانیه هستش یک حلقه ی دومی (دقیقه) یه دونه افزایش پیدا میکنه و به ازای چرخش کامل حلقه ی دومی حلقه ی اول (ساعت) یک مقدار افزایش پیدا میکنه.

    البته این برنامه رو به صورت دیگری هم میشد نوشت. شاید بعدا براتون گذاشتم.

    دستور شرطی اول هم چک میکنه که اعداد رو درست وارد کردید یا نه! مثلا اگه ثانیه رو 70 بزنید. برنامه خطا میده و از کاربر میپرسه آیا دوست دارید دوباره سعی کنید؟ که اگه جواب True f بود مرحله ی اول یه بار دیگه اجرا میشه وگرنه از برنامه خارج میشه.

    دوستان میشه طوری این برنامه رو نوشت که ساعت رو از سیستم بگیره و نمایش بده اما اینجا ما به استراکچر برخورد میکنیم که برای تازه کارا یه کوچولو سخته.
    نکته: این برنامه تحت کامپایلر turbo C++‎ Dos هستش قبل از آپلود صحت اون تست شده

    تا یادم نرفته برای خروج از برنامه باید کلید های ctr ,Pause Break رو از کیبورد فشار بدید.

    فایل های ضمیمه فایل های ضمیمه

  6. #46

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    تغییر رنگ نوشته متن :

    کامپایلر : Borland C++‎ 5.02
    روش اول :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <iostream>
    #include <conio>
    int main(){
    for(int i=1;i<=4;i++){
    textcolor(i+8);
    cprintf("Welcome to C++‎ World");
    cout<<endl;}
    getch();
    }


    روش دوم :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <iostream>
    #include <conio>
    #include <stdlib>
    int main(){
    for(int i=1;i<=4;i++){
    system("color 0A");
    cout<<"Welcome to C++‎ World\n";
    }
    getch();
    }






  7. #47

    Post نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    این یه برنامه ماشین حسابه که خودم نوشتم، بدک نیست.
    فایل های ضمیمه فایل های ضمیمه

  8. #48

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    اینم برنامه ی چک کردن پسورده
    ابتدا یه رشته 5 کاراکتری میگیره و بعد از شما میخواهد که همونو دوباره وارد کنید اگه درست بود اوکی میده در غیر اینصورت دوباره اجرا میشه
    برای خروج هم باید Esc رو بزنید.
    در ضمن همون ماشین حساب قبلیم رو هم با این پسورد تلفیق کردم.
    فایل های ضمیمه فایل های ضمیمه

  9. #49

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    نقل قول نوشته شده توسط saeed karimi مشاهده تاپیک
    سلام.کد بازی دوز به زبان C++‎‎‎‎ را می خواهم

    شاید این به دردت بخوره
    بفرما(البته خودم ننوشتم)
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله masoudlotfi : پنج شنبه 21 آبان 1388 در 21:39 عصر دلیل: افزودن ضمیمه

  10. #50
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    35
    پست
    111

    برنامه جدید

    این برنامه ای که امروز گذاشتم کلیه ی اعداد سه رقمی (یعنی بین 100 تا کوچکتر از 1000) که اصلا رقم صفر ندارن رو چاپ میکنه مثله 223. برای نوشتن این بنرامه دو تا نکته رو باید توجه کرد :

    1 ) رقم صدگان کلیه ی اعداد سه رقمی مخالف صفر هستش پس باید دو رقم دیگر رو بررسی کرد.

    2 ) باقیمانده ی حاصل از تقسیم هر عددی بر 10 برابر است با یکان اون عدد.

    3 ) باقیش با خودتون ! امیدوارم این برنامه هایی که میزارم برای دوستان تازه کار مفید باشه !
    فایل های ضمیمه فایل های ضمیمه

  11. #51
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    35
    پست
    111

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    خروجی این برنامه جدول کاراکتر های اسکی + شماره ی مربوط به اونهاست.
    برای تنوع این یکی رو با C نوشتم.

    www.innovation.iranblog.com
    فایل های ضمیمه فایل های ضمیمه

  12. #52
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    35
    پست
    111

    دنباله ی فیبوناچی !

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

    دنباله ی فیبوناچی: دنباله ای که هر جمله برابر است با مجموع دو جمله ی قبلی خودش ! با این قرار داد که جمله ی اول همیشه 0 و جمله ی دوم همیشه 1 است بنا بر این جمله ی سوم می شود مجموع دو جمله ی ماقبل خود یعنی 0+1 که می شود 1. به طور کلی:
    f=0,1,1,2,3,5,8....jn

    حالا ما برنامه ای می نویسم که n رو از کاربر بگیره و تا جمله ی n ام رو به خروجی ببره !

    برای این کار چند تا روش هست که یکیش استفاده از تابع بازگشتی هستش و دیگری استفاده از جابه جایی متغیر ها که من این برنامه رو با روش دوم نوشتم و از یک آرایه از نوع صحیح با دو تا خونه استفاده کردم . شما می تونید به جای این کار دو تا متغیر مثلا a و b بگیرید. در کل امیدوارم این برنامه مفید واقع بشه !!!

    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله khafan_bat : پنج شنبه 28 آبان 1388 در 18:56 عصر

  13. #53

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    1.برنامه جمع و ضرب و تفریق دو ماتریس 3*3
    2.برنامه رسم یک شکل سه بعدی زیبا
    3.فایل mouse.h برای کار با موس(این فایلو به راحتی نمیتونین پیدا کنید.استادمون برامون فرستاد)
    4.نمونه برنامه کار با موس.(فایل mouse.h رو تو شاخه include باید کپی کنید)این برنامه شبیه برنامه paint میمونه
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله masoudlotfi : چهارشنبه 27 آبان 1388 در 12:54 عصر

  14. #54
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    35
    پست
    111

    تشکر

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

    (لطفا برای حفظ نظم تاپیک به این نوشته ی من پاسخ ندهید و به آپلود برنامه های خود ادامه دهید.)


    آخرین ویرایش به وسیله khafan_bat : چهارشنبه 27 آبان 1388 در 19:10 عصر

  15. #55
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    35
    پست
    111

    پیاده سازی الگوریتم خورد کردن اسکناس درشت به اسکناس یا سکه های کوچکتر

    من با این برنامه خیلی حال میکنم !

    یه بار مبلغ 50 هزار تومان رو در خودپرداز وارد کردم و منتظر موندم تا پول رو بگیرم و برم . دیدم که 50 هزار تومان رو به صورت دو تا اسکناس 5 هزار تومانی ، 20 اسکناس 2 هزار تومانی و 10 اسکناس 1000 تومانی به من داد. !! خیلی برام جالب بود و فکر من رو به خودش مشغول کرد از اونجایی که میتونست این پول رو جور دیگه ای هم به من بده ولی نداد. همون لحظه این کار رو برای مبلغ 100 هزار تومان تست کردم دیدم این دفعه یه دونه اسکناس 50 هزار تومانی داد و بقیه رو مثله قبلی ! مطمئن شدم که یه الگوریتم تمیزی پشت این قضیه هستش که با سیستم های الکترونیکی و مکانیکی دستگاه ترکیب و هماهنگ شده و این سیستم رو تشکیل داده تا اینکه امشب این برنامه رو نوشتم !! شما میتونید این برنامه و الگوریتم رو تعمیم بدین و نوع پیشرفته ی اون رو هم بنویسید ! دیگه باقیش با خودتون. این برنامه ای که نوشتم تمام حالاتی رو که میشه یه اسکناس هزار تومانی رو به اسکناس های 500 تومانی ، 200 تومانی ، 100 تومانی ،50 تومانی، 20 تومانی و 10 تومانی خورد کرد محاسبه و چاپ میکنه ! برای مثال دو خط زیر دو تا از هزاران خروجی این برنامه است:

    1000= 1*500 + 2*200 + 1*100

    یعنی: هزار تومن میشه یه دونه 500 تومنی + دو تا 200 تومنی + یه دونه 100 تومنی

    و همچنین :

    1000= 0*500 + 4*200+0*100+4*50

    شما دقیقا با کار روی این پروژه می تونید اون رو بسط داده و عین دستگاه خودپرداز رو شبیه سازی کنید که مثلا کاربر عدد رو وارد کنه و بر اساس مقدار پولی که می خواد و تعداد اسکناس هایی که از هر مقدار در انبار موجوده خروجی های ممکن رو چاپ کنه !!

    این مسئله میتونه کاندیدای طرح شدن در مسابقات ACM نوجوانان باشه (شاید هم تا به حال طرح شده). که هر سال در ایران در شریف برگزار میشه !

    شرح برنامه : به تعداد انوع اسکناس ها حلقه ی تو در تو داره یعنی از 6 حلقه ی تو در تو استفاده میکنه. بعد از چاپ هر خروجی یه مکث 500 میلی ثانیه ای گذاشتم که بتونیم خروجی ها رو ببینیم ! همش همین بود !! حالا دفعه های بعد پیشرفته ترش رو میزارم. اصل همین بود


    فایل های ضمیمه فایل های ضمیمه

  16. #56
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    35
    پست
    111

    پله ی اعداد

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


    فایل های ضمیمه فایل های ضمیمه

  17. #57
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    35
    پست
    111

    فیبوناچی به روش باز گشتی

    خوب یکی از دوستان چند وقت پیش این سوال رو تو بخش اصلی مطرح کرده بود. و من هم تو یکی دو پست قبل یه نمونه از مسئله ی فیبوناچی رو به روش غیر بازگشتی گذاشتم تا دوستان استفاده کنند ! حالا هم روش بازگشتی رو گذاشتم. زیبایی این برنامه و الگوریتم و قدرت کامپیوتر رو میشه در این برنامه دید. واقعا آدم لذت میبره وقتی به نحوه ی حل این مسئله توسط کامپیوتر دقت میکنه !! کل الگوریتم رو میتوان در نمودار زیر خلاصه کرد:
    مثله اینکه نیما جان خوب به این تاپیک میرسن !!


    فایل های ضمیمه فایل های ضمیمه

  18. #58

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    سلام دوستان
    امروز یه سایت انگلیسی زبان پیدا کردم که نمونه کد های C++‎,c,java,asp,... رو به صورت رایگان در اختیارتون قرار میده.
    البته خوب نیست این کد ها رو کپی کنید و به عنوان پروژه تحویل بدید دانشگاه ، بلکه اونا رو خوب نگاه کنید و سعی کنید از اونا ایده بگیرید.
    این سایت زمینه هر برنامه نوشته شده رو هم مشخص کرده مثلا گرافیک ، الگوریتم ، بازی ، کار با فایل ، محاسباتی و ...

    اینم آدرسش :

    www.happycodings.com

  19. #59

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    1.برنامه ای که با استفاده از منوی انتخاب رنگ تم طرح کشیده شده را عوض می کند و مانند پنجره های ویندوز با زدن دکمه ضربدر قرمز بالای سمت راست از برنامه خارج می شود.
    2.برنامه ای که در هرلحضه موقعیت مکان نما رو چاپ میکنه.برای درک بهتر خود برنامه رو امتحان کنید.
    3.برای اجرای این دو برنامه به فایل mouse.h نیاز دارید که باید اونو تو شاخه include سیستم خود کپی کنید.
    این فایل تو پست های قبلیم هست.
    فایل های ضمیمه فایل های ضمیمه

  20. #60
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    35
    پست
    111

    فیبوناچی - الگوریتم سوم

    خوب من در این تاپیک دو تا الگوریتم برای فیبوناچی گذاشتم . الگوریتم سوم برای این مسئله یه الگوریتم حرفه ای تر هستش و مشکلات الگوریتم دوم (به روش بازگشتی) رو پوشش میده.

    در روش بازگشتی اگه دقت کرده باشید یه سری جمله ها چند بار حساب میشدند و این سرعت محاسبه رو میاره پایین. اما در این روش که از آرایه های پویا استفاده شده جمله ها تو خونه های آرایه ذخیره و هر بار که لازم شد خونده میشن. !

    این برنامه اول کاربر عدد n رو وارد میکنه بعد یه آرایه ی پویا به طول n ساخته میشه و بعدش n رو چاپ میکنه.

    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله khafan_bat : سه شنبه 03 آذر 1388 در 13:24 عصر

  21. #61

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    سلام
    این برنامه سرعت و زاویه از کاربر میگیره و در حین حرکت پرتابه شکل اون رو هم رسم میکنه
    فایل های ضمیمه فایل های ضمیمه

  22. #62
    کاربر جدید آواتار aminipour
    تاریخ عضویت
    آبان 1387
    محل زندگی
    مشهد
    پست
    9

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    سلام تبریک میگم به بچه های این تاپیک در حد خودش خوبه.
    تا حالا فکر کردین چه جوری میشه بدون حقه تکرار این کاراکترها رو چاپ کرد.
    *
    **
    ***
    ****
    *****
    ******
    *******
    ******
    *****
    ****
    ***
    **
    *
    که تعداد بیشترین ستاره(که در خط میانیه)همون مقدار n است که از کاربر میگیره.
    اول یکم فکر کنید.....
    .
    .
    .
    اینم کدش که با C نوشتم:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    #include<conio.h>
    #include<stdio.h>
    void star(unsigned char);
    void newline1(unsigned char);
    void newline2(unsigned char,unsigned char);
    void main()
    {
      unsigned char n;
      clrscr();
      printf("Enter your number:");
      scanf("%d",&n);
      newline1(n);
      newline2(1,n-1);
      getch();
    }//end main--------------------------------------------------------------------
    void newline1(unsigned char n)
    {
      if(n>1)
        newline1(n-1);
      star(n);
      printf("\n");
    }
    void newline2(unsigned char i,unsigned char n)
    {
      if(i<n)
        newline2(i+1,n);
      star(i);
      printf("\n");
    }
    void star(unsigned char n)
    {
      if(n>1)
        star(n-1);
      printf("*");
    }
    آخرین ویرایش به وسیله Nima_NF : پنج شنبه 05 آذر 1388 در 15:56 عصر

  23. #63
    کاربر جدید آواتار M4st3r_4w4r3
    تاریخ عضویت
    آذر 1388
    محل زندگی
    In the S3rvers
    پست
    19

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    یه سرس برای تمرین با کلاس ها رو هاردم پیدا کردم فکر کنم واسه دایتل بود ...
    با ++g هم کامپایلش کنید چون رو ویندوز نوشته نشده از getch خبری نیست ! ( خودتون اضافه کنید )
    در هر صورت میزارم ایشالله مفید باشه :


    /* soal :
    classi ba name rational ijad konid ke amale mohasebaty ra rooye adade kasry anjam dahad ...
    sepas barname ee benevisid ke az in class estefade konad . azaye dade ee class ebaratand az soorat va makhraje kasr
    va tavabe ye ozve class ebaratand az :
    *jam'e do kasr
    *zarbe do kasr
    *tafrighe do kasr
    *taghsime do kasr
    *chape kasr be soorate kasry
    *chape kasr be soorate ashary
    */
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    <div style="direction:ltr; width=100%" align="left">
    <div style="text-align: left;">#include<iostream>
    using namespace std;
    class rational {
    public:
    rational( float=0, float=1, float=0, float=1 );
    void setvalues( float, float, float, float );
    void mm();
    void jam();
    void tafrigh();
    void zarb();
    void taghsim();
    void printkasry();
    void printashary();
    private:
    float s;
    float m;
    float s2;
    float m2;
    float swap;
    float swap2;
    };
    rational::rational( float a, float b, float c, float d ) {
    setvalues( a, b, c, d );
    }
    void rational::setvalues( float a, float b, float c, float d ) {
    s=a;
    m=b;
    s2=c;
    m2=d;
    }
    void rational::mm() {
    if(m!=m2){
    if(m > m2) {
    if( int(m)%int(m2)==0 ) {
    m2=m;
    s2*=(m2/m);
    }
    else {
    s*=m2;
    s2*=m;
    m2*=m;
    m=m2;
    }
    }
    else {
    if ( int(m2)%int(m)==0 ) {
    m=m2;
    s*=(m/m2);
    }
    else {
    s*=m2;
    s2*=m;
    m2*=m;
    m=m2;
    }
    }
    }
    }
    void rational::jam() {
    mm();
    swap=s+s2;
    cout << "command : Jam\nMajmoo: " << swap << "/" << m << endl ;
    printkasry();
    printashary();
    }
    void rational::tafrigh() {
    mm();
    swap=s-s2;
    cout << "command : Tafrigh\nTafrigh: " << swap << "/" << m << endl;
    printkasry();
    printashary();
    }
    void rational::zarb() {
    swap=s*s2;
    swap2=m*m2;
    cout << "command : Zarb\nZarb: " << swap << "/" << swap2 << endl;
    printkasry();
    printashary();
    }
    void rational::taghsim() {
    swap=s*m2;
    swap2=s2*m;
    cout << "command : Taghsim\nTaghsim: " << swap << "/" << swap2 << endl;
    printkasry();
    printashary();
    }
    void rational::printkasry() {
    cout << "\n--------------------\nPrinting like num/num \n";
    cout << endl << "A/B :" << s << "/" << m << endl << "C/D :" << s2 << "/" << m2 << endl;
    }
    void rational::printashary() {
    cout << "\n--------------------\nPrinting like float number \n";
    cout << "A/B :" << s/m << "\nC/D :" << s2/m2 << endl;
    }</div>
    <div style="text-align: left;">int main()
    {
    float a,b,c,d;
    int com;
    cout << "help: A/B , C/D " << endl
    << " Commends:" << endl
    << " 1) Zarb" << endl
    << " 2) Taghsim" << endl
    << " 3) Jam" << endl
    << " 4) Tafrigh\n\n\n\n#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#"
    << "\nNow enter float numbers for A,B,C,D : " << endl;
    cin >> a >> b >> c >> d;
    rational kasr( a, b, c, d );
    cout << "Now enter number of your command : ";
    cin >> com;</div>
    <div style="text-align: left;">switch (com) {
    case 1 : kasr.zarb(); break;
    case 2 : kasr.taghsim(); break;
    case 3 : kasr.jam(); break;
    case 4 : kasr.tafrigh(); break;
    default: cout<<"your entered number for command is wrong ! \n Please replay the program again ..."; break;
    }
    cout << "\n program ended !\n\n\n\n";
    return 0;
    }</div></div>

  24. #64

    Cool نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    اینم یه برنامه آموزشی خوب برای اونایی که struct , اشاره گر , فایل و گرافیک رو خیلی خوب بلد نیستند . نظر دادن یادتون نره
    موفق باشین
    فایل های ضمیمه فایل های ضمیمه

  25. #65

    Cool نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    اینم یه برنامه آموزشی توپ که یه ساعته و کلی نکته آموزشی توش هست . ازجمله گرافیک.
    نظر دادن یادتون نره
    موفق باشین
    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: rar Time.rar‏ (105.0 کیلوبایت, 1099 دیدار)

  26. #66

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    برنامه ای که بروش بازگشتی عددی از مبنای 10 رو به هر مبنای تبدیل میکنه :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #include <iostream>
    #include <conio>
    void Base(int n,int x){
     if(n<x)
       cout<<n;
       else{
        Base(n/x,x);
         cout<<n%x;
         }
    }
    //=====================
    int main(){
    int x,n;
    cout<<"Enter a number in decimal :\n";
    cin>>n;
    cout<<"Enter base :\n";
    cin>>x;
    cout<<"------------------------\n";
    Base(n,x);
    getch();
    }






  27. #67

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #include <iostream>
    #include <conio>
    int main(){
    int n;
    cout<<"Enter a number :\n";
    cin>>n;
    int *a = new int[n+1];
    a[0] = 1;
    for(int i=1;i<=n;i++)
     a[i] = i*a[i-1];
     for(int i=0;i<=n;i++)
      cout<<i<<"! = "<<a[i]<<endl;
      getch();
      }







  28. #68

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    برنامه که بروش بازگشتی تعداد صفرهای سمت راست فاکتوریل یک عدد رو محاسبه میکنه :

    (سوال مسابقات ACM )

    مثلا 1000 فاکتوریل به چند صفر ختم میشود :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #include <iostream>
    #include <conio>
    #include <math>
    int Fact_zero_count(int n){
     if(n==0)
      return 0;
       else
        return floor(n/5)+Fact_zero_count(n/5);
    }
    //===========================
    int main(){
    int n;
    cout<<"Enter a number :\n";
    cin>>n;
    cout<<n<<"! has "<<Fact_zero_count(n)<<" zero at end . \n";
    getch();
    }






  29. #69
    کاربر دائمی آواتار mahdi87_gh
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    قزوین
    پست
    448

    نمایش روزها بصورت تقویمی

    سلام
    برنامه ای که نوشتم یه تقویم هستش که هم واسه تاریخ شمسی کار میکنه و هم واسه میلادی.
    هم میتونه یک ماه رو کامل نشون بده و هم می تونه nامین هفته سال رو نمایش بده.
    در ضمن همین برنامه چندین تابغ وجود داره:
    تبدیل تاریخ میلادی به شمسی
    تبدیل تاریخ شمسی به میلادی
    پیدا کردن اینکه یه تاریخ مشخص چند شتبه است؟
    امبدوارم برای دوستان مفید واقع شه
    فایل های ضمیمه فایل های ضمیمه

  30. #70
    کاربر دائمی
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    هه‌ورامان
    پست
    220

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    اینم یه برنامه نسبتا خوب در مورد کار با اصول شئ گرایی در ++C هست.
    این برنامه مربوط به پیاده سازی نظریه مجموعه ها به زبان ++C هست که امروز با همکاری دوست خوبم mortezamsp تکمیلش کردیم.
    در این برنامه از سازنده،سازنده کپی،سرباگذاری عملگرهای << و >> و + و - و =+ و = و ^ ،تعریف توابع خارج از کلاس و بعضی موارد دیگر استفاده شده.
    تنها مشکلی که این برنامه می تونه داشته باشه اینه که با حافظه پویا پیاده سازی نشده،من چون فعلا وقت ندارم از دوستان می خوام که این کار رو انجام بدن و اگه کسی انجام نداد خودم یه چند روزه دیگه انجامش میدم.
    امیدوارم مفید واقع بشه.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
       
    #include<iostream.h>
    #include<conio.h>
    #define maxsize 20
    //=================================================
    class Intset
    {
      private:
       int ma[maxsize],topindex;
      public:
       Intset();
       void insert(int);
       Intset operator+=(Intset);
       Intset operator-=(Intset);
       int found(int);
       void print(ostream & o);
       Intset operator+(Intset);
       Intset operator^(Intset);
       Intset operator-(Intset);
       int get(int);
       int card();
       void makeempty();
       friend ostream & operator << (ostream & ,Intset);
    };
    //=================================================
    Intset :: Intset()
    {
          topindex=-1;
    }
    void Intset :: insert(int x)
    {
         if(topindex==maxsize-1)
     cout<<"\n=======\ninsert error : stack is full !\n=======\n";
         else{
     if(!found(x))
     ma[++topindex]=x;
     
    }
    }
     
    ostream & operator <<(ostream & o ,Intset a)
    {
        a.print(o);
        return o;
    }
    Intset Intset :: operator+=(Intset  b)
    {
     for(int i=0;i<=b.card()-1;i++)
      insert(b.get(i));
     return *this ;
    }
    Intset Intset :: operator-=(Intset  b)
    {
     Intset rezualt ;
     for( int i=0 ; i<=topindex ;i++ )
      rezualt.insert( get(i) ) ;
     makeempty() ;
     for( i=0 ;i<=rezualt.topindex ;i++ )
      if( !b.found( rezualt.get(i) ) )
       insert( rezualt.get(i) ) ;
     return rezualt ;
    }
     
    void Intset :: print(ostream & o)
    {
     if(topindex==-1)
      o<<"Empty";
     else
     {
      o<<"{";
      for(int i=0;i<=topindex;i++)
       o<<ma[i]<<",";
      o<<"}";
        }
    }
    Intset Intset :: operator+(Intset  b)
    {
     Intset c;
     for(int i=0;i<=card()-1;i++)
      c.insert(get(i));
     for(i=0;i<=b.card()-1;i++)
      c.insert(b.get(i));
     return c;
    }
    Intset Intset :: operator^(Intset  b)
    {
     Intset c;
     for(int i=0;i<=card()-1;i++)
      for(int j=0;j<=b.card()-1;j++)
       if(found(get(i)&&b.found(get(i)) ) )
        c.insert(get(i));
     return c;
    }
    Intset Intset :: operator-(Intset  b)
    {
     Intset c;
     for(int i=0;i<=card()-1;i++)
      if(!b.found(get(i)) )
       c.insert(get(i));
     return c;
    }
    int Intset :: get(int i)
    {
     return ma[i];
    }
    int Intset :: card()
    {
     return topindex+1;
    }
    void Intset :: makeempty()
    {
           topindex=-1;
    }
    int Intset :: found(int x)
    {
        int i=( i<topindex? i : topindex );
     for( i=0 ; i<=topindex ;i++ )
      if(ma[i]==x)
       return 1 ;
     return 0 ;
    }
     
     
    //=================================================
    int main()
    {
     clrscr();
        Intset a,b1;
      
        int b;
     cout<<"\n=======Get a{} ";
        for(int i=1;i<=5;i++)
     {
      cout<<"\nEnter number a{"<<i<<"} :";
      cin>>b;
      a.insert(b);
     }
        cout<<"\na{} :"<<a<<endl;
      
        cout<<"\n=======Get b1{} :";
        for( i=1;i<=3;i++)
        {
     cout<<"\nEnter number b1{"<<i<<"} :";
     cin>>b;
     b1.insert(b);
        }
        cout<<"\nb1{} :"<<b1<<endl;
        Intset c;
        cout<<"\n=======\nnew intset c :"<<c<<endl<<"press any key";
     getch();
        c=b1;
        cout<<"\n=======\nc=b1 ==>c :"<<c<<endl<<"press any key";
     getch();
        c+=a;
        cout<<"\n=======\nc+=a ==>c :"<<c<<endl<<"press any key";
     getch();
        c-=a;
        cout<<"\n=======\nc-=a ==>c :"<<c<<endl<<"press any key";
     getch();
        c=a+b1;
        cout<<"\n=======\nc=a+b1 ==>c :"<<c<<endl<<"press any key";
     getch();
      
        c=a-b1;
        cout<<"\n=======\nc=a-b1 ==>c :"<<c<<endl<<"press any key";
     getch();
      
        c=a^b1;
        cout<<"\n=======\nc=a^b1 ==>c :"<<c<<endl<<"press any key";
     getch();
      
      
     return 0 ;
    }
    آخرین ویرایش به وسیله qanewaisi : سه شنبه 08 دی 1388 در 22:46 عصر

  31. #71

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    قابلیت های برنامه:
    وارد کردن اطلاعات دانشجویان؛جستجو بر اساس دو فیلد؛خذف دانشجو بر اساس دو فیلد؛ذحیره اطلاعات در فایل؛مرتب کردن اسامی بر اساس الفبای لاتین و.....
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    #include<string.h>
    #define MAX 100
    struct  student {
        char   name[10] ;
        float  avrage ;
        int    unit ;
        int    amount_course ;
        int student_number;
    } st[MAX];
    void first_evalution(void);
    void  enter(void);
    void search(void);
    void search2(void);
    void del_name(int);
    void  display(void);
    void top_student();
    void fail_student();
    void show(int *, int);
    void  title(int *);
    int menu_select(void);
    int spare_space(void) ;
    void save (void);
    void load(void);
    void in_style(int l);
    void delete_main(void);
    void delete_name2(void);
    void search_main(void);
    static int l;
    int main(void)
    {
       char choice ,ans;
       first_evalution();
       for(;;){
        choice = menu_select() ;
        switch(choice) {
            case 1: enter();in_style(l); break;
            case 2: search_main(); break ;
            case 3: top_student();  break;
            case 4: fail_student(); break ;
            case 5: delete_main();  break ;
         case 6: save();break;
         case 7: load();break;
         case 8: display();break;
         case 9:{
         printf("are you sure you want to quit ?(y/n)");
         ans=getche();
         clrscr();
         if(ans=='y')
          exit(0);break;    }
        }
       }
    }
    void first_evalution(void)
    {
     register int i ;
     for(i = 0; i < MAX; ++i)
         st[i].name[0] = '\0' ;
    }
    int menu_select(void)
    {
       char s[10];
       int g ;
     
       printf("\n\t(1) <<      enter information       >>");
       printf("\n\t(2) <<       search menu            >>");
       printf("\n\t(3) <<     show top students        >>");
       printf("\n\t(4) <<     show fail students       >>");
       printf("\n\t(5) <<        delete menu           >>");
       printf("\n\t(6)<<          save info            >>");
       printf("\n\t(7)<<          load info            >>");
       printf("\n\t(8)<<        display info           >>");
       printf("\n\t(9)<<      quit from program        >>");
       do {
      
      printf("\n\t      Please enter your choice(1-9): ") ;
      gets(s);
      clrscr();
      g = atoi(s);
           } while(g < 0 || g > 9) ;
       return (g) ;
    }
    void enter(void)
    {
     char name3[30];
       float grade, sum_grade = 0;
       int t,  unit, sum_unit = 0 ,j,i;
       t = spare_space() ;
       if(t == -1){
          printf("\n sorry the list is full.....press any key to continue");
          getch();
          return ;
       }
       printf("\n\t enter name:") ;
       gets(st[t].name) ;
         strcpy(name3,st[t].name);
         for(i=0;i<t && st[i].name[0] ;i++)
         {
       if(strcmp(st[i].name,name3)==0){
       printf("the similar name is already in the list. contine any way?(y,n)");
         if(getche()=='n')
         {
         clrscr();
         st[t].name[0]='\0';
       return ;}}
         }
       l++;
       clrscr();
       printf("\n\tenter student number:") ;
       scanf("%d", &st[t].student_number) ;
       clrscr();
     
       printf("\n\tenter number of course:") ;
       scanf("%d", &st[t].amount_course) ;
       clrscr();
       for(j = 1; j <= st[t].amount_course; j++) {
      
           printf("\n\tenter grade for course  %d:",j);
           scanf("%f", &grade) ;
           clrscr();
           printf("\n\tenter unit of course  %d:", j);
           scanf("%d", &unit) ;
           clrscr();
           sum_grade += grade * unit ;
           sum_unit += unit ;
       }
       st[t].unit=sum_unit;
       st[t].avrage = sum_grade / sum_unit ;
      
     }
      
      
    int spare_space(void)
    {
        register int i ;
        for(i = 0; st[i].name[0] && i< MAX ; ++i);
        if(i == MAX) return -1 ;
        return i ;
    }
    void delete_main(void)
    {
    char c[10];
    int h;
    do {
    printf("how do you want to delete info ?");
    printf("\n\t\t\t(1)=base on name");
    printf("\n\t\t\t(2)=base on student number");
    gets(c);
    clrscr();
    h=atoi(c);} while(h<0 || h>2);
    if(h==1){
    delete_name2();}
    if(h==2){
    del_name(l);}
    if(h!=1 && h!=2)
    return;
    }
     
    void del_name(int l)
    {
        int i ;
        char ans;
        printf("\n\tenter record #(0 - %d):",l) ;
        scanf("%d", &i) ;
        printf("are u sure you want to delete record %d?(y/n)");
        ans=getche();
        clrscr();
        if(ans=='y'){
      if( st[i].name[0]){
           st[i].name[0]='\0' ;
        printf("deleted  Successfully !!");}
           else if(!st[i].name[0])
           printf("this record is not in the list....press any key to continue...."); }
           getch();
           clrscr();
    }
    void delete_name2(void)
    {
     char name2[30],ans;
     int i,h,w=0;
     printf("\tenter a name to delete");
     gets(name2);
     printf("are you sure you want to delete %s information?(y/n)",name2);
     ans=getche();
     clrscr();
     if(ans=='y'){
     for(i=0;i<MAX;i++)
     {
      if(strcmp(st[i].name,name2)==0) {
       h=i;
       w=1;  }}
     if(w==1){
     st[h].name[0]='\0' ;
     printf("deleted  Successfully !!");
     }
     if(w==0) {
     printf("the one you are looking for is not in the list.press any key to continue.........."); }}
      getch();
      clrscr();
     
     }
    void display(void)
    {
        int i, r = 0;
         ;
        title(&r) ;
        for(i = 0; i < MAX; ++i)
           if(st[i].name[0])
        show(&r, i);
    gotoxy(114,r);
     
        printf("\n\t please  press any key to continue ") ;
        getch();
        clrscr();
    gotoxy(29,r+1);
        getch();
    }
    void fail_student(void)
    {
     int i, r=0 ,a=0;
     
        for(i = 0; i < MAX; ++i){
          if(st[i].name[0] && st[i].avrage < 12){
           a=1;
           title(&r);
      show(&r, i) ; }
        }
        if(a==0){
        printf("there is no fail student!");}
      
    gotoxy(25,r+1);
        printf(" please press any key to continue ") ;
        getch();
        clrscr();
      }
    void top_student(void)
    {
        int i, r=0 ,a=0;
     
        for(i = 0; i < MAX; ++i){
          if(st[i].name[0] && st[i].avrage >= 17){
           a=1;
           title(&r);
      show(&r, i) ; }
        }
        if(a==0){
        printf("there is no top student!");}
      
    gotoxy(25,r+1);
        printf(" please press any key to continue ") ;
        getch();
        clrscr();
      }
    void title(int *r)
    {
        *r = 1;
    gotoxy(25,*r);
        printf(" <<  all the  info in list are:  >>");
      
     
    gotoxy(6,*r+2);
        printf("     name       avrage     ");
        printf("   unit        amount_course            st_no      ");
    gotoxy(6,*r+3);
        printf("     ________     ________ ");
        printf("     ______     ______                 ____   ");
        *r = 4;
    }
    void show(int *r, int i)
    {
    gotoxy(14,*r);
        printf("%s ", st[i].name) ;
    gotoxy(26,*r);
        printf("%.2f ", st[i].avrage) ;
    gotoxy(40,*r);
        printf("%d ", st[i].unit) ;
    gotoxy(54,*r);
        printf("%d ", st[i].amount_course) ;
    gotoxy(70,*r);
        printf("%u ", st[i].student_number) ;
     (*r) ++ ;
    }
    void search_main(void)
    {
    char j[10];
    int y;
    do {
    printf("how do you want to search?");
    printf("\n\t\t\t(1)=base on name");
    printf("\n\t\t\t(2)=base on student number");
    gets(j);
    clrscr();
    y=atoi(j);} while (y<0 || y>2);
    if(y==1){
    search();}
    if(y==2){
    search2();}
    if(y!=1 && y!=2)
    return ;
    }
    void search(void)
    {
     int i,r=0,m=0,t=0;
     char name2[30];
     printf("enter a name to search");
      gets(name2);
      clrscr();
    for(i=0;st[i].name[0];i++)
    {
     if(strcmp(name2,st[i].name)==0){
     t=i;
      m=1; }}
      if(m==1){
     title(&r) ;
     show(&r, t);}
     if (m==0)
     
      printf("the one you are looking for is not in the list......press any key to continue");
      getch();
      clrscr();
    }
      
     
    void save(void)
    {
    FILE *fp ;
       register int i ;
       fp = fopen("project", "wb");
       if(!fp)  {
           printf("\n cannot open file press a key ...");
           getch() ;
        clrscr();
           return ;
       }
       for(i = 0 ; i < MAX ; i++)
         if(*st[i].name)
     fwrite(&st[i], sizeof(struct student), 1, fp) ;
        clrscr() ;
        gotoxy(20, 10) ;
        printf("data saved.press a key.");
        getch() ;
        clrscr();
    }
     
    void load(void){
    FILE *fp ;
       register int i ;
       fp = fopen("project", "rb");
       if(!fp) {
          printf("\n cannot open file press a key ...");
          getch() ;
       clrscr();
          return ;
       }
       for(i = 0 ; i < MAX; i++) {
         fread(&st[i], sizeof(struct student), 1, fp);
         if(feof(fp)) {
     clrscr() ;
     gotoxy(20,10) ;
     printf("data are  loaded.press a key...........");
     getch() ;
     clrscr();
     return ;
         }
       }
     
    }
      
     
    void search2(void)
    {
     int i,num2,r=0,a;
     printf("enter the student number for the one you are looking for");
     scanf("%d",&num2);
       a=0;
     for(i=0;i<MAX;i++){
     if(st[i].student_number==num2){
     a=1;
     title(&r);
     show(&r,i);}}
     if(a==0)
     printf("the one you are lookig for is not in the list...press any key to continue...");
     getch();
     clrscr();
    }
    void in_style(int l)
    {
     int i,j;
     char name2[30];
     struct student st1={0};
      for(i=l-1;i>0;i--){
       for(j=0;j<i;j++)
        if(strcmp(st[j].name,st[j+1].name)>0){
             st1=st[j];
             st[j]=st[j+1];
             st[j+1]=st1;
             }
      
     
    }
    return;
    }
    

  32. #72

    چاپ کردن عناصر یک آرایه بروش بازگشتی

    کد زیر بروش بازگشتی عناصر یک آرایه رو چاپ میکنه :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #include <iostream>
    #include <conio>
    void Print_array(int a[],int n){
    if(n==1)
     cout<<a[n-1]<<" ";
     else{
      Print_array(a,n-1);
       cout<<a[n-1]<<" ";
       }
    }
    //===============================
    int main(){
    int a[]={2,6,8,5,3};
    Print_array(a,5);
    getch();
    }






  33. #73

    جمع و ضرب دو عدد بروش بازگشتی

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #include <iostream>
    #include <conio>
    int Rec_Add(int a,int b){
     if(b==0)
      return a;
      else
       return Rec_Add(a+1,b-1);
    }
    //===========================
    int Rec_Multiply(int a,int b){
    if(b==1)
     return a;
     else
     return a+Rec_Multiply(a,b-1);
    }






  34. #74

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    تو این برنامه سعی کردم یه چیزی شبیه paint ویندوز بنویسم.
    امکانات اون نداره ولی فک کنم ارزش دیدن داشته باشه

    فایل mouse.h رو در فلدر include ذخیره کنید و project07 رو در bin.
    فایل های ضمیمه فایل های ضمیمه

  35. #75

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    بزرگترین مقسوم علیه مشترک دو عدد به صورت بازگشتی
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #include <conio.h>
    #include <iostream.h>
    int gcd(int,int);
    int main()
    {
     int x,y;
     cout<<"enter amount for x and y:";
     cin>>x>>y;
     int k=gcd(x,y);
     cout<<k;
     getch();
     return 0;
    }
    int gcd(int x,int y)
    {
     if(y==0)
      return x;
     else
      return gcd(y,x&y);
    }

  36. #76

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    محاسبه توان یک عدد به صورت بازگشتی
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #include <iostream.h>
    #include <conio.h>
    int power(int,int);
    int main()
    {
     int exp,base;
     cout<<"enter base,exp:";
     cin>>base>>exp;
    int h=power(base,exp);
     cout<<"it equals by:"<<h;
     getch();
     return 0;
    }
    int power(int base,int exp)
    {
     if(exp==1)
      return base;
     else
      
      return base*power(base,exp-1);
    }

  37. #77
    کاربر دائمی آواتار khafan_bat
    تاریخ عضویت
    دی 1387
    محل زندگی
    منظومه ی شمسی-کره زمین-قاره ی آسیا-ایران-گیلان-لاهیجان
    سن
    35
    پست
    111

    نحوه ی کارکرد تو تابع strlwr و strupr

    مدتی نبودم . دارم رو برنامه ی کتابخونه کار می کنم . تا حالا یه 1000 خطی شده ، تموم شد میزارم واسه دانلود !

    و اما شما دوست عزیز :

    تا به حال دقت کردی توابع strlwr و strupr چگونه کار می کنند ؟
    خیلی ساده .... !
    - در واقع کاراکتر در ++C عبارت است از یک کد 8 بیتی اسکی
    - تابع اول حروفی از یک آرایه رو که بزرگ هستند کوچک و سپس چاپ میکنه
    - تابع دوم حروفی از یک آرایه رو که کوچک هستند بزرگ و سپس چاپ میکنه
    - این لینک ها هم مفید خواهند بود اگه به دنبال حرفه ای تر از اون چیزی هستی که من واسه دانلود گذاشتم .

    با تشکر
    pouya.taghipour@gmail.com
    فایل های ضمیمه فایل های ضمیمه

  38. #78
    کاربر دائمی
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    هه‌ورامان
    پست
    220

    کلاس کار با اعداد حقیقی

    این برنامه رو طبق اصول شئ گرایی نوشتم، البته یه تیکه از برنامه که غیر فعالش کردم کار نمیکنه فکر کنم که باید تابع رو بصورت friend تعریف کنیم.
    از اساتید می خوام که یه نگاهی بهش بندازن.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    #include"iostream.h"
    #include<CONIO.H>
     
    class Complex{
     
    double re,im;
     
    public:
    Complex(){re=0,im=0;}
    Complex(double r){re=r,im=0;}
    Complex(double r,double i){re=r,im=i;}
    void setr(double x){re=x;}
    void seti(double x){im=x;}
    double getr(){return re;}
    double geti(){return im;}
     
    void set(double r,double i)
       {
        re=r;
        im=i;
       }
    void print(ostream &o){
    o<<re;
    if(im>=0)o<<'+';
    o<<im<<'i';
    }
    Complex operator+(Complex rhs){
    Complex h;
    h.re=re+rhs.re;
    h.im=im+rhs.im;
    return h;
    }
    Complex operator*(Complex rhs){
    Complex h;
    h.re=re*rhs.re - im*rhs.im;
    h.im=im*rhs.re + re*rhs.im;
    return h;
    }
    Complex operator*(double x){
    Complex h;
    h.re=re*x;
    h.im=im*x;
    return h;
    }
    /*
    Complex operator *(double x,Complex rhs){
    Complex h;
    h.setr(x*rhs.getr());
    h.seti(x*rhs.geti());
     
    // return c*x;
    return h;
    }
      */
     
    Complex operator/(Complex rhs){
    double d=rhs.re * rhs.re + rhs.im*rhs.im;
    Complex h;
    h.re=(re*rhs.re + im*rhs.im)/d;
    h.im=(im*rhs.re - re*rhs.im)/d;
    return h;
    }
    };
    ostream &operator <<(ostream &o,Complex cc){
    cc.print(o);
    return (o);
    }
     
     
     
    void main(){
    clrscr();
    Complex a(2,3),b(-1,4),c;
     
    //a.set(2,3);
    //b.set(-1,4);
    c=a+b;
    cout<<"\t\t\n a + b = "<<c;
    c=a*b;
    cout<<"\t\t\n a * b = "<<c;
    c=a/b;
    cout<<"\t\t\n a / b = "<<c;
    c=a*2;
    cout<<"\t\t\n a* 2  = "<<c;
     
     
    }


  39. #79
    کاربر دائمی
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    هه‌ورامان
    پست
    220

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    یه برنامه برای کار با لیست ها که تمام مباحث شئ گرایی توی این برنامه رعایت شده!

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    #include <iostream.h>
    #include <time.h>
    #include <stdlib.h>
    #define SIZE 200
    #define INVALID -1
    #ifndef array_list_h
    #define array_list_h
     
    class array_list {
    public:
        array_list(int sz = 0);
        ~array_list() { clear(); }
     
        bool isEmpty(void) { return (num == 0); }
        bool isInList(int sample);
        int getLength(void) { return num; }
        int getItem(int pos) { return a[pos]; }
        void setItem(int pos, int newItem) { a[pos] = newItem; }
        void insert(int pos, int newItem);
        void remove(int pos);
         
        void bubbleSort(void);
        void insertionSort(void);
        void selectionSort(void);
        void heapSort(void);
        void mergeSort(void) { mergeSortStub(0, num-1); }
        void quickSort(void) { quickSortStub(0, num-1); }
         
        int sequentialSearch(int key);
        int binarySearch(int key) { return binarySearchStub(0, num-1, key); }
         
        void clear() { for (int i = 0; i < SIZE; i++) a[i] = INVALID; num = 0; }
        void display() { for (int i = 0; i < num; i++) cout << a[i] << " "; cout << endl; }
     
    private:
        void swap(int& x, int& y) { int temp = x; x = y; y = temp; }
         
        int findMin(int curr, int last);
         
        void fixHeap(int heapsize, int root, int k);
        void constructHeap(int root);
        int deleteMin(void);
         
        void merge(int start, int last);
        void mergeSortStub(int start, int last);
         
        int random(int start, int last) { srand(time(NULL)); return start + rand() % (last-start+1); }
        int partition(int start, int last);
        void quickSortStub(int start, int last);
         
        int binarySearchStub(int start, int last, int key);
         
        int num;
        int a[SIZE];
    };
     
    array_list::array_list(int sz)
    {
        int i;
        for (i = 0; i < sz; i++)
            a[i] = 0;
        for (i = sz; i < 200; i++)
            a[i] = INVALID;
        num = sz;
    }
     
    bool array_list::isInList(int sample)
    {
        bool check = false;
        for (int i = 0; i < num; i++)
            if (a[i] == sample) {
                check = true;
                break;
            }
        return check;
    }
     
    void array_list::insert(int pos, int newItem)
    {
        if (pos > getLength())
            return;
        for (int i = num; i > pos; i--)
            a[i] = a[i-1];
        a[pos] = newItem;
        num++;
    }
     
    void array_list::remove(int pos)
    {
        if (pos >= getLength())
            return;
        for (int i = pos; i < num-1; i++)
            a[i] = a[i+1];
        a[num-1] = INVALID;
        num--;
    }
     
    //====================== SORTING ==========================//
    void array_list::bubbleSort(void)
    {
        for (int i = 0; i < num-1; i++)
            for (int j = i+1; j < num; j++)
                if (a[i] > a[j])
                    swap(a[i], a[j]);
    }
     
    void array_list::insertionSort(void)
    {
        for (int i = 0; i < num; i++) {
            int j = i;
            while ((j > 0) && (a[j] < a[j-1])) {
                swap(a[j], a[j-1]);
                j--;
            }
        }
    }
     
    int array_list::findMin(int curr, int last)
    {
        if (last - curr == 1) {
            if (a[curr] < a[last])
                return curr;
            else
                return last;
        }
        else {
            int rest = findMin(curr+1, last);
            if (a[curr] < a[rest])
                return curr;
            else
                return rest;
        }
    }
     
    void array_list::selectionSort(void)
    {
        for (int i = 0; i < num-1; i++) {
            int j = findMin(i, num-1);
            swap(a[j], a[i]);
        }
    }
     
    void array_list::fixHeap(int heapsize, int root, int k)
    {
        if (2*root+1 > heapsize) // the root has no child
            a[root] = k;
        else {
            int largerSubHeap;
            if (2*root+1 == heapsize) // the root has 1 child
                largerSubHeap = 2*root+1;
            else // the root has 2 children
                largerSubHeap = (a[2*root+1] > a[2*root+2]) ? (2*root+1) : (2*root+2);
            if (k >= a[largerSubHeap])
                a[root] = k;
            else {
                a[root] = a[largerSubHeap];
                fixHeap(heapsize, largerSubHeap, k);
            }
        }
    }
     
    void array_list::constructHeap(int root)
    {
        int k = a[root];
         
        if (2*root+1 >= num) // the root has no child
            return;
        else if (2*root+2 == num) // the root has 1 child
            constructHeap(2*root+1);
        else { // the root has 2 children
            constructHeap(2*root+1);
            constructHeap(2*root+2);
        }
     
        fixHeap(num, root, k);
    }
     
    void array_list::heapSort(void)
    {
        int heapsize;
     
        constructHeap(0);
        for (heapsize = num; heapsize >= 2; heapsize--) {
            int currentMax = a[0];
            int k = a[heapsize-1];
            fixHeap(heapsize-1,0, k);
            a[heapsize-1] = currentMax;
        }
    }
     
    void array_list::merge(int start, int last)
    {
        int i, j, k;
        int aux[SIZE];
        int mid = (start + last) / 2;
     
        for (i = start; i <= mid; i++)
            aux[i] = a[i];
        for (i = mid+1; i <= last; i++)
            aux[last+mid+1-i] = a[i];
        j = start; k = last;
        for (i = start; i <= last; i++)
            a[i] = (aux[j] < aux[k]) ? aux[j++] : aux[k--];
    }
     
    void array_list::mergeSortStub(int start, int last)
    {
        if (last > start) {
            int mid = (last + start) / 2;
            mergeSortStub(start, mid);
            mergeSortStub(mid+1, last);
            merge(start, last);
        }
    }
     
    int array_list::partition(int start, int last)
    {
        swap(a[start], a[random(start, last)]);
        int pivot = a[start];
        int leftwall = start;
     
        for (int i = start+1; i <= last; i++) {
            if (a[i] < pivot) {
                leftwall++;
                swap(a[i], a[leftwall]);
            }
        }
        swap(a[start], a[leftwall]);
        return leftwall;
    }
     
    void array_list::quickSortStub(int start, int last)
    {
        if (last > start) {
            int pivot = partition(start, last);
            quickSortStub(start, pivot-1);
            quickSortStub(pivot+1, last);
        }
    }
     
    //====================== SEARCHING ==============//
    int array_list::sequentialSearch(int key)
    {
        int i = 0;
        while ((i < num) && (a[i] != key))
            i++;
        if (i == num)
            return -1;
        else
            return i;
    }
     
    int array_list::binarySearchStub(int start, int last, int key)
    {
        if (last < start)
            return -1;
        else {
            int mid = (start + last) / 2;
            if (key == a[mid])
                return mid;
            else if (key < a[mid])
                return binarySearchStub(start, mid-1, key);
            else
                return binarySearchStub(mid+1, last, key);
        }
    }

    البته تابع main رو اینجا نمی بینم!! (هر کی خواست،برای برنامه خودش تابع main رو هم بنویسه)

  40. #80
    کاربر دائمی
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    هه‌ورامان
    پست
    220

    نقل قول: مجموعه برنامه های نوشته شده به زبان C و ++C

    یه برنامه که طول رشته رو تا رسیدن به Enter حساب میکنه
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #include<iostream.h>
    #include<conio.h>
    void main()
    {
    clrscr();
    char ch;int i=0;
    while(cin.get()!='\n')
    i++;
    cout<<i;
    getch();
    }

صفحه 2 از 8 اولاول 1234 ... آخرآخر

برچسب های این تاپیک

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

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