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

كيف أدمج مجموعة برامج بعضها ببعض؟

مغلق
بدأه موظف في 2 يونيو 2005 · 10 رد · 813 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كنت قد قمت بعمل مجموعة برامج، هي في الأساس حلول لمجموعة لتمارين في أحد الكتب،أريد الآن وضعها في برنامج واحد يحويهم جميعهم ، لكن لا أعرف كيف..!

أحب أن يكون الحال بالشكل التالي:

عند تشغيل البرنامج الجامع...تظهر رسالة تُرشد المستخدم بالخيارات المتوفرة،مثلا:

*لإستدعاء برنامج حساب العدد الأولي....إضغط 1

*لإستدعاء برنامج ضرب مصفوفتين...إضغط 2

*لإستدعاء برنامج ترتيب مصفوفة...إضغط 3

وهلم جرا...

أظن أن البرنامج الذي سيجمع هذه البرامج جميعها سيستخدم switch statement، فهل أستطيع إستدعاء برنامج آخر من خلال أوامر switch أم هذا غير ممكن؟ كيف يتم إستخدام #include"filenam" في هكذا مهمة؟ في السي أو سي بلس بلس؟

أرجو مساعدتي في هذا الأمر...:)

شكراً للجميع...

#2

يمكنك جعل تلك البرامج عبارة عن دوال تقوم بإستدعائها عن طريق الإختيار

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

بحيث تضع definitions في ملف cpp او c

و declarations في ملف h

#3

بسم الله الرحمن الرحيم

السلام عليكم

والله يعنى الاخ ib_doom سبقنى فى الاجابة على سؤالك :D

على العموم حوضح شوية حاجات ممكن زى ما قال الاخ الib_doom ان انت ممكن تعمل .h

ويكون فية الdeclaration وأيضا ممكن يكون فية تعريف الدوال بس تعمل include لهذا الملف ف البرنامج بتاعك وأيضا يكون ف نفس الfolder

أو يكون فى مسار دة C:\BC5\INCLUDE ودة المسار اللى فية كل جميع الheader files الموجودة فى السى

وأيضا ممكن بدل وجع الدماغ دة تعمل class لامم جميع الدوال وfunction وليكن تسمى back تحتوى على switch casees

وتستد عيها فى الmain

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#4

السلام عليكم

هذا الرابط ممكن يساعدك:

/index.ph...64entry324964

#5

الأخوة الكرام...

ib_doom ... eng_3llam ... karimosh ...

شكراً على مساعدتكم...:)

عندي إمتحانين هذا الأسبوع، عندما أنتهى منهما سأعمل على تطبيق إرشاداتكم... أما إن واجهتني مشكلة ما فسأرفع الموضوع مجدداً... B)

تحيتي للجميع...

#6

الإخوة الكرام ...

ib_doom ... eng_3llam ... karimosh ...

حاولت القيام بالأمر بنفسي لكن لم أنجح فيه للأسف...فأرجو منكم مساعدتي لأني مهتم كثيراً بمعرفة كيف يتم.

سأقوم بوضع البرنامج الجامع – بالشكل الذي أتصوره – ويليه برنامجين أريد إستدعائهم من داخل البرنامج الجامع ، ولعل أحدكم يتكرم علي بعمل الدمج المطلوب فأدرسه وأعرف كيف أصنع مستقبلاً.

البرنامج الجامع:

package.cpp:

#include <iostream>
using namespace std;



main(){

cout<<"\nHello to my Software Package...";

int choice;


switch(choice){
    //case: 1         Is_prime program;break;
    //case: 2         LinearSearch program;break;
    default:        break;
}        
cout<<"\n\n\n";
return 0;

}

البرنامج الأول المطلوب إستدعاءه – حساب العدد الأولي- :

Is_Prime.cpp:

#include<iostream>
using namespace std;

#define TRUE	1
#define FALSE	0
typedef int Bool;
Bool is_prime(int n);


Bool result;
int num;


main(){


	cout<<"Enter a number: ";cin>>num;
	result=is_prime(num);

	if (result==TRUE)	cout<<"\nIt's a prime number \n\n\n";
	else if (result == FALSE) cout<<"\nIt's not a prime number\n\n\n";


	return 0;
}


Bool is_prime(int n)
{
	int divisor;

	if (n<=1) return FALSE;
	for (divisor=2;divisor*divisor<=n;divisor++)
  if (n%divisor==0)
 	 return FALSE;
	return TRUE;
}

البرنامج الثاني المطلوب إستدعاءه – يبحث عن وجود رقم بين {1,2,3,4,5} :

LinearSearch.cpp:

#include <iostream>

using namespace std;

int i,n=5,target,foundAt;
int array[]={1,2,3,4,5};


int main() {

cout<<"Enter number to look for it(1-5 only): ";cin>>target;

for(i=0;i<=n-1;i++){
	if (target==array){
  foundAt=i;
  cout<<"The number you looking for exists at position "<<foundAt;
  cout<<"\n\n\n\n\n\n\n";
  return foundAt;
  
	}
}
cout<<"The number you looking for dose not exist!";
cout<<"\n\n\n\n\n\n\n";

return 0;
}

أرجو أن يكون مقصدي واضحاً ، وأرجو أيضاً أن لا أثقل عليكم...

تحياتي للجميع...:)

#7

ادمج الكود ببعضه .. يعني انقل كود البرامج الصغيرة هذه الى البرنامج الاصلي و ضعها في functions خاصة بها, ثم استدعي هذه الـ functions على حسب ما يختاره المستخدم.

#8

السلام عليكم

أخي اليك ما طلبت

ما عليك الا ان تعمل build للبرنامج المرفق

أريد ان انبهك الى ان البرامج test.exe و program1.exe و program2.exe يجب ان تكون في نفس المجلد

وشكرا

test.rar

#9

اولا انت قمت بعمل ال.cpp الجامع لكل الاكواد اى انت عملت برنامج عادى جدا ينادى مجموعة methods موجودة فى مكان أخر

المفروض اولا ان تضع include لل.h المراد استخدام بعض الدوال منة كما انت تفعل مع iostream حيث تنادى ال cout التى تعمل access للoperator >> وبالتالى يجب ان تضمن الheader file الازم لذلك وهو iostream

وهى نفس الحكاية هتعمل كل واحد من البرامج المرفقة .h وتضعة ف نفس الfolder وتعملة include

Muhammad Allam

Computer Science

@Resource(MappedURL="My Blog" )

#10

أخي hasan_aljudy شكراً لك على مرورك الكريم...

أخي karimosh ...شكرًا لك كثيرًا...بل كثيرًا جداً...:)...الملف الذي أرسلته يفي بالغرض للأمر الذي كنت أنوي القيام به بنسبة 100%:)....لكن لي سؤال صغير أحب أن أعرف إجابته إستزادة في العلم:

ماذا تعمل الملفات ذات الإمتدادات:

.ncb

.sln

.vcproj

والمرفقة بالمجلد الذي أرسلته...فعندها حذفها لا يعمل البرنامج...أما عند الإبقاء عليها فإنه يعمل بشكل مثالي...؟

أخي eng_3llam ...مشكلتي الآنية قد حُلت...لكن لا أخفي شغفي بمعرفة كيف يتم الأمر بطريقة ال #include...أرجو أن لا أزعجك بطلبي أن تخبرني طريقة عمل هذا الأمر بأسلوب ال #icnlude لأنه حقيقة هو ما فكرت به أساساً وأحب أن أعرف كيف يصير...وهل ممكن أن يتم بتضمين "برامج" داخل برامج وليس "دوال" داخل برامج؟....

تحيتي للجميع...:)

#11
ib_doom كتب:
يمكنك جعل تلك البرامج عبارة عن دوال تقوم بإستدعائها عن طريق الإختيار

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

بحيث تضع definitions في ملف cpp او c

و declarations في ملف h

اظن انها الطريقه الجيده ... او ان تقوم بجمع هذه الدوال في كلاس فيكون افضل

موقعي :- www.gamesdevteam.com

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…