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

مشاريع!

بدأه Souls-hunteR في 29 مارس 2008 · 8 رد · 1,533 مشاهدة · في مشاريع ومسابقات القسم
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي الإقتراح التالي, عبارة عن مشاريع قمتم بإعدادها نقوم باستعراضها هنا. كيفيت الاستعراض:

1. شرح لعمل البرنامج بصورة مفصلة.

2. وضع كود البرنامج.

كمثال بسيط, الأخ فهد الشلوي وضع الكود التالي في إحدى الإجابات:

#include<iostream>
#include<string>
#include<fstream>

using namespace std;

class my_cipher
{
public:
 string encryption(string,int); 
 string decryption(string,int);
 string read_from_file(string);
 void write_to_file(string,string); 
};

string my_cipher::encryption(string str,int key) 
{ 
 string temp;
 temp.resize(str.size() ); 
 for(int i=0;i<str.length();i++)
 {
  if(int(str)+ key <=int('z'))
   temp=(int(str)+ key );
  else 
   temp=(int(str)+ key )-26;
 }
return temp;
}

string my_cipher::decryption(string str, int key)
{ 
 string temp;
	temp.resize(str.size() );
 for(int i=0;i<str.length();i++)
 { 
  if(int(str)- key >=int('a'))
   temp=(int(str)- key );
  else
   temp=(int(str)-key )+26;
 }
 return temp;
}

void my_cipher::write_to_file(string str, string myfilename)
{ 
 ofstream myfile;
 myfile.open(myfilename.c_str() );
 myfile << str.c_str() <<endl;
 myfile.close();
}

string my_cipher::read_from_file(string myfilename)
{ 
 string line;
 ifstream myfile (myfilename.c_str() );
 if (myfile.is_open())
  getline (myfile,line);
 myfile.close();
 return line;
}

int main()
{
 my_cipher obj;
 string str;
 int key;
 cout<<"Enter Text encryption: ";
 getline(cin,str);
 cout<<"Enter key encryption: ";
 cin>>key;
 cout<<"encryption: "<< obj.encryption(str,key)<<endl;
 obj.write_to_file(obj.encryption(str,key),"cipher.txt");

 return 0;
}

فكرة الكود هو تشفير نص معين. مهمتنا في هذه الحالة هو تطوير هذا الكود...

الهدف:

1. تطوير مهارة البرمجة.

2. تبادل المعرفة.

ملاحظة: يفضل أن يكون الكود تحت تطبيق ال Windows Application Console, لماذا؟؟ أساس لغتي ال С++ و С هو البرمجة تحت نظام ال Dos. بعد مرور فترة معينة, يمكن تحويل هذه البرامج الى واجهة Win32 API.

رأي شخصي: أنا أدرس برمجة 5 سنوات, و لأول مرة أزور منتديات عربية للبرمجة. مع الأسف مستوى البرمجة ضعيف, ندور حول نقطة واحدة. أريد أن تكونوا متحريري العقل في البرمجة.

يا شباب و يا صبايا, الموضوع جدي, لهيك تعليقات بلا طعمة, وبلا مغزا ما بدنا. و أرجو من المشرفين معاقبت من يضع تعليقات لا تمد للموضوع بأي صلة. بالإضافة إلى جعل الموضوع إساسي في هذا القسم.

Chao!!!

Great place, and people, but full of sectarianism.

#2

أنا معك أخي

#3

على بركة الله بس

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

مع التحيه

#4
da666ni كتب:
و أرجو من المشرفين معاقبت من يضع تعليقات لا تمد للموضوع بأي صلة
وانا معكم لمعاقبة كل رد غير ذي صلة 783495-722.gif
d4baa0.gif
#5

السلام عليكم

سوف أبدأ بوضع أول كود

الكود بسيط

وضيفته زيادة(إضافة) عدد عناصر المصفوفه(أي مصفوفه من أي نوع)

حاليا الزياده بمقدار عنصر واحد (العنصر الجديد أما يكون آخر عنصر أو يكون أول عنصر)

المطلوب تطويره هو

1- عمل داله حدف عنصر من المصفوفه

2- تحسين الكود من ناحية السرعه

3- إضافه أو حذف عنصر من أي مكان في المصفوفه

#include <iostream>
using namespace std;
#define RIGHT 0 //يدل على أن الزياده من اليمين
#define LEFT  1 // يدل على أن الزياده من اليسار
template <class T>

int inc(T *, int ,int);


int main ()
{
	int size;//حجم المصفوفه
	cin>>size;
	char* test;//المصفوفه اللي نريد زيادة حجمها
	test =new char [size];
	test[1]='a';


for(int i=0;i<size;i++)//لرأية المصفوفه قبل الزياده
{
	cout<<"test["<<i<<"]="<<test<<endl;
}

size=inc(test,size,RIGHT);// داله الزياده
cout<<size<<endl;//لرأية الحجم الجديد 


for(int i=0;i<size;i++)//لرأيه المصفوفه بعد الزياده
{
	cout<<"test["<<i<<"]="<<test<<endl;
}


	return 0;
}


template <class T>
int inc(T *a, int size,int position)
{
T *test;
test=new T [size+1];
for (int i =0;i<size;i++)
	{
test=a;

	}
delete []a;
test[size+1]=0;
a=new T [size+1];

if(position==RIGHT)
	{
for(int i=0;i<size+1;i++)
		{
a=test;
		}
return(size+1);
	}
else if(position==LEFT)
{
a[0]=test[size];

for (int i=1;i<size+1; i++)
	{
a=test[i-1];

	}
return(size+1);
}

return 0;
}

ملحوضه :لا بأس إذا أرتوا أن تبدؤو بكود أخي فهد

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

يعني بإضافة خواص جديده(مع ذكرها) أو بتحسين الكود أو بالإثنين

اقتباس
وانا معكم لمعاقبة كل رد غير ذي صلة

بارك الله فيك

تم تعديل هذه المشاركة بواسطة hunterxhunter في 31 مارس 2008 في 18:01

#6

السلام عليكم

هذا كود حق داله الحدف

template <class T>
int dec(T *a, int size,int position)
{
T *test;
test=new T [size-1];
if(position==RIGHT)
{
for (int i =0;i<size-1;i++)
	{
test=a;

	}

delete []a;

a=new T[size-1];

for (int i =0;i<size-1;i++)
	{
a=test;
	}

return size-1;
}
else if(position==LEFT)
{

for (int i =0;i<size-1;i++)
	{
test=a[i+1];

	}
delete []a;

a=new T[size-1];

for (int i =0;i<size-1;i++)
	{
a=test;

	}

return size-1;
}

return 0;
}

الشرح سأكتبه لما أجد وقت كافي

#7

أخواني

هل الكود مستواه سيء لهذه الدرجه

أو تريدوا أن ننتقل لبرنامج آخر(كود آخر أصعب قليلا)

#8

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

مرحبا اخي da666ni

اولا اشكرك على هذا الموضوع الرائع بحق والذي يستحق الاشادة وان فرح جدا بهذا الموضوع لأنني احد المناصرين لهذه الفكرة من زمن ,

لكن اخي لدي بعض الاقتراحات ان شاء الله انها تفيدكم

اولا اخي الموضوع لابد له من تنظيم اي من غير المعقول ان يتم انشاء المشاريع بطريقة عشوائيه او محاولة تقليد مشروع اخر , يجب ان يكون هناك تنظيم للمشاريع في مجالات عدة , مثلا :

ان تكون المشاريع المتاحة حاليا هي : Class في الجرافيكس , Class في قواعد البيانات , Class في العمليات الاساسية ( تحسين ) Class في التعامل مع الملفات , Class في التعامل مع المصفوفات , Class في التعامل مع المعادلات الرياضية ...إلخ

ومن ثم يبدا تقسيم الاعضاء المشاركين على حسب مجالاتهم ويتم تقسيم ايضا الاعضاء داخل المجال على حسب الامكانيات او على حسب جدول الاعمال الممكن , كأن يقوم الاول ببناء البنية الاساسية للمجال والثاني يقوم ببناء Class x والثالث يقوم ببناء Class y ومن ثم يتم ربط x مع y مع البنية الاساسية ....إلخ

ايضا ان يكون هناك موضوع للتواصل بين اعضاء كل مجال والمناقشة بينهم واقصد بالمناقشة هي :

التشاور على الاعمال والمناقشة بين الاعضاء حول ماتم عمله او ماسيتم عمله , ولا اقصد بالمناقشة ماهو الكومبايلر المستخدم ؟ ولا اقصد لو استخدموا كذا كان افضل لكم , ولا اقصد الردود الرائعه ( مشكور - مذهل يا فنان!! ...إلخ)

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

هذا فقط ماايسعني قوله لانني معجب جدا بهذه الفكرة واخشى عليها ان تندثر

وفقت خيرا اخي da666ni

llback.jpg

اشهد ان لا إله إلا الله وان محمدا ً رسول الله

#9

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

آسف على عدم المشاركة حتى الآن, لكن الجامعة تأخذ من وقتي الكثير, و الإمتحانات متعبة جدا(ما عاد شفت شي إدامي). بالأضافة إلى دراسة ال ASP.NET و C و Pascal. سوف أكون معكم قريبا. و شكرا على المشاركة. لأن هذا الموضوع هو للشعب العربي. Bell Gets عندما طور نظام Windows كان في سننا, و لا أعتقد أنه أفضل منا في التطوير البرمجي.

Chao!!!

Great place, and people, but full of sectarianism.

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