الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج من برمجتي اريد رأيكم حوله!

مغلق
بدأه سعودي عسل في 30 مارس 2006 · 7 رد · 844 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمه الله وبركاته

اولا اهنئكم على هذا الصرح الشامخ الذي شمل كل ما يتعلق في البرمجة حيث انني قبل تسجيلي في هذا المنتدى كثيرا ما اتابعه والجأ اليه بعد الله في كل ما اشكل ,, وايضـاً كثيرا ما ما اسمع بهذا المنتدى ,, حتى اصبح كل طالب جامعي يختص بعلوم الحاسب الألى لا غنى له عن هذا المنتدى الاكثر من رائع ,, وقد احببت ان ازف اول مشاركاتي المتواضعه والتي زاد خجلها انها عباره عن اسألة في مجال ++C

هذا البرنامج يقوم بحساب الراتب الأسبوعي لمندوبي شركة

وذلك بانه كل مندوب يكون راتبه الاسبوعي على هذا النمط ( 200 ريال اضافة الى 9% ما قام ببيعة خلال هذا الاسبــوع ) ..

***********************************************************************

واعذروا رداءة اللغة الانجليزيه عندي لذا إستخدمت هذه العبارات في البرنامج

mabi3at=المبيعات

rateb=الراتب الاسبوعي

**********************************************************************

وقد استخدمت داله while في هذا البرنامج

وأليكم الكود :

//***********ashq-naifh************//
#include<iostream.h>
main()
{

char name[20];
float mabi3at,rateb;
int i;
i=1;
//**********************************
cout<<"\nto Exit press 6";
//**********************************
while (i !=6)
{
cout<<"\n***************************\nEnter the name: ";
cin>>name;

cout<<"\nEnter the mabi3at: ";
cin>>mabi3at;

rateb=200+(.09*mabi3at);

cout<<"\nThe name is: "<<name<<"\nrateb is: "<<rateb;
i+=1;
}
//*********************************
cout<<"\nEnd the program";
return 0;
}

ارجوا تجربه البرنامج ومن ثم الاجابه على هذه التساؤلات حتى تكون تساؤلاتي واضحه لديكم ..

إليكم تساؤلاتي :

اولاً : لو لاحظتم انه عند ادخال اسم يحتوي على مسافة مثل ali zubidi فأن هذه المسافة تبطل عمل داله دورة التكرار

ولو استخدمنا اسم بدون مسافات مثل alizubidi فان البرنامج يمشي زي الحلاوة ..

ثانيـا : اريد ان تكون انتهاء دورة التكرار قبل ظهور "Enter the name" او في حاله ادخال الرقم 6 في المتغير" name" من باب "تحسين البرنامج" فلـو لاحظتم ان عند ادخال الرقم 6 في متغير المبيعات سينتهي البرنامج ولكنني اود ان يكون قبل ذلك

ثالثــا ً : وهو الاهــم هل استطيع ان اجعل زر الهروب Esc ان يكون زر الخروج من البرنامج ؟؟ وكيــف ؟ ..

رابعــا : <=-< يحس انه طولهــا شوي " فكرت ان استعمل داله swich حتى استطيع تفادي ازمه الخروج من البرنامج بحيث يظهر للمستخدم "بانه له الخيــار بان يستمر في البرنامج بالضغط على الرقم 1 بعد حساب راتب كل مندوب او الضغط على رقم 6 للخروج من البرنامج " ولكن حسيت انه البرنامج حيطلع غثيث <_<

واعذروني على قلــه معرفتي فانا مبتديء في البرمجة حيث انني ادرس في المستوى الثاني من علوم الحاسب الألى واطمح ان اكون من افضل المبرمجين بتوفيق الله ومن ثم الاستفاده منـكم واملي في الله ومن ثم بكــم كبيــر ..

واعذرني على الاطاله والاسبال في المقدمه

وارجوا من الجميــع التفاعل مع تساؤلاتـي ولا مانــع من التشعب في هذا الموضوع للفائدة

<< يحرشكم تتوسعون في الموضوع :rolleyes: حيث اغلب المبتدئين يخفى عليهم ماهي فوائد الاوامر

يعرفون يستعملونها ولكن لا يعلمون متى يستعملونها ومتى تكون الافضليه لاستعمال داله عن داله اخرى

وكذالك الجهل ببعض المكتبات وبعض المصطلحات في البرمجة

وتحياتي للجميــع

تم تعديل هذه المشاركة بواسطة سعودي عسل في 30 مارس 2006 في 00:33

#2

للرفـــع ..

والله توقعت ان القى ولو رد واحد ...

#3
اقتباس
: لو لاحظتم انه عند ادخال اسم يحتوي على مسافة مثل ali zubidi فأن هذه المسافة تبطل عمل داله دورة التكرار

ولو استخدمنا اسم بدون مسافات مثل alizubidi فان البرنامج يمشي زي الحلاوة ..

إستخدم gets() الموجودة stdio headerfile كما موضح

#include <stdio>
......
 gets(name);
......

اقتباس
ثانيـا : اريد ان تكون انتهاء دورة التكرار قبل ظهور "Enter the name" او في حاله ادخال الرقم 6 في المتغير" name" من باب "تحسين البرنامج" فلـو لاحظتم ان عند ادخال الرقم 6 في متغير المبيعات سينتهي البرنامج ولكنني اود ان يكون قبل ذلك

ثالثــا ً : وهو الاهــم هل استطيع ان اجعل زر الهروب Esc ان يكون زر الخروج من البرنامج ؟؟ وكيــف ؟ ..

طب أية رايك لو إستخدمت الdo-while كما موضح

 char w='y';
 //...........
 do
  {
   clrscr();
  //..........
cout<<"\nEnter the mabi3at: ";
cin>>mabi3at;
  //................
   cout<<"are u want to enter another data(y,n)==>";  cin>>w;
  }while(w!='N'&&w!='n');

اقتباس
رابعــا : <=-< يحس انه طولهــا شوي " فكرت ان استعمل داله swich حتى استطيع تفادي ازمه الخروج من البرنامج بحيث يظهر للمستخدم "بانه له الخيــار بان يستمر في البرنامج بالضغط على الرقم 1 بعد حساب راتب كل مندوب او الضغط على رقم 6 للخروج من البرنامج " ولكن حسيت انه البرنامج حيطلع غثيث 

ممكن وأكيد هيخلى البرنامج مرتب وهيبقى عبارة عن مجموعةمن الدوال وياحبذا لو بة class :)

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#4

الله يعطيك العافيه يا eng_3llam

شكرا كثيــر لك يالغالي ما قصرت جزااك الله كل خيــر

ولكن حبيت اسألك عن اشياء ((ما عليش تحملني)) منهــا:

هذا الكــود :

#include <stdio>
gets(name);
......

هل يشتــرط ان اضــع تحديد للمستخدم بان لا تزيد عدد الحروف مثلا عن عشرين حرف وكيــف

وماهي فائدة المكتبـه التي وضعتــها.include <stdio.h> M# ..

وماهي فائدة كلمه gest

وهل اضع الكود السابق بدل char name[20

***********************************

ثانيــا ً : هذا هو البرنــامج بعد تعديلــه واستعمال داله swich

#include<iostream.h>
main()
{
char name[20];  //asm al-mandub
float mabeat;
float rateb;
int i;
i=0;
cout<<" this program for acount"<<"\n*********************************";
while (i!=2)
{
cout<<"\n*********************************";
cout<<"\n contianue press: 1 \n\n Exit press: 2\n";
cin>>i;

switch (i)
{
case 1:

cout<<"\n\n<<>><<>><<>><<>><<>><<>><<>>"<<"\nEnter the name: ";
cin>>name;
cout<<"\nEnter mabe3at: ";
cin>>mabeat;

rateb=200+(.09*mabeat);
cout<<"\nname is: "<<name<<"\nrateb is:  "<<rateb;break;

case 2: cout<<"\nEnd the program";break;
i+=1;
}
}
return 0;
}

هــذا مع التحيــه والشكــر ..

وكامل الامتنــان لـ eng_3llam الذي لم يذخر جهدا في الرد على تساؤلاتي

واعدك بان اطبق كل ما قلته ووضع البرنامج هنــا

تحياتي لكم ودمتم ..

#5
اقتباس
case 2: cout<<"\nEnd the program";break;
i+=1;
}

اعتقد ان هناك خلل في هذا المقطع .. ما هي وظيفة i += 1 و لماذا وضعتها في هذا المكان؟!!!

#6
اقتباس
لا تزيد عدد الحروف مثلا عن عشرين حرف وكيــف

أعتقد لو زاد عن الرقم المحدد سيتم تجاهل الزيادة

اقتباس
وهل اضع الكود السابق بدل char name[20

لا هتستخدم الgets بدل من الcin علشان تراعى المسافات اللى المستخدم بيدخلها

ستجد هنا شرح للgets ولماذا تستخدمها

gets

لو حبيت تطلع من البرنامج أستخدم

exit(0);

الموجودة فى process.h أو stdlib.h

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#7

صديقي شكرا لك على تعقيبك على الموضوع الذي طرحته وهو اجمل برامج c++

واتمنى لك التفوق لكن انا ما طرحته في الموضوع هو يخص اناس تحتاج لما كتبت وبما انك مبتدا بالتأكيد لم تسمع

بoop

البرمجة غرضية التوجيه ولم تسمع ايضا بالمؤشرات

لا يهم المهم ان برنامجك رائع ولكن كمبرمج انصحك بالترتيب

وعدم زيادات لست بحاجتها لأنك اليوم تكتب برنامج صفحة واحد

ولكن في المستقبل تحتار اي شئ من التعليمات تختصر

لكي يكون برنامجك الأمثل لا عي ان تعبر بالأنكليزي بشكل عربي

ولكن العي ان لا تستمر

وتأكد ان لا ياس مع الحيات ولا حياة مع اليأس

shado

s-h-a-d-o@hotmail.com

#8

السلام عليكم

اشكركم على التعقيب واعذروني على العجله

بالنسبه لـi+=1

تعني الزيادة بمقدار واحد

ولو كتبت

i+=2 تعني الزيادة بمقدار اثنين

وكتبتها هنا في جسم الداله while اللى هي داله التكرار

وللحديث بقيه

وسوف اطبق ما تكلمتم عنه وشكرا جزيلا لكم

تحياتي

هذا الموضوع مغلق.

مواضيع مشابهة