مشاهدة النسخة كاملة : ممكن مساعده في ++c


fefa
12-01-2006, 02:41 PM
طلب مني اصمم برنامج لاحد محلات بيع اجهزت الحاسب وضيفت هذا
البرنامج ادخال رقم القطعه المراد بيعها والكميه المطلوبه واذا كان رقم القطعه غير موجود او الكميه
تظهر رساله الاعلام عن ان الكميه غير متوفره او ان رقم القطعه غير موجود ثم يعيد المحاوله واذا توفرت الكميه وكان رقم القطعه موجود تظهر رساله ان الطلب موجود هل تريد اتمام العملية اذا كان الجواب نعم يظهر سعر القطعه الواحده وسعر مجموع المشتريات ثم يسئل اذا كان يريد اجراء عمليه اخرى
اذا مان الجواب نعم يعود من الاول واذا كان الجواب لا ينهي البرنامج
_ يجب استخدام في البرنامج جمل الدوران المناسبه
_يطبع عناصر المصفوفه بعد قرائتها
_اقتراح جمل اختيار مختلفه لفحص الكميه المتوفره
.................................................. ............
طبعا اعطاني اسماء البضعه مع الكميه المتوفره ورقم البضاعه واسعارها
.................................................

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

.................................................

#include<iostream.h>
void main(void)
**
int count,n;
char g;
int ss[5][3]={101,50,25,102,60,30,103,12,550,104,5,250,105,19, 400};
cout<<"\n"<<"pace_no\tcount\tpace_price\n";
cout<<"101\t 50\t 25\n";
cout<<"102\t60\t30\n";
cout<<"103\t12\t550\n";
cout<<"104\t8\t250\n";
cout<<"105\t19\t400\n";
cout<<"inter n \n";
cin>>n;
if(n<=105&& n>=101)
**
cout<<"inter count:\n";
cin>>count;
if (n=101&&count<=50)
**
cout<<"are you want continue. press n to yes and f to no \n";
cin>>g;
if (g==n)
**
cout<<"the number of bace="<<n<<"\n"<<"end the count="<<count<<"\n"<<"the price=";
if (int b =101) ss [0][1]*[0][2]
else if(b=102) ss [1][1]*[1][2]
else if (b=103) ss [2][1]*[2][2]
else if(b=104) ss [3][1]*[3][2]
else (b=105) ss [4][1]*[4][2]
}
else
cout<<"thank you";
if (n=102&&count<=60)
**
cout<<"are you want continue. press n to yes and f to no \n";
cin>>g;
if (g==n)
cout<<"the number of bace="<<n<<"\n"<<"end the count="<<count<<"\n"<<"the price="<<count*ss[2][1];
else
cout<<"thank you";
}
else cout<<"the count is not here";

if (n=103&&count<=12)
**
cout<<"are you want continue. press n to yes and f to no \n";
cin>>g;
cout<<"the number of bace="<<n<<"\n"<<"and the";
if (g==n)
cout<<"count="<<count<<"\n";
else
cout<<"thank you";
}
else cout<<"the count is not here";
if (n=104&&count<=8)
**
cout<<"are you want continue. press n to yes and f to no \n";
cin>>g;
cout<<"the number of bace="<<n<<"\n"<<"and the";
if (g==n)
cout<< "count="<<count<<"\n";
else
cout<<"thank you";
}
else cout<<"the count is not here";

if (n=105&&count<=19)
**
cout<<"are you want continue. press n to yes and f to no \n";
cin>>g;
cout<<"the number of bace="<<n<<"\n"<<"and the";
if (g==n)
cout<< "count="<<count<<"\n";
else cout<<"thank you";
}
else cout<<"the count is not here";
}
else cout<<"the pace number in not here";
}
}

منطلق بطموحي
12-01-2006, 08:43 PM
السلام عليكم :

البرنامج به اخطاء كثيرة و ما لاحظته لاول وهلة :

if (int b =101) ss [0][1]*[0][2]
else if(b=102) ss [1][1]*[1][2]
else if (b=103) ss [2][1]*[2][2]
else if(b=104) ss [3][1]*[3][2]
else (b=105) ss [4][1]*[4][2]


هذه العبارات لا تعني شيء ابدا !

اولا داخل if وضع = و هذا خطأ شائع يجب ان نعمل علامة المساوة ==
ثانيا اين عبارات cout مثلا cout<<ss[2][3]; و لا نسى الفاصلة المنقوطة ابدا
ثالثا لماذا int b و لم نعرفها فوق و ماذا هي ...متى تم ادخالها cin ؟

هناك عبارة خطيرة ايضا

if (g==n

بالتعريف g هي حرف char كيف تساويه برقم ؟

fefa
12-01-2006, 10:32 PM
مشكور على الرد وانا ايضاً لاحظت هذي الاخطاء لكن
التي تدرسني الماده اهي الي كتبت

if (int b =101) ss [0][1]*[0][2]
else if(b=102) ss [1][1]*[1][2]
else if (b=103) ss [2][1]*[2][2]
else if(b=104) ss [3][1]*[3][2]
else (b=105) ss [4][1]*[4][2]

وبما انها المدرسه فلم اعترض على ذلك

ولكن شكرا لك وجاري التصليح

fefa
16-01-2006, 06:42 PM
والله زهقت ممكن تساعدني انا هذا الي طلع معي

#include<iostream.h>
void main (void)
**
int i,h,p;
int he[5][3];
char f;
char y;
char n;

cout<<"pc_num\t manepc\t praise\n 101\t 50\t 25\n 102\t 50\t 25\n 103\t 12\t 550\n 104\t 8\t 250\n 105\t 19\t 400\n";
cout<<"inter pc_num:\n";
cin>>i;
if(i<=105&& i>=101)
cout<<"inter mane:\n";

else cout<<"the number not available inter pc_num:\n";

cin>>h;
if (i=101&&h<=50)
cout<<"are you want continue. press y to yes and n to no \n";
cin>>f;
if (f==n)
p=i*h;
cout<<"the number of bace="<<i<<"\n"<<"and the count="<<h<<"\n"<<"the price="<<p<<"\n";
if (f==y)
cout<<"ennter\n";


}

طبعا السعر خطاء اعرف ومش كامل البرنامج
بس انا ابغاه لمن يكون الادخال خطاء يطلب مني اعادة الادخال
ويكمل لمن يكون الادخال صح
واسفه على الازعاج

منطلق بطموحي
16-01-2006, 07:28 PM
حاولي استعمال الحلقة do while
و اين هي الحلقات loops من البرنامج ؟

بدونها لا تحل المشكلة

fefa
17-01-2006, 01:10 AM
طيب ممكن تعطيني مثال ؟

يسهل علي حل الواجب

لاني انا بس صارلي ادرس البرنامج شهر ونص مع انه يشبه

الفيجول بس عقدني

منطلق بطموحي
17-01-2006, 01:26 AM
هناك موضوع بالقسم : مسائل c++ به شروح و امثلة ...

fefa
18-01-2006, 06:10 PM
# include<iostream.h>
void main(void)
**
int s[5][3]={101,50,25,102,60,30,103,12,550,104,8,250,105,19, 400};
//أعلنا عن متغير من نوع عدد يمثل مصفوفة
int pace_number;
//أعلنا عن متغير تمثل عدد صحيح وتمثل رقم القطعة
int countity;
//أعلنا عن متغير يمثل عدد صحيح ويمثل لنا الكمية
char g ;
//أعلنا عن متغير من نوع حرف ويمثل جواب شرط استمرار البرنامج حيث اذا كانت قيمتها ن تمثل الموافقة على الاستمرار واذا كانت "اتش" تمثل عدم الموافقة وبالتالي الخروج
cout<<"\n"<<"pace_no\t count \t pace_price \n ";
//دالة اخراج تطبع رقم القطعة الكمية السعر
cout<<"101\t 50 \t 25\n";
//اطبع 101 و بعدين 50 وبعدين 25
cout<<"102\t 60 \t 30\n";
//أطبع 102وبعدين 60 وبعدين 30
cout<<"103\t 12 \t 550\n";
cout<<"104\t 8 \t 250\n";
cout<<"105\t 19 \t 400\n\n";
do
//افعل
**
cout<<"Enter pace_no to want buy \n";
//دالة اخراج تطبع على الفورم : أدخل رقم القطعة التي تريد شراءها
cin>>pace_number ;
//دالة ادخال تدخل فيها رقم القطعة
if(g='n')
//اذا كانت القيمة التي أعلنا عنها تساوي "ن
switch(pace_number)
//دالة اختبار على قيمة رقم القطعة
**

case 101:
//اذا كانت 101
cout<<"Enter a countity :-\n";
//دالة اخراج تساوي اطبع رقم الكمية
cin>>countity;
//دالة ادخال تدخل من خلالها الكمية
if ( countity<=50 )
//شرط ..اذا كانت الكمية أقل من أو تساوي 50 اذا
**
cout<<"The count is here.. \n";
//دالة اخراج تطبع لنا الكمية متوفرة
cout<<"are you continue . if you want press n , no press h\n";
//دالة اخراج تطبع .. هل تريد الاستمرار اذا كان نعم أضغط ن واذا كان غير ذلك أضغط "أتش
cin>> g ;
//أدخل قيمة الجي
}
else
//غير ذلك
cout<<"Sorrey.. the count is not here , try a gine\n ";
//دالة اخراج تطبع الكمية غير متوفرة
break;
case 102:
cout<<"Enter a countity :-\n";
cin>>countity;
if ( countity<=60 )
**
cout<<"The count is here.. \n";
cout<<"are you continue . if you want press n , no press h \n";
cin>> g ;
}
else
cout<<"Sorrey.. the count is not here , try a gine\n ";
break;
case 103:
cout<<"Enter a countity :-\n";
cin>>countity;
if ( countity<=12 )
**
cout<<"The count is here.. \n";
cout<<"are you continue . if you want press n , no press h \n";
cin>> g ;
}
else
cout<<"Sorrey.. the count is not here , try a gine\n ";
break;
case 104:
cout<<"Enter a countity :-\n";
cin>>countity;
if ( countity<=8)
**
cout<<"The count is here.. \n";
cout<<"are you continue . if you want press n , no press h \n";
cin>> g ;
}
else
cout<<"Sorrey.. the count is not here , try a gine\n ";
break;
case 105:
cout<<"Enter a countity :-\n";
cin>>countity;
if ( countity<=19 )
**
cout<<"The count is here.. \n";
cout<<"are you continue . if you want press n , no press h \n";
cin>> g ;
}
else
cout<<"Sorrey.. the count is not here , try a gine\n ";
break;
default:
//غير ذلك تابعة للسويتش ..يعني اذا كانت الكمية غير 101أو102أو103أو104أو105
cout<<"The Pace number is rong " ;
//دالة اخراج تطبع .. رقم القطعة خطأ
break;
}
//else
//cout<<"hkjjjjjjkp;ojoilt";
}
while(pace_number>=101 && pace_number<=105);
//استمر اذا كانت رقم القطعة اكبر من أو تساوي 101 و أقل من أو تساوي 105
}
.................................................. .....................

واذا كان فيه خطاء بليز صححه لي وشكرا لتعاونك معي

منطلق بطموحي
18-01-2006, 08:14 PM
البرنامج ناقص

الان انا ادخلت رقم القطعة ثم ادخلت الكمية المطلوبة

و الكمية متوافرة اليس من المفترض طباعة ما هي السلعة المباعة و الكمية اضافة للسعر

هذا شيء و الشيء الاخر بالجدول الذي يطبع بداية البرنامج اين قائمة اسماء السلع من الجدول ؟

fefa
18-01-2006, 11:19 PM
مو مطلوب مني اني احط اسماء السلع

فيه مشكلة ان البرنامج يتكرر وابيه ينهي عند ادخال H

وشكراً

منطلق بطموحي
18-01-2006, 11:47 PM
يمكن استخدام عبارة if بسيطة مع break

if(x=='h') break;

بالطبع يتم هذا داخل الحلقة المطلوبة لانه لن يعمل الا مع الحلقات ....

حيث x معرف على انه حرف اي char x;

fefa
19-01-2006, 03:46 PM
ادري ازعجتك بس جربت احط
if(g=='h') break;
بعد
cin>> g ;
وقبلها بعد
ومكان يوقف البرنامج وحطيتها بعد اخر
case
ونفس الشي مايوقف

ممكن تقولي وين يكون مكانها؟
وبليز اشرحها لي عشان افهمها

fefa
19-01-2006, 04:38 PM
انا الحين مبسوطه على الاخر الله يوفقك ان شالله

قدرت احل الواجب وكل شي تمام الحين وراح ادعيلك في كل

صلاة اصليها :)

بس باقي شغله اخيره مثلا انا بشتري نوعين من البضاعه

اهو راح يعطيني مجموع سعر كل بضاعه لحالها بس انا ابي بعد

يعطيني مجموع المشتريات كلها

وشكرا استاذي انا من اليوم راح اناديك استاذي :) اذا مافيه مانع

...............................
# include<iostream.h>
void main(void)
**
int s[5][3]={101,50,25,102,60,30,103,12,550,104,8,250,105,19, 400};

int pace_number;

int countity;

char g ;
int p;

cout<<"pace_no\t pace_name\t count \t pace_price \n ";
cout<<"101\t Mouse\t 50 \t 25\n";
cout<<"102\t Key board\t 60 \t 30\n";
cout<<"103\tMontour\t 12 \t 550\n";
cout<<"104\tMother board\t 8 \t 250\n";
cout<<"105\tCBU\t 19 \t 400\n\n";
do

**
cout<<"Enter pace_no to want buy \n";

cin>>pace_number ;

if(g='n')


switch(pace_number)

**

case 101:

cout<<"Enter a countity :-\n";

cin>>countity;

if ( countity<=50 )

**
cout<<"The count is here.. \n";

cout<<"are you continue . if you want press n , no press h\n";

cin>> g ;
p=countity*25;
cout<<"the total is:"<<p<<"\n";

}

else

cout<<"Sorrey.. the count is not here , try a gine\n ";


break;
case 102:
cout<<"Enter a countity :-\n";
cin>>countity;
if ( countity<=60 )
**
cout<<"The count is here.. \n";
cout<<"are you continue . if you want press n , no press h \n";
cin>> g ;
p=countity*30;
cout<<"the total is:"<<p<<"\n";

}
else
cout<<"Sorrey.. the count is not here , try a gine\n ";
break;
case 103:
cout<<"Enter a countity :-\n";
cin>>countity;
if ( countity<=12 )
**
cout<<"The count is here.. \n";
cout<<"are you continue . if you want press n , no press h \n";

cin>> g ;
p=countity*550;
cout<<"the total is:"<<p<<"\n";
}
else
cout<<"Sorrey.. the count is not here , try a gine\n ";
break;
case 104:
cout<<"Enter a countity :-\n";
cin>>countity;
if ( countity<=8)
**
cout<<"The count is here.. \n";
cout<<"are you continue . if you want press n , no press h \n";
cin>> g ;
p=countity*250;
cout<<"the total is:"<<p<<"\n";

}
else
cout<<"Sorrey.. the count is not here , try a gine\n ";
break;
case 105:
cout<<"Enter a countity :-\n";
cin>>countity;
if ( countity<=19 )
**
cout<<"The count is here.. \n";
cout<<"are you continue . if you want press n , no press h \n";
cin>> g ;
p=countity*400;
cout<<"the total is:"<<p<<"\n";

}
else
cout<<"Sorrey.. the count is not here , try a gine\n ";
break;
if(g=='h') break;
default:

cout<<"The Pace number is rong " ;

break;
}
if(g=='h') break;

}
while(pace_number>=101 && pace_number<=105);


}

منطلق بطموحي
19-01-2006, 05:11 PM
مبارك الحل .... نعم فهمت ما تقولين جربت البرنامج و مثلا اخترت البضاعة رقم 101
الكمية المتوافرة اصلا 50

اشتريت منها 50 و من ثم اردت متابعة الشراء و اخترت البضاعة ذاتها يقول لي مرة اخرى انها متوافرة و بالحقيقة انا قد اشتريتها بالكامل

يمكن حل هذه القضية بسهولة بحيث فور شراء كمية معينة يتم طرح هذه الكمية من موقعها من المصفوفة

مثلا بالموقع a[i][0] اشترينا الكمية 50 يقوم بالفور بطرح 50 من هذا الموقع و بالتالي يتم عرض المجموع

و اذا اردتي ان تخبري المستخدم عند وضعه h بمجموع مشترياته تم ذلك بحلقة for بسيطة تقوم بالتجميع بتعريف متغير مثلا اسمه counter يتم تصفير int counter=0 و يقوم بتجميع المشتريات و عرض السعر النهائي ....

يمكن تطوير الحل ايضا بان يعرض بالجدول الذي بالبداية اسماء البضائع ...

fefa
20-01-2006, 01:07 AM
في الحقيقه انا ماقصدت

اشتريت منها 50 و من ثم اردت متابعة الشراء و اخترت البضاعة ذاتها يقول لي مرة اخرى انها متوافرة و بالحقيقة انا قد اشتريتها بالكامل

يمكن حل هذه القضية بسهولة بحيث فور شراء كمية معينة يتم طرح هذه الكمية من موقعها من المصفوفة

مثلا بالموقع a[i][0] اشترينا الكمية 50 يقوم بالفور بطرح 50 من هذا الموقع و بالتالي يتم عرض المجموع

بس شكرا لانك نبهتني بس كيف اطرح من المصفوفة

انا عرضت اسماء البضاعه في الجدول الي في البداية

MoonDreams
20-01-2006, 02:00 AM
السلام عليكم

أختي الكريمة أنا جربت أشغل برنامجك عندي

بخصوص الكمية
ذكرتي
بس كيف اطرح من المصفوفة


اطرحي عادي
اكتبي اسم العنصر - الكمية اللي طلبتيها
مثلاً في كمية القطعة 101
case 101:

cout<<"Enter a countity :-\n";

cin>>countity;

if ( countity<=s[0][1])

**
cout<<"The count is here.. \n";

cout<<"are you continue . if you want press n , no press h\n";

cin>> g ;
p=countity*25;

cout<<"the total is:"<<p<<"\n";

s[0][1]=s[0][1]-countity;
}

جربيها ولاحظي الفرق :D

وبالتوفيق إن شاء الله ؛؛

تحياتي للمستعجلين :D
:rolleyes:

fefa
20-01-2006, 01:32 PM
شكراً

MoonDreams

؟؟؟المستعجلين؟؟؟

مافهمتها

fefa
20-01-2006, 03:15 PM
اوكي for كذا صح الصيغه؟

for(int counter=0;counter<=5;counter++)

كتبتها كذا وصار يكرر ادخال الكميه

منطلق بطموحي
20-01-2006, 06:34 PM
بعد اتمام عملية الطرح التي شرحها MoonDreams يمكن تجميع قيمة المشتريات و عرضها داخل الحلقة الموجودة بالاساس