Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama C++ Builder Filozof Problemi Program?


Filozof Problemi Program?

Bu Program C++ Builder 6 ile uyumludur.

AÇIKLAMA

Filozof problemi genel olarak ; 5 ki?inin 4 adet çatal kullanarak yemeklerini yemesi problemidir.

Her ki?inin yeme?i ne kadar sürede yedi?ide belirtildikten sonra yemek say?s? girilerek yeme?i yiyen ki?i daha sonra çatal? b?rak?r çatal bo?ta kalan ki?i taraf?ndan kullan?l?r. Burada önemli problemlerden bir tanesi sürekli olarak bir ki?inin aç kalmas?n? önlemektir.

Program?n Tamam?n? A?a??daki Linkten ?ndirebilirsiniz

Linki Görebilmeniz ?çin Üye Olman?z Gerekmektedir...

Üye Kay?t

Program Kodu:

  1.  
  2. //---------------------------------------------------------------------------
  3.  
  4. #include <vcl.h>
  5. #pragma hdrstop
  6.  
  7. #include "Unit1.h"
  8. int dizi[5]={0,0,0,0,0};
  9. int yeme[5]={0,0,0,0,0};
  10. //---------------------------------------------------------------------------
  11. #pragma package(smart_init)
  12. #pragma resource "*.dfm"
  13. TForm1 *Form1;
  14. //---------------------------------------------------------------------------
  15. __fastcall TForm1::TForm1(TComponent* Owner)
  16.         : TForm(Owner)
  17. {
  18. }
  19. //---------------------------------------------------------------------------
  20.  
  21. void __fastcall TForm1::Button1Click(TObject *Sender)
  22. {
  23. String durum;
  24. int catalsay=0;
  25. if(CheckBox6->Checked)
  26. catalsay++;
  27. if(CheckBox7->Checked)
  28. catalsay++;
  29. if(CheckBox8->Checked)
  30. catalsay++;
  31. if(CheckBox9->Checked)
  32. catalsay++;
  33. if(CheckBox10->Checked)
  34. catalsay++;
  35.  
  36. if(catalsay==4)
  37. durum="tamam";
  38. else
  39. {
  40. durum="hayir";
  41. Application->MessageBoxA("Çatal Say?s? Dört Olmal?d?r","UYARI",MB_ICONINFORMATION);
  42. }
  43. if((CheckBox1->Checked)||(CheckBox2->Checked)||(CheckBox3->Checked)||(CheckBox4->Checked)||(CheckBox5->Checked))
  44. {
  45. durum="hayir";
  46. Application->MessageBoxA("Filozoflar T?klanamaz","UYARI",MB_ICONINFORMATION);
  47. }
  48.  
  49. if(Edit1->Text=="")
  50. {
  51. durum="hayir";
  52. Application->MessageBoxA("Yemek Say?s? Giriniz","UYARI",MB_ICONINFORMATION);
  53. }
  54.  
  55. if((Edit2->Text=="")||(Edit3->Text=="")||(Edit4->Text=="")||(Edit5->Text=="")||(Edit6->Text==""))
  56. {
  57. durum="hayir";
  58. Application->MessageBoxA("Bekleme Sürelerini Giriniz","UYARI",MB_ICONINFORMATION);
  59. }
  60. if(durum=="tamam")
  61. Timer1->Enabled=true;
  62. }
  63. //---------------------------------------------------------------------------
  64.  
  65. void __fastcall TForm1::Timer1Timer(TObject *Sender)
  66. {
  67. Timer2->Enabled=true;
  68. int sira;
  69.  
  70.  
  71.  
  72. if(CheckBox6->Checked)
  73. {
  74.  if(dizi[0]>=dizi[1])
  75.  sira=0;
  76.  else
  77.  sira=1;
  78.  
  79. if(sira==0)
  80. {
  81.  if(CheckBox1->Checked==false && dizi[0]>=StrToInt(Edit2->Text))
  82.  {
  83.   CheckBox1->Checked=true;
  84.   CheckBox6->Checked=false;
  85.   dizi[0]=0;
  86.   Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  87.  }
  88.  else if(CheckBox2->Checked==false && dizi[1]>=StrToInt(Edit3->Text))
  89.  {
  90.   CheckBox2->Checked=true;
  91.   CheckBox6->Checked=false;
  92.   dizi[1]=0;
  93.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  94.  }
  95.  
  96. }
  97.  
  98. else if(sira==1)
  99. {
  100.   if(CheckBox2->Checked==false && dizi[1]>=StrToInt(Edit3->Text))
  101.  {
  102.   CheckBox2->Checked=true;
  103.   CheckBox6->Checked=false;
  104.   dizi[1]=0;
  105.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  106.  }
  107.  else  if(CheckBox1->Checked==false && dizi[0]>=StrToInt(Edit2->Text))
  108.  {
  109.   CheckBox1->Checked=true;
  110.   CheckBox6->Checked=false;
  111.   dizi[0]=0;
  112.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  113.  }
  114.  
  115. }
  116.  
  117.  
  118. }
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126. if(CheckBox7->Checked)
  127. {
  128.  if(dizi[1]>=dizi[2])
  129.  sira=1;
  130.  else
  131.  sira=2;
  132.  
  133. if(sira==1)
  134. {
  135.  if(CheckBox2->Checked==false && dizi[1]>=StrToInt(Edit3->Text))
  136.  {
  137.   CheckBox2->Checked=true;
  138.   CheckBox7->Checked=false;
  139.   dizi[1]=0;
  140.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  141.  }
  142.  else if(CheckBox3->Checked==false && dizi[2]>=StrToInt(Edit4->Text))
  143.  {
  144.   CheckBox3->Checked=true;
  145.   CheckBox7->Checked=false;
  146.   dizi[2]=0;
  147.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  148.  }
  149.  
  150. }
  151.  
  152. else if(sira==2)
  153. {
  154.   if(CheckBox3->Checked==false && dizi[2]>=StrToInt(Edit4->Text))
  155.  {
  156.   CheckBox3->Checked=true;
  157.   CheckBox7->Checked=false;
  158.   dizi[2]=0;
  159.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  160.  }
  161.  else  if(CheckBox2->Checked==false && dizi[1]>=StrToInt(Edit3->Text))
  162.  {
  163.   CheckBox2->Checked=true;
  164.   CheckBox7->Checked=false;
  165.   dizi[1]=0;
  166.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  167.  }
  168.  
  169. }
  170.  
  171.  
  172. }
  173.  
  174.  
  175.  
  176.  
  177. if(CheckBox8->Checked)
  178. {
  179.  if(dizi[2]>=dizi[3])
  180.  sira=2;
  181.  else
  182.  sira=3;
  183.  
  184. if(sira==2)
  185. {
  186.  if(CheckBox3->Checked==false && dizi[2]>=StrToInt(Edit4->Text))
  187.  {
  188.   CheckBox3->Checked=true;
  189.   CheckBox8->Checked=false;
  190.   dizi[2]=0;
  191.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  192.  }
  193.  else if(CheckBox4->Checked==false && dizi[3]>=StrToInt(Edit5->Text))
  194.  {
  195.   CheckBox4->Checked=true;
  196.   CheckBox8->Checked=false;
  197.   dizi[3]=0;
  198.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  199.  }
  200.  
  201. }
  202.  
  203. else if(sira==3)
  204. {
  205.   if(CheckBox4->Checked==false && dizi[3]>=StrToInt(Edit5->Text))
  206.  {
  207.   CheckBox4->Checked=true;
  208.   CheckBox8->Checked=false;
  209.   dizi[3]=0;
  210.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  211.  }
  212.  else  if(CheckBox3->Checked==false && dizi[2]>=StrToInt(Edit4->Text))
  213.  {
  214.   CheckBox3->Checked=true;
  215.   CheckBox8->Checked=false;
  216.   dizi[2]=0;
  217.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  218.  }
  219.  
  220. }
  221.  
  222.  
  223. }
  224.  
  225.  
  226.  
  227. if(CheckBox9->Checked)
  228. {
  229.  if(dizi[3]>=dizi[4])
  230.  sira=3;
  231.  else
  232.  sira=4;
  233.  
  234. if(sira==3)
  235. {
  236.  if(CheckBox4->Checked==false && dizi[3]>=StrToInt(Edit5->Text))
  237.  {
  238.   CheckBox4->Checked=true;
  239.   CheckBox9->Checked=false;
  240.   dizi[3]=0;
  241.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  242.  }
  243.  else if(CheckBox5->Checked==false && dizi[4]>=StrToInt(Edit6->Text))
  244.  {
  245.   CheckBox5->Checked=true;
  246.   CheckBox9->Checked=false;
  247.   dizi[4]=0;
  248.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  249.  }
  250.  
  251. }
  252.  
  253. else if(sira==4)
  254. {
  255.   if(CheckBox5->Checked==false && dizi[4]>=StrToInt(Edit6->Text))
  256.  {
  257.   CheckBox5->Checked=true;
  258.   CheckBox9->Checked=false;
  259.   dizi[4]=0;
  260.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  261.  }
  262.  else  if(CheckBox4->Checked==false && dizi[3]>=StrToInt(Edit5->Text))
  263.  {
  264.   CheckBox4->Checked=true;
  265.   CheckBox9->Checked=false;
  266.   dizi[3]=0;
  267.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  268.  }
  269.  
  270. }
  271.  
  272.  
  273. }
  274.  
  275.  
  276.  
  277. if(CheckBox10->Checked)
  278. {
  279.  if(dizi[0]>=dizi[4])
  280.  sira=0;
  281.  else
  282.  sira=4;
  283.  
  284. if(sira==0)
  285. {
  286.  if(CheckBox1->Checked==false && dizi[0]>=StrToInt(Edit2->Text))
  287.  {
  288.   CheckBox1->Checked=true;
  289.   CheckBox10->Checked=false;
  290.   dizi[0]=0;
  291.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  292.  }
  293.  else if(CheckBox5->Checked==false && dizi[4]>=StrToInt(Edit6->Text))
  294.  {
  295.   CheckBox5->Checked=true;
  296.   CheckBox10->Checked=false;
  297.   dizi[4]=0;
  298.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  299.  }
  300.  
  301. }
  302.  
  303. else if(sira==4)
  304. {
  305.   if(CheckBox5->Checked==false && dizi[4]>=StrToInt(Edit6->Text))
  306.  {
  307.   CheckBox5->Checked=true;
  308.   CheckBox10->Checked=false;
  309.   dizi[4]=0;
  310.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  311.  }
  312.  else  if(CheckBox1->Checked==false && dizi[0]>=StrToInt(Edit2->Text))
  313.  {
  314.   CheckBox1->Checked=true;
  315.   CheckBox10->Checked=false;
  316.   dizi[0]=0;
  317.    Edit1->Text=IntToStr((StrToInt(Edit1->Text)-1));
  318.  }
  319.  
  320. }
  321.  
  322.  
  323. }
  324. if(StrToInt(Edit1->Text)==0)
  325. {
  326. Timer1->Enabled=false;
  327. Application->MessageBoxA("Yemek Bitti :))","UYARI",MB_ICONINFORMATION);
  328. }
  329.  
  330. }
  331. //---------------------------------------------------------------------------
  332. void __fastcall TForm1::Timer2Timer(TObject *Sender)
  333. {
  334.  
  335. if(!CheckBox1->Checked)
  336. dizi[0]+=1;
  337. else
  338. yeme[0]+=1;
  339. if(!CheckBox2->Checked)
  340. dizi[1]+=1;
  341. else
  342. yeme[1]+=1;
  343. if(!CheckBox3->Checked)
  344. dizi[2]+=1;
  345. else
  346. yeme[2]+=1;
  347. if(!CheckBox4->Checked)
  348. dizi[3]+=1;
  349. else
  350. yeme[3]+=1;
  351. if(!CheckBox5->Checked)
  352. dizi[4]+=1;
  353. else
  354. yeme[4]+=1;
  355.  
  356.  
  357.  
  358. if(yeme[0]>=5)
  359. {
  360. if(CheckBox6->Checked==false)
  361. {
  362. yeme[0]=0;
  363. CheckBox1->Checked=false;
  364. CheckBox6->Checked=true;
  365. }
  366. else if(CheckBox10->Checked==false)
  367. {
  368. yeme[0]=0;
  369. CheckBox1->Checked=false;
  370. CheckBox10->Checked=true;
  371. }
  372. }
  373.  
  374.  
  375.  
  376.  
  377.  
  378. if(yeme[1]>=5)
  379. {
  380. if(CheckBox6->Checked==false)
  381. {
  382. yeme[1]=0;
  383. CheckBox2->Checked=false;
  384. CheckBox6->Checked=true;
  385. }
  386. else if(CheckBox7->Checked==false)
  387. {
  388. yeme[1]=0;
  389. CheckBox2->Checked=false;
  390. CheckBox7->Checked=true;
  391. }
  392. }
  393.  
  394. if(yeme[2]>=5)
  395. {
  396. if(CheckBox7->Checked==false)
  397. {
  398. yeme[2]=0;
  399. CheckBox3->Checked=false;
  400. CheckBox7->Checked=true;
  401. }
  402. else if(CheckBox8->Checked==false)
  403. {
  404. yeme[2]=0;
  405. CheckBox3->Checked=false;
  406. CheckBox8->Checked=true;
  407. }
  408. }
  409.  
  410. if(yeme[3]>=5)
  411. {
  412. if(CheckBox8->Checked==false)
  413. {
  414. yeme[3]=0;
  415. CheckBox4->Checked=false;
  416. CheckBox8->Checked=true;
  417. }
  418. else if(CheckBox9->Checked==false)
  419. {
  420. yeme[3]=0;
  421. CheckBox4->Checked=false;
  422. CheckBox9->Checked=true;
  423. }
  424. }
  425.  
  426.  
  427. if(yeme[4]>=5)
  428. {
  429. if(CheckBox9->Checked==false)
  430. {
  431. yeme[4]=0;
  432. CheckBox5->Checked=false;
  433. CheckBox9->Checked=true;
  434. }
  435. else if(CheckBox10->Checked==false)
  436. {
  437. yeme[4]=0;
  438. CheckBox5->Checked=false;
  439. CheckBox10->Checked=true;
  440. }
  441. }
  442.  
  443. if(Timer1->Enabled==false)
  444. Timer2->Enabled=false;
  445. }
  446. //---------------------------------------------------------------------------
  447.  

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Perşembe, 07 Nisan 2011 23:33 )  
File not found.