عرض مشاركة واحدة
منتديات طلاب وطالبات جامعة الملك عبد العزيز منتديات طلاب وطالبات جامعة الملك عبد العزيز
قديم 19-02-2011, 07:58 PM   #2

عادل محمد البسامي

جامعي

 
تاريخ التسجيل: Nov 2010
التخصص: هندسة
نوع الدراسة: تأهيلي
المستوى: الأول
الجنس: ذكر
المشاركات: 16
افتراضي رد: من يعرف يشرح البرنامج التالي

#include<iostream.h>
#include<string.h>
struct ITEM {
char name[20];
int qty;
} ar[50];
هذه ستركت بها متغير اسم ومتغير رقم صحيح

int cnt=0;
وهذة متغير بقيمة صفر

read(ITEM &val) {
cout<<"Enter item name:";
cin>>val.name;
cout<<"Enter qty:";
cin>>val.qty;
}
هذا وظيفة او ممكن تسميه سب روتين يطلب منك/منكي ادخال الاسم ثم ادخال القية qty
ولاحظ انهما ينتميان للاستركت اللي فوق
واللي اسمها ITEM
هو يعطيك عنوان الادخال وانت تدخل المعلومة
مثال هو يكتب ادخل اسم المادة ثم انت تدخل اسم المادة
نفس اشي يكرر للمتغير qty
ويتم حفظها في ال استركتval وترسل القيمة للفال الى الجهة التي استدعت هذه الوظيفة
search(ITEM val, int &r) {
r = -1;
for(int i=0; i<=cnt; i++)
if(strcmp(ar[i].name,val.name)==0) r=i;
}
هذه وظيفة تحمل معها اثنان من المتغيرات فال و عنوان ل ار
من نوع رقم صحيح
اللي يحصل انه يظل يبحث لعدد مرات تساوي cnt مرة باحثا عن قيمة للرقم r اللي يساوي للقيمة المحفوظة في الاستركت val

process(char t) {
ITEM val;
read(val);
يقرا البيانت اللي تدخلها ويحفظها في ال val
int r;
search(val,r);
افرض انك اخترت ‘o’ يعني تي=حرف i

if(t=='i') {
يروح هنا اذا اخترنا تي = i

if(r != -1) ar[r].qty += val.qty;
else {
ar[cnt] = val;
cnt++;
}
}
هذه وظيفة تاخذ حرف تي
تعلن عن متغير من نوع ستركت ايتم
ثم تملى بالبيانات اللي يعملها رييد
يعني رييد يملى الاستركت فال

if(t=='o') {
if(r != -1) ar[r].qty -= val.qty;
else cout<<"Item not found!\n";
}

}

print() {
for(int i=0; i<cnt; i++)
cout<<ar[i].name<<"\t"<<ar[i].qty<<"\n";
}

main() {
int s;
do {
cout<<"(1-in 2-out 3-print 4-exit): ";
cin>>s;
if(s==1) process('i');
if(s==2) process('o');
if(s==3) print();
} while(s!=4); }
هذا هو البرنامج الرئيسي له خيارات
1 اذا اخترت 1 يروح ينادي على بروسس حاملا معه حرف اي
او اثنان حاملا معه حرف او
او يكتب ان اخترت 3
او يخرج اذا اخترت 4
اكمل الشرح اذا كان شرحي طيب بس والله ماني متاكد ان كان احد معي متابعني

 

عادل محمد البسامي غير متواجد حالياً   رد مع اقتباس