المساعدة - البحث - قائمة الأعضاء - التقويم
نسخة كاملة: ما هي ابسط الطرق؟
برمجة - شبكات - كمبيوتر - منتديات الفريق العربي للبرمجة > منتديات لغات البرمجة العام > منتدى مبرمجي C و ++C و C++.NET > أرشيف منتدى قسم السي ++
عبدالمجيد2
السلام عليكم ورحمة الله وبركاته :
ارجو المساعده في الاتي عملت برنامج بالسي ++ ياخذ من المستخدم رواتب 12 شهر ويطبع الناتج فاول ما عملت البرنامج
عملته بالطريقه التاليه :
اي انني استخدم 12 متغير من نوع فلوت للرواتب ومتغير من نوع دبل لحفظ الناتج طبعا البرنامج طويل جدا وعرضته هنا لاني اريد
عمل البرنامج بنفس الطريقه

include

main()
{

float m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12;
double cost;
cout<<"month 1:";
cin>>m1;
cout<<"month 2:";
cin>>m2;
cout<<"month 3:";
cin>>m3;
cout<<"month 4:";
cin>>m4;
cout<<"month 5:";
cin>>m5;
cout<<"month 6:";
cin>>m6;
cout<<"month 7:";
cin>>m7;
cout<<"month 8:";
cin>>m8;
cout<<"month 9:";
cin>>m9;
cout<<"month10:";
cin>>m10;
cout<<"month 11:";
cin>>m11;
cout<<"month 12:";
cin>>m12;
cost = m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11+m12;
cout<< "cost= " <}
الطريقه الاخرى:
#include
void main ()
{
int count;
float m1;
count=1;

do {
cout<<"nmonth "< cin>>m1;
count=count+1;

}
while (count<=12);
while (m1<=12);
cout<<"cost is :"<}
لكن للاسف المتغير m1 ياخذ اخر قيمه ادخلت فكيف اجعله يتزايد
حتى نهاية البرنامج ام انه يجب ان استخدم مصفوفه اي ان اجعل المتغير m1 بهذا الشكل :
[int m1[12
واذا كان يجب استخدام مصفوفه فارجوا توضيح البرنامج بابسط الطرق اذا كان هناك طريقه من غير استخدام مصفوفه اي جعل المتغير يتزايد مع المدخلات فهو الافضل بالنسبه لي والشكر للجميع.
[f=3][f=red]
ملاحظة وليس رداً على سؤالك .....
[/f][/f]

[f=4][f=blue]

أخي الكريم .. ضع برنامجك (كود البرنامج ) داخل صندوق أسود
حتى يصبح أوضح وأسهل .. للقراءة ...
كالتالي ...

ضع الكود بين
[ code2 ]
و
[code2/]

فيصبح شكل الكود كالتالي ...

[code2]

include

main()
{

float m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12;
double cost;
cout<<"month 1:";
cin>>m1;
cout<<"month 2:";
cin>>m2;
cout<<"month 3:";
cin>>m3;
cout<<"month 4:";
cin>>m4;
cout<<"month 5:";
cin>>m5;
cout<<"month 6:";
cin>>m6;
cout<<"month 7:";
cin>>m7;
cout<<"month 8:";
cin>>m8;
cout<<"month 9:";
cin>>m9;
cout<<"month10:";
cin>>m10;
cout<<"month 11:";
cin>>m11;
cout<<"month 12:";
cin>>m12;
cost = m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11+m12;
cout<< "cost= " <}

الطريقه الاخرى:

#include
void main ()
{
int count;
float m1;
count=1;

do {
cout<<"nmonth "<cin>>m1;
count=count+1;

}
while (count<=12);
while (m1<=12);
cout<<"cost is :"<}
[/code2]

وان شاء الله الشباب .. ما راح يقصّرون في الإجابة عليك ...


تحياتي .... واحتراماتي ...
n_2008
تستطيع كتابة البرنامج والله أعلم
main()
}
flot manth[12]; z
flot cost; z
int i; z
for(i=1;i=12;i++); z
cout>> "entermanth"<cin<cost=cost+menth[i]; z
return 0; z
{
عذرا أستاذ عبد المجيد أنا لاأستطيع الكتابةبسهولة وحرف zزائدللترتيب فقط
عبدالمجيد2
شكرا لك اخي المحترم على هذه النصيحه انا كنت ابحث عن كود الهتمل لعمل ذلك والله تعبت وانا ادوره بس نقصني رقم 2 على العموم مشكور وما قصرت والله يجزاك الف خير .
اخي n_2008 :
اشكرك على هذا البرنامج انت استخدمت التكرار for وانا اعتقد انه من الافضل استخدام do while للتحكم في المدخلات كلها وكذلك المخرجات ببرنامج اقل حجما وهذا هو المطلوب وحسب الطريقه التي ذكرتها فان البرنامج يكون بالشكل التالي :

[code2]

#include
main()
{
float month[13];
float cost;
int i;
i=0;
for(i=1;i<=12;i++)
{
cout<<"nEnter Month"<cin>>month[i];
}

cost=month[1]+month[2]+month[3]+month[4]+month[5]+month[6]+
month[7]+month[8]+month[9]+month[10]+month[11]+month[12];
cout<return 0;
}

[/code2]

لكني اريد استخدام التكرار do while على العموم مشكور وما قصرت انا فقط اريد ابسط الطرق ولا اعني هذا البرنامج ولكن
هو كمثال يترتب عليه اعمال كثيره في المستقبل فاعتقد ان كلنا
يعرف ان البرنامج الذي يعطي نفس النتائج بشكل مبسط واقصر هو
الافضل لذلك اريد ابسط الطرق لعمل ذلك والفائدة إن شاء الله للجميع وخاصه المبتدئين فيمكن اي مبتدئ بلغة سي يعرف الامرين cinو cout ان يعمل البرنامج الاول ولكن عند استخدام التكرار والمصفوفات يصبح حجم البرنامج اقل وياخذ حجم ذاكرة اقل فهذا هو الافضل و واختصار لكل الكلام ما هو افضل تكرار للعمل مع البرامج التي تتطلب الكثير من المدخلات والمخرجات والشكر للجميع
آل عيد
السلام عليكم

في الحقيقة أنا مانا فاهم قصدك بالضبط لكن حسب ما فهمت من كلامك إنك تريد برنامج يأخذ مدخلات عدة أشهر ومن ثم يطبع المجموع وفقط وتريده مرنا ، إذا كان هذا ما تريد فهناك الكثير من الطرق ، إذا أردت المجموع فقط فيمكنك استخدام هذا البرنامج :

[code2]
#include

void main()
{
int month;
int cost=0;
int count;

cout << "How many month do you want? ";
cin >> count;

for (int i=1;i<=count;i++)
{
cout << endl;
cout << "Pleas, Type the value for every month ....n";
cout << "Month " << i << " : ";
cin >> month;
cost+=month;
}

cout << "nn" << "The cost is :" << cost << endl;
}
[/code2]

البرنامج السابق لايحفظ القيم مفردة ولكن يعتبر منمقا ، وإذا احتجت القيم فكل ما عليك هو إضافتها في مصفوفة كالتالي :

[code2]
#include

void main()
{
int *months;
int cost=0;
int count;

cout << "How many month do you want? ";
cin >> count;

months = new int[count];
for (int i=1;i<=count;i++)
{
cout << endl;
cout << "Pleas, Type the value for every month ....n";
cout << "Month " << i << " : ";
cin >> months[i-1];
cost+=months[i-1];
}

cout << "nn" << "The cost is :" << cost << endl;
delete [] months;

}
[/code2]

أما يا أخي إذا أردت أصغر برنامج لاثني عشر شهرا فهذا يفي بالغرض :

[code2]
#include

void main()
{
int cost=0;
int temp;
for(int i=0;i<12;i++)
{
cout << "month " << (i+1) << " : ";
cin >> temp;
cost+=temp;
}
cout << "Cost is: " << cost;
}
[/code2]

والسلام

مييييية السلاااااامة
عبدالمجيد2
شكرا لك اخي آل عيد فعلا هذا هو المطلوب كفيت ووفيت مشكور وما قصرت المشكله هي اني دائما اكتب البرنامج طويل جدا ثم ابدا اقصر فيه شيئا فشيئا واعتقد ان البرنامج الاخير هو الافضل شكرا لك regular_smile.gif.
هذه "نسخة - خفيفة" من محتويات الرئيسية للإستعراض الكامل مع المزيد من الصور والخيارات الرجاء إضغط هنا.
Invision Power Board © 2001-2009 Invision Power Services, Inc.