برامج

آلة حاسبة متطورة من تصميمي (سي++) مع كودها [الأرشيف] - برامج نت

المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : آلة حاسبة متطورة من تصميمي (سي++) مع كودها


ryou ken
08-09-2008, 07:35 AM
بسم الله الرحمن الرحيم
الحمد لله استطعت تصميم آلة حاسبة متطورة وجميلة تستطيع من خلالها معرفة النواتج للأرقام العادية والعشرية والكبيرة أي العملاقة وأيضا تعرف إذا كان الرقم الذي تعطيها أياه رقم أولي أو لا وتعرض أيضا جدول الضرب للرقم الذي تريده مهما كان كبره وأيضا تستطيع معرفة الجذور وإيضا معرفة أصل الكسور وأيضا والقيمة المطلقة لأي عدد والنسبة المئوية للمراحل الدراسية جميعها
وأردت أن أضع لكم كودها لتستفيدوا منها (التحميل بالأسفل)
تم تعديل الكود ليوافق الاصدار 4.9 :smailes51:




#include <iostream>
#include <cmath>
using namespace std;
int main()
{
ss:
int n1=0 , n2=0 , number=0 , re1=0 , re2=0 , mo=0 , x=0 , i=1 , mi=0 , z=0;
float nm1=0 , nm2=0 , z1=0 , total=0;
long num1=0 , num2=0;
char o1 , a2='q' , a1 , a111 , a;
cout << "\twellcome\nthis calculator verson 4.9 creat by modar ryou ken tensai!!\nmy E-mail:xxbmw@hotmail.com\n\nwrite the number next to the any option you want to do:\n1- math operator in true numbers.\n2- math operator in hex numbers(1.5).\n3- math operator in big numbers.\n4- test the numbers are there primary or not.\n5- matlipic table for any number.\n6- the roots.\n7- the fraction.\n8- the absolute of any number.\n9- the proportion of subjects.\n";
cin >> a1;
switch (a1) {
case '1':
cout << "\ninsert the first number:";
cin >> n1;
while (n1!=(cin.fail())) {
cout << "insert the opreator: ";
cin >> o1;
while (o1!=(cin.fail())) {
cout << "insert the 2th number:";
cin >> n2;
while (n2!=(cin.fail())) {
if (o1=='+'){cout << "\nresult: " << n1+n2;}
else if (o1=='-'){cout << "\nresult: " << n1-n2;}
else if (o1=='*'){cout << "\nresult: " << n1*n2;}
else if (o1=='/'){cout << "\nresult: " << n1/n2;}
cout << "\nQuite:Q return:R continue:c\n";
cin >> a2;
while (a2!=(cin.fail())) {
if ((a2=='r') || (a2=='R')){goto ss;}
else if ((a2=='q') || (a2=='Q')){goto end;}
else if ((a2=='c') || (a2=='C')){
int t1=0;
if (o1=='+'){t1=n1+n2;}
else if (o1=='-'){t1=n1-n2;}
else if (o1=='*'){t1=n1*n2;}
else if (o1=='/'){t1=n1/n2;}
cout << "the last number: ";
if (o1=='+'){cout << n1+n2;}
else if (o1=='-'){cout << n1-n2;}
else if (o1=='*'){cout << n1*n2;}
else if (o1=='/'){cout << n1/n2;}
cout << "\ninsert the opreator: ";
cin >> o1;
while (o1!=(cin.fail())) {
cout << "insert the 2th number:";
cin >> n1;
while (n1!=(cin.fail())) {
if (o1=='+'){cout << "\nresult: " << t1+n1;}
else if (o1=='-'){cout << "\nresult: " << t1-n1;}
else if (o1=='*'){cout << "\nresult: " << t1*n1;}
else if (o1=='/'){cout << "\nresult: " << t1/n1;}
cout << "\nQuite:Q return:R continue:c\n";
cin >> a2;
while (a2!=(cin.fail())) {
if ((a2=='r') || (a2=='R')){goto ss;}
else if ((a2=='q') || (a2=='Q')){goto end;}
else if ((a2=='c') || (a2=='C')){
m1:
if (o1=='+'){t1=t1+n1;}
else if (o1=='-'){t1=t1-n1;}
else if (o1=='*'){t1=t1*n1;}
else if (o1=='/'){t1=t1/n1;}
cout << "the last number: " << t1;
cout << "\ninsert the opreator: ";
cin >> o1;
while (o1!=(cin.fail())) {
cout << "insert the 2th number:";
cin >> n1;
while (n1!=(cin.fail())) {
if (o1=='+'){cout << "\nresult: " << t1+n1;}
else if (o1=='-'){cout << "\nresult: " << t1-n1;}
else if (o1=='*'){cout << "\nresult: " << t1*n1;}
else if (o1=='/'){cout << "\nresult: " << t1/n1;}
cout << "\nQuite:Q return:R continue:c\n";
cin >> a2;
while (a2!=(cin.fail())) {
if ((a2=='r') || (a2=='R')){goto ss;}
else if ((a2=='q') || (a2=='Q')){goto end;}
else if ((a2=='c') || (a2=='C')){goto m1;}
break;}break;}break;}break;}break;}break;}break;}b reak;}break;}break;}break;}break;}break;
case '2':
cout << "\ninsert the first number:";
cin >> nm1;
while (nm1!=(cin.fail())) {
cout << "insert the opreator: ";
cin >> o1;
while (o1!=(cin.fail())) {
cout << "insert the 2th number:";
cin >> nm2;
while (nm2!=(cin.fail())) {
if (o1=='+'){cout << "\nresult: " << nm1+nm2;}
else if (o1=='-'){cout << "\nresult: " << nm1-nm2;}
else if (o1=='*'){cout << "\nresult: " << nm1*nm2;}
else if (o1=='/'){cout << "\nresult: " << nm1/nm2;}
cout << "\nQuite:Q return:R continue:c\n";
cin >> a2;
while (a2!=(cin.fail())) {
if ((a2=='r') || (a2=='R')){goto ss;}
else if ((a2=='q') || (a2=='Q')){goto end;}
else if ((a2=='c') || (a2=='C')){
float t1=0;
if (o1=='+'){t1=nm1+nm2;}
else if (o1=='-'){t1=nm1-nm2;}
else if (o1=='*'){t1=nm1*nm2;}
else if (o1=='/'){t1=nm1/nm2;}
cout << "the last number: ";
if (o1=='+'){cout << nm1+nm2;}
else if (o1=='-'){cout << nm1-nm2;}
else if (o1=='*'){cout << nm1*nm2;}
else if (o1=='/'){cout << nm1/nm2;}
cout << "\ninsert the opreator: ";
cin >> o1;
while (o1!=(cin.fail())) {
cout << "insert the 2th number:";
cin >> nm1;
while (nm1!=(cin.fail())) {
if (o1=='+'){cout << "\nresult: " << t1+nm1;}
else if (o1=='-'){cout << "\nresult: " << t1-nm1;}
else if (o1=='*'){cout << "\nresult: " << t1*nm1;}
else if (o1=='/'){cout << "\nresult: " << t1/nm1;}
cout << "\nQuite:Q return:R continue:c\n";
cin >> a2;
while (a2!=(cin.fail())) {
if ((a2=='r') || (a2=='R')){goto ss;}
else if ((a2=='q') || (a2=='Q')){goto end;}
else if ((a2=='c') || (a2=='C')){
m2:
if (o1=='+'){t1=t1+nm1;}
else if (o1=='-'){t1=t1-nm1;}
else if (o1=='*'){t1=t1*nm1;}
else if (o1=='/'){t1=t1/nm1;}
cout << "the last number: " << t1;
cout << "\ninsert the opreator: ";
cin >> o1;
while (o1!=(cin.fail())) {
cout << "insert the 2th number:";
cin >> nm1;
while (nm1!=(cin.fail())) {
if (o1=='+'){cout << "\nresult: " << t1+nm1;}
else if (o1=='-'){cout << "\nresult: " << t1-nm1;}
else if (o1=='*'){cout << "\nresult: " << t1*nm1;}
else if (o1=='/'){cout << "\nresult: " << t1/nm1;}
cout << "\nQuite:Q return:R continue:c\n";
cin >> a2;
while (a2!=(cin.fail())) {
if ((a2=='r') || (a2=='R')){goto ss;}
else if ((a2=='q') || (a2=='Q')){goto end;}
else if ((a2=='c') || (a2=='C')){goto m2;}
break;
}}}}}}}}}}}}
break;
case '3':
cout << "\ninsert the first number:";
cin >> num1;
while (num1!=(cin.fail())) {
cout << "insert the opreator: ";
cin >> o1;
while (o1!=(cin.fail())) {
cout << "insert the 2th number:";
cin >> num2;
while (num2!=(cin.fail())) {
if (o1=='+'){cout << "\nresult: " << num1+num2;}
else if (o1=='-'){cout << "\nresult: " << num1-num2;}
else if (o1=='*'){cout << "\nresult: " << num1*num2;}
else if (o1=='/'){cout << "\nresult: " << num1/num2;}
cout << "\nQuite:Q return:R continue:c\n";
cin >> a2;
while (a2!=(cin.fail())) {
if ((a2=='r') || (a2=='R')){goto ss;}
else if ((a2=='q') || (a2=='Q')){goto end;}
else if ((a2=='c') || (a2=='C')){
long t1=0;
if (o1=='+'){t1=num1+num2;}
else if (o1=='-'){t1=num1-num2;}
else if (o1=='*'){t1=num1*num2;}
else if (o1=='/'){t1=num1/num2;}
cout << "the last number: ";
if (o1=='+'){cout << num1+num2;}
else if (o1=='-'){cout << num1-num2;}
else if (o1=='*'){cout << num1*num2;}
else if (o1=='/'){cout << num1/num2;}
cout << "\ninsert the opreator: ";
cin >> o1;
while (o1!=(cin.fail())) {
cout << "insert the 2th number:";
cin >> num1;
while (num1!=(cin.fail())) {
if (o1=='+'){cout << "\nresult: " << t1+num1;}
else if (o1=='-'){cout << "\nresult: " << t1-num1;}
else if (o1=='*'){cout << "\nresult: " << t1*num1;}
else if (o1=='/'){cout << "\nresult: " << t1/num1;}
cout << "\nQuite:Q return:R continue:c\n";
cin >> a2;
while (a2!=(cin.fail())) {
if ((a2=='r') || (a2=='R')){goto ss;}
else if ((a2=='q') || (a2=='Q')){goto end;}
else if ((a2=='c') || (a2=='C')){
m3:
if (o1=='+'){t1=t1+num1;}
else if (o1=='-'){t1=t1-num1;}
else if (o1=='*'){t1=t1*num1;}
else if (o1=='/'){t1=t1/num1;}
cout << "the last number: " << t1;
cout << "\ninsert the opreator: ";
cin >> o1;
while (o1!=(cin.fail())) {
cout << "insert the 2th number:";
cin >> num1;
while (num1!=(cin.fail())) {
if (o1=='+'){cout << "\nresult: " << t1+num1;}
else if (o1=='-'){cout << "\nresult: " << t1-num1;}
else if (o1=='*'){cout << "\nresult: " << t1*num1;}
else if (o1=='/'){cout << "\nresult: " << t1/num1;}
cout << "\nQuite:Q return:R continue:c\n";
cin >> a2;
while (a2!=(cin.fail())) {
if ((a2=='r') || (a2=='R')){goto ss;}
else if ((a2=='q') || (a2=='Q')){goto end;}
else if ((a2=='c') || (a2=='C')){goto m3;}
break;
}}}}}}}}}}}}
break;
case '4':
m4:
cout << "Please Enter The Number:\t";
cin >> number;
while (number!=(cin.fail())){
int i=number-1;
for (i ; i>1 ; i=i-1)
{
if (number%i==0)
break;}
if (i==1)
cout << endl << "The Number are " ;
else cout << endl << "The Number not are";
cout << endl;
cout << "Quite:Q returen:r continue:c" << endl;
cin >> a1;
if ((a1=='q') || (a1=='Q')) {goto end;}
if ((a1=='r') || (a1=='R')) {goto ss;}
if ((a1=='c') || (a1=='C')) {goto m4;}
else {cout << "\nError!!\n"; break;}}break;
case '5':
m5:
cout << "insert the number:\t";
cin >> nm1;
cout << "\nthe numbers is:\n";
do {
cout << nm1*i << endl;
i++;
} while (i<=nm1);
cout << "\nQuite:Q returen:r continue:c" << endl;
cin >> a1;
if ((a1=='q') || (a1=='Q')) {goto end;}
if ((a1=='r') || (a1=='R')) {goto ss;}
if ((a1=='c') || (a1=='C')) {goto m5;}
else {cout << "\nError!!\n"; break;}break;
case '6':
m6:
cout << "\ninsert the number:\n";
cin >> nm1;
nm2=sqrt(nm1);
cout << "\nthe root is:" << nm2;
cout << endl << "Quite:Q returen:r continue:c" << endl;
cin >> a1;
if ((a1=='q') || (a1=='Q')) {goto end;}
if ((a1=='r') || (a1=='R')) {goto ss;}
if ((a1=='c') || (a1=='C')) {goto m6;}
else {cout << "\nError!!\n"; break;}
case '7':
m7:
cout << endl << "insert the numeratort then press Enter:\n\t\t\t\t\t\t";
cin >> nm1;
if (nm1==(cin.fail())){cout << "\nError!!\n"; break;}
cout << " \t __________\n";
cout << "insert the denominator then press Enter:\t";
cin >> nm2;
if (nm2==(cin.fail())){cout << "\nError!!\n"; break;}
cout << endl << "the result:\t\t\t\t\t" << nm1/nm2;
cout << endl << endl << "Quite:Q returen:r continue:c" << endl;
cin >> a2;
if ((a2=='q') || (a1=='Q')) {goto end;}
if ((a2=='r') || (a1=='R')) {goto ss;}
if ((a2=='c') || (a1=='C')) {goto m7;}
else {cout << "\nError!!\n"; break;}
case '8':
m8:
cout << "\ninsert the number:\n";
cin >> nm1;
float abs=nm1 < 0 ? -nm1 : nm1;
cout << "\nthe absolute of this number is:\n";
cout << abs;
cout << endl << endl << "Quite:Q returen:r continue:c" << endl;
cin >> a2;
if ((a2=='q') || (a1=='Q')) {goto end;}
if ((a2=='r') || (a1=='R')) {goto ss;}
if ((a2=='c') || (a1=='C')) {goto m8;}
else {cout << "\nError!!\n"; break;}
case '9':
m9:
cout << "how many of your subjects?\n";
cin >> mo;
float books[mo];
cout << "what is the full mark of your subjicts?\n";
cin >> mi;
if (cin.fail()){goto ee;}
cout << "insert the marks of all your subject\n\n";
for (x; x<mo; x++){
cout << "\ninsert the mark of subject " << i << "th: ";
cin >> books[x];
if (books[x]>mi){cout << "\n\n\t\tError!!"; goto modar;}
i++;
total=total+books[x];}
z=mi*mo;
z1=z/mi;
cout << "\nthe result is: " << total/z1 << " from " << mi;
modar:
cout << "\n\n\nQiute:Q return:R continue:C\n";
cin >> a;
if ((a=='q')||(a=='Q')){goto ee;}
else if ((a=='r')||(a=='R')){goto ss;}
else if ((a=='c')||(a=='C')){goto m9;}
else {goto modar;}
break;
default:
cout << "\nError!!\n";
break;
}
ee:
if (cin.fail()){cout << "\nError!!\n";}
cout << endl << endl << "Quite:Q returen:r" << endl;
cin >> a2;
if ((a2=='q') || (a1=='Q')) {goto end;}
if ((a2=='r') || (a1=='R')) {goto ss;}
else {cout << "\nError!!\n"; goto ee;}
end:
return 0;
}






قولوا ما شاء الله:smailes48: :smailes102:


روابط التحميل من الميديا فاير:smailes9: :





[/URL]
رابط تحميل الإصدار 4.9 (http://www.mediafire.com/?hilaesgb6yz)

روابط التحميل من مركز طق طق (للإصدارات التي فوق الاصدار 4.0) :smailes55: :smailes90: :


[URL="http://file5.9q9q.net/Download/27637656/4.9.rar.html"]رابط تحميل الإصدار 4.9 (http://file6.9q9q.net/Download/12925665/4.5.rar.html)





وأرجو من الأعضاء إن وجدوا فيها أي خطأ برمجي أو إملائييخبروني لأعدله




وصلى الله على سيدنا محمد وعلى آله وصحبه وسلم:smailes104:

Aboud Aboud
08-09-2008, 08:17 AM
شكرا لك اخي

ryou ken
08-09-2008, 08:36 AM
العفو أخي عبود عبود
وإن شاء الله تكون أستفدت منها

ryou ken
08-09-2008, 08:41 AM
الحمد لله تمت إضافة خاصية معرفة جذور الأعداد
وتم التعديل أيضا في بعض أكواد الآلة الحاسبة
وسيتم إضافتها قريبا

ryou ken
08-09-2008, 09:06 AM
وتم أيضا بحمد الله اضافة خاصية معرفة نواتج الكسور أي أن هذا الكسر:

10
ـــــــــــــــ= 2
5

وهكذا والكود من جديد بعد جميع التعديلات وضعته في الأعلى ومسحت الكود القديم



والرابط الجديد للإصدار 2.0 و 2.1 وضعته في المشاركة الأولى


وأرجو من الأعضاء إن وجدوا فيها أي خطأ يخبروني لأعدله
ولدي ملاحظة صغيروووووووووونة إنو أي واحد يبغا
ينسخ الكود ينسخوا بس لازم يذكر المصدر:
منقول من منتديات برامج نت
من الأخ ryou ken
وجميع الحقوق محفوظة
هههههههههه
وسيحاسب يوم القيامة من يسرق موضوعي بدون ذكر المصدر

وصلى الله على سيدنا محمد وعلى آله وصحبه وسلم:smailes104:

Armin
08-09-2008, 01:18 PM
مشكور أخي العزيز لكن الرابط كأنه في مشكلة

عبوديب
08-09-2008, 04:32 PM
بااخي الله يسامحك ترى ملفانك فيها فايرس.

z.o.z.o
08-09-2008, 05:55 PM
شكرا جزيلا حبيبي

تسلم يمناك ياغالي

موفق إن شاء الله


تقبل مروري

qsdf_11
08-10-2008, 12:53 AM
شكرا لك اخي

ryou ken
08-10-2008, 01:47 AM
مشكورين أخواني على الردود
وبخصوص أخي عبوديب لا يوجد بها أي فايروس
الكاسبر يعتبره فايروس لأنه لم يجد له أي نافذة والحاسبة تشتغل بالكوماند موجه الأوامر
لا تخاف ليست فايروس ولا شي
وبخصوص أخي armin تأكدت من الروابط وكانت كلها شغالة مية بالمية
أرجو إنك تتأكد منها مرة تانية

ryou ken
08-10-2008, 02:00 AM
الحمد لله تم تعديل أخطاء برمجية طفيفة ولها تأثير كبير على الحاسبة
وقد أضفته في المشاكمة الأولى
الإصدار 2.5
أخوكم ryou ken

hunter944
08-10-2008, 12:44 PM
تشكر أخي على البرنامج
لكن لو تعمل برامج ذات واجهة فهي أفضل للمستخدم
وقد قمت بعمل برنامج لحل كثيرات الحدود من أي درجة وأردت أن تعطيني رأيك به
http://www.yaman-tools.com/forums/download/file.php?id=72

mkh_117
08-10-2008, 03:07 PM
شكراااااااااااااااااااا

Armin
08-10-2008, 04:31 PM
تشكر أخي على البرنامج
لكن لو تعمل برامج ذات واجهة فهي أفضل للمستخدم
وقد قمت بعمل برنامج لحل كثيرات الحدود من أي درجة وأردت أن تعطيني رأيك به
http://www.yaman-tools.com/forums/download/file.php?id=72

ملاحظة جيدة من الأخ hunter944.
أنت الان أخي الكريم ryou ken قمت بكتابة كود البرنامج ولكن كيف يمكنك أن تصمم واجهة للبرنامج ؟

علاّم
08-10-2008, 09:57 PM
السلام عليكم
أخي hunter944 ما قمت به رائع فعلا لكن لو سمحت لي بسؤال : بأي برنامج صممت برنامجك ؟؟؟
وشكــــــرا
ملاحظة عندما تكون درجة كثير الحدود أكبر من 3 لاحظت أن البرنامج لايعطي جميع الحلول الممكنة . نرجو توضيحا أخي

speedery
08-10-2008, 11:49 PM
اخي ارجو منك ان تضع الComments فهذا شي من الضروري وجوده في الكود للمبرمجين خاصه المبتدئين لمعرفه ما يحدث في الكود و كيف يسير الامر و الدوال

ryou ken
08-11-2008, 06:48 AM
أخي hunter944 مشكور على البرنامج الرائع جدا وكنت أريد أن أسألك هل صممته بالسي++ أم بلغة أخرى ومشكور مرة أخرى على البرنامج الجميل
وبخصوص أخي الكريم Armin أنا لم أصممها بنافذة لأني مبتدئ ولكن حبيت أن أضعها هنا لأرى رأي إخواني فيها ولأفيدكم بها وإذا كنت تريد أن تصمم برنامج بنافذه فقد وجدت كود النافذة وسأحضره لك في المشاركة القادمة.
ومع العلم أني لم أبدأ في البرمجة إلا قبل خمسة أيام لكن والحمد لله أي تخصص أدخل فيه أبرع فيه وأنتج ملا يستطيع أن يفعله غيري والحمد لله (ما شاء الله تبارك الله)
وبخصوص أخي speedrey فجوابي موجود بين السطور في الأعلى:
لأني مبتدئ لا أعرف ما هو الـ Comments وأنا الآن أتعلم من كتاب الإكسير لصاحبه سلطان محمد الثبيتي
وهو مفيد جدا ولقد وضعته في هذا الموضوع:
اضغط هنا لمشاهدة الموضوع (http://www.bramjnet.com/vb3/showthread.php?t=670022)
وعدد صفحاته 285 وأنا لم أصل إلا إلى الصفحة 49
يعني أعذروني
ومشكورين على إهتمامكم
وإن شاء الله كنت جاوبت على جميع الأسئلة وتكونوا استفدتوا من الكتاب

ryou ken
08-11-2008, 06:53 AM
(المؤمنون عند وعودهم)
ها هو الكود أخي:
#include <windows.h>
/* Declare Windows procedure */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
/* Make the class name into a global variable */
char szClassName[ ] = "CodeBlocksWindowsApp";
int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)
{
HWND hwnd; /* This is the handle for our window */
MSG messages; /* Here messages to the application are saved */
WNDCLASSEX wincl; /* Data structure for the windowclass */
/* The Window structure */
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */
wincl.style = CS_DBLCLKS; /* Catch double-clicks */
wincl.cbSize = sizeof (WNDCLASSEX);
/* Use default icon and mouse-pointer */
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL; /* No menu */
wincl.cbClsExtra = 0; /* No extra bytes after the window class */
wincl.cbWndExtra = 0; /* structure or the window instance */
/* Use Windows's default color as the background of the window */
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
/* Register the window class, and if it fails quit the program */
if (!RegisterClassEx (&wincl))
return 0;
/* The class is registered, let's create the program*/
hwnd = CreateWindowEx (
0, /* Extended possibilites for variation */
szClassName, /* Classname */
"هنا تضع عنوان البرنامج", /* Title Text */
WS_OVERLAPPEDWINDOW, /* default window */
CW_USEDEFAULT, /* Windows decides the position */
CW_USEDEFAULT, /* where the window ends up on the screen */
544, /* The programs width */
375, /* and height in pixels */
HWND_DESKTOP, /* The window is a child-window to desktop */
NULL, /* No menu */
hThisInstance, /* Program Instance handler */
NULL /* No Window Creation data */
);
/* Make the window visible on the screen */
ShowWindow (hwnd, nFunsterStil);
/* Run the message loop. It will run until GetMessage() returns 0 */
while (GetMessage (&messages, NULL, 0, 0))
{
/* Translate virtual-key messages into character messages */
TranslateMessage(&messages);
/* Send message to WindowProcedure */
DispatchMessage(&messages);
}
/* The program return-value is 0 - The value that PostQuitMessage() gave */
return messages.wParam;
}

/* This function is called by the Windows function DispatchMessage() */
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) /* handle the messages */
{
case WM_DESTROY:
PostQuitMessage (0); /* send a WM_QUIT to the message queue */
break;
default: /* for messages that we don't deal with */
return DefWindowProc (hwnd, message, wParam, lParam);
}
return 0;
}



حبيت أن أوضح شيئ مهم أن الكلام الذي بين هذه الإشارتين /* مثال */ هو توضيح للكود و لا يقرأ من قبل الجهاز ويفيدك في التعرف على الكود

ryou ken
08-11-2008, 08:33 AM
لقد تم تطوير الحاسبة لتوافق
الاصدار 3.0 والاصدار 3.5
ولقد أضيفت الإصدارين في المشاركة الأولى

الجديد في هذا الإصدار 3.0:
لقد تم لإضافة معرفة القيمة المطلقة لأي عدد
وتم اصلاح بعض الأخطاء والسطور الزاءدة التي وجدت مؤخرا

الجديد في الاصدار 3.5:
لقد تم تعديل كود الجذور وجعله أسرع بثلاثين مرة

وشكرا
أخوكم ryou ken

علاّم
08-11-2008, 12:37 PM
أخي ryou ken
روابط التحميل جميعها تتوقف عند 99.99% ولعدّة محاولات نرجو ملاحظة وحل المشكل
وشكرا جزيلا
ملاحظة : غيّر الموقع لو سمحت

hunter944
08-11-2008, 10:36 PM
السلام عليكم
أخي hunter944 ما قمت به رائع فعلا لكن لو سمحت لي بسؤال : بأي برنامج صممت برنامجك ؟؟؟
وشكــــــرا
ملاحظة عندما تكون درجة كثير الحدود أكبر من 3 لاحظت أن البرنامج لايعطي جميع الحلول الممكنة . نرجو توضيحا أخي

البرنامج بلغة VB.NET

ممكن تعطيني كثير الحدود اللي تشك في صحة نتيجته
http://up5.m5zn.com/photos/00196/1rjf87x6ncu7.jpg (http://up5.m5zn.com/photos/00196/1rjf87x6ncu7.jpg)
حتى شوف الصور أنا ما خليت تابع لم أجربه
حتى التابع السابق قد أخطأ به برنامج Microsoft Math.3
ويمكن التأكد يدويا من صحة حلول برنامجي

إلا إذا كنت تقصد الحلول التخيلية

http://up5.m5zn.com/photos/00196/q0odf3vqj3lh.jpg (http://up5.m5zn.com/photos/00196/q0odf3vqj3lh.jpg)

hero_ma
08-12-2008, 04:51 AM
الف شكراااااااا:smailes43:

علاّم
08-12-2008, 03:34 PM
أخي hunter944 أنا فعلا قصد ذاك أي لماذا لايعطي البرنامج جميع الحلول بما في ذلك الحلول التخيلية أو العقدية لأني لاحظت أنه حينما تكون المعادلة من الدرجة 2 أو 3 يعطي البرنامج جميع الحلول وحتى التخيلية . نرجو توضيحا
شكرا جـــــــــــزيلا

hunter944
08-12-2008, 03:53 PM
أخي الأمر بسيط
في المعادلة الدرجة الثانية هناك طريقة بسيطة لحلها وإيجاد الحلول الحقيقية أو التخيلية (العقدية)
المعادلة درجة ثالثة تملك حل حقيقي على الأقل ولا مجال لذكر الطريقة الآن (البعض يستعمل الحل التجريبي)
وبعد إيجاد الحل الحقيقي وليكن x0 نقوم بتقسيم المعادلة على
x-x0
فتنتج معادلة درجة ثانية نقوم بحلها كما بالطريقة الأولى وسينتج حلين حقيقيين أو تخيليين

أما كثيرات الحدود لدرجات عالية فلا يوجد قانون لإيجاد الحل !
وإنما الحل التجريبي مع بعض الأفكار المساعدة في الحل التجريبي ومن يهمه الأمر مستعد للشرح أكثر

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

علاّم
08-15-2008, 08:56 PM
سؤال للأخ ryou ken
بدأت لغة البرمجة ++C لكني صدمت بشاشة المترجم أو المحرر أي شاشة الدوس السوداء
فتسألت هل جميع البرامج التي تبرمج بهذه اللغة سوف تكون على هذا الشكل ؟؟؟؟؟
بمعنى أذا صممت آلة حاسبة سوف تظهر على شكل شاشة سوداء أم أنها تتحول في مرحلة التنفيذ النهائي الى الشكل المعروف للآلة الحاسبة ؟؟؟؟؟؟؟
شكراللجميع

hunter944
08-16-2008, 07:46 AM
أخي طالما أنك في بداية الطريق
أنصحك بلغة من جيل .net
مثل Vb.net فهي أسهل وأقوى وتحوي قسم توابع رياضية جاهزة
ولغات ال .net هي لغات المستقبل

وقد قمت بالإنتقال لهذه اللغة بمجرد رؤيتها

ryou ken
08-16-2008, 10:35 AM
ألف شكر أخواني واعذروني عن غيابي بسبب سفري
أخي علام أنا في مرحلة مبتدأة وأستطيع لو وصلت إلى مرحلة متقدمة وضع البرنامج على هيئة آلة حاسبة معروفة كما في الكود الموجود في الأعلى
وبخصوص أخي hunter944 أقول أن لغات الدوت نت سهله وسريعة ولكنها ضعيفة نوعا ما لأن هناك من يستطيع أن يأخذ برنامجك ويلعب به كما يريد ويغير فيه ما يشاء أما لغة السي ++ فهي أقوى من الدوت نت وهناك ملاحظة أخرى وهي أن لغة السي ++ تسرق حقوقها بصعوبة ولا يعرف لها إلا محترفين نادرين جدا
وأيضا لغة السي ++ تتيح لك فعل ما تشاء وكل ما تريد كأن تصمم صورة ثلاثية الأبعاد وهذا حقيقي!!
أو أي شيء تريده لأنها لغة متطورة جدا
وأضيف لك معلومة أن هذه المعلومات ليست من نسج خيالي بل أنها حقيقية وقد أخذتها من خبير في البرمجة جرب الفيجوال دوت نت والاكسبريس والفجوال العادي والسي والسي ++
ولكنه لم يأخذ ويعطي في اللغات السابقة كثيرا لأنه رأى أن هناك لغة تتيح له التصرف كما يريد أكثر من أي لغة أخرى ألا وهي سي++ وبعدها تعرف على برنامج المات لاب المتطور جدا وهو الآن يدرس فيه.
إن شاء الله تكون المعلومة وصلت للجميع
وألف شكر أخي hunter944 على إضافاتك الجميلة

علاّم
08-16-2008, 12:47 PM
أشكركم إخواني على ردودكم وأريد منكم أمثلة لبرامج مشهورة مصمّمة بلغة ++C وأخرى مصمّمة بلغة vb.net ( مجرّد ذكر أسماء البرامج )
وشكرا للجميع .

hunter944
08-16-2008, 12:49 PM
تسلم أخي
بس موضوع سرقة الكود بال .NET
متل ما يقولو كل مشكلة وإلها حل وليس منطقي ترك لغة بهذا الجمال والقوة لأول مشكلة تصادفنا
يمكنك حماية الكود ببرامج تشفير وأنا أستعملها قبل طرح البرامج
فهي تقوم أولا بقفل البرنامج وحتى لو تم كسره فيكون الكود مشفر ولا يمكن تحليله

وشركات البرامج الآن اتجهت للغات .Net وبرامج Microsoft
مثل Microsoft Math.3
أو برنامج نوكيا ماب داونلودر أو برنامج الأوتوكاد ...
جميعها بلغات الدوت نت

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

تحياتي

ryou ken
08-16-2008, 04:26 PM
الحمد لله تم إضافة
الاصدار 4.0

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

أخوكم ryou ken

ryou ken
08-16-2008, 05:47 PM
أخي علام قد أضفت في المشاركة الأولى روابط لموقع آخر
على حسب طلبكم
و بالنسبة للبرامج التي صممت بلغة السي بلس بلس فمنها:

http://www.siteduzero.com/uploads/fr/files/5001_6000/5707.jpg

اللعبة المشهورة half life 2 المبرمجة بلغة ++C

http://www.clubic.com/style/images/download/picto_important.gifإنتباه أنا لم أقل أنا هذا سهل بل فقط قلت أن كل هذا ممكن و لكن كونوا على يقين أن كل هذا يتطلب عملا كبيرا و كثيرا.

اللغات ذات المستوى العالي مثل
C
C++
Java
Visual Basic
Delphi
إلخ إلخ....

وأحلاها الجافا والسي++

(هذه القطعة منقولة من هذه الصفحة (http://www.bramjnet.com/vb3/showthread.php?t=436218))


وهناك غيرها الكثير........
واللغة لا تقتصر على الألعاب وعلى الثري دي بل أيضا البرامج وأنا لا أعرف برامج مصنوعة بالسي++ لأني لم أسأل عنها ولم أجرب البحث عنها
أتمنا أن تكون الفكرة قد وصلت للجميع

ryou ken
08-16-2008, 06:08 PM
أخواني حبيت أضع لكم شرح للحاسبة وقوائمها:

أول ما تفتح الحاسبة:
1.اضغط (1) إذا كنت تريد أن تجمع أو تطرح أو تقسم أو تضرب أي عدد صحيح.
2.اضغط (2) إذا كنت تريد أن تجمع أو تطرح أو تقسم أو تضرب أي عدد عشري.
3.اضغط (3) إذا كنت تريد أن تجمع أو تطرح أو تقسم أو تضرب أي عدد عملاق كالبلايين.
4.اضغط (4) إذا كنت تريد أن تعرف هل الرقم أولي أو لا.
5.اضغط (5) إذا كنت تريد أن ترى جدول الضرب لأي رقم تريده.
6.اضغط (6) إذا كنت تريد أن تعرف جذر أي رقم.
7.اضغط (7) إذا كنت تريد أن ترى أصل أي كسر.
8.اضغط (8) إذا كنت تريد أن تعرف القيمة المطلقة لأي عدد.
9.اضغط (9) إذا كنت تريد أن تعرف النسبة المئوية لأي مرحلة دراسية تريدها.

وصلى الله على سيدنا محمد وعلى آله وصحبه وسلم

أخوكم ryou ken

ryou ken
08-17-2008, 08:14 AM
أريد أن أضيف معلومة لجميع الأعضاء عامة والأخ hunter944 خاصة ألا وهي:

أن لغة السي++ حرة جدا أي أنك تستطيع فعل ما تريده بها مهما كان كألعاب عادية وألعاب ثري دي وصور ثري دي أيضا وبرامج مميزة جدا ومعقدة.

وهذه المعلوة وضعتها بين السطور السابقة بشكل مبهم أما الآن فأريد أن أوضحها ليفهمها الجميع

وهناك شيء آخر أريد أن أأكد عليه هو الصورة التي وضعتها في السابق التي هي هذه:

http://www.siteduzero.com/uploads/fr/files/5001_6000/5707.jpg

أعد النظر فيها وتأمل وضوحها وصفاءها ألا ترى الإنعكاسات التي على الماء والناس البعيدين وهذا كله ثري دي أي ثلاثي الأبعاد أي أنك إذا أردت أن ترى المسدس من جميع الجهات تستطيع رؤيته وإذا أردت أيضا أن ترى الناس من جميع الجهات تراهم وأيضا المبنى المحيط.
فأي لغة تستطيع فعل هذا!!

وصلى الله على سيدنا محمد وعلى آله وصحبه وسلم

hunter944
08-17-2008, 08:59 AM
والله يا أخي أنا ما يهمني أعمل دعاية لأي لغة برمجة كل لغة ولها حسنات وسيئات
لكن حبيت أطرح ما هو مفهوم الدوت نت
أنا فضلت الدوت نت لسبب أكبر من مجرد لغة برمجة

هالكتاب يحوي مقدمة جيدة عن الموضوع لمن يحب الإطلاع

http://www.kutub.info/library/open.php?cat=19&book=860

ryou ken
08-17-2008, 11:36 AM
أخي hunter944 أنا لم يكن قصدي دعاية ولا خرابيط أنا كان قصدي إيضاح الأفضل من لغات البرمجة للناس ليستطيعوا البدء في اللغة المميزة

ومشكور أخي على الكتاب وثاني شيء أبغى أوضحه أن لغة الفيجوال بيسك دوت نت تستعمل قوالب جاهزة فلذلك لا تعطيك الحرية الكاملة أما السي++ فأنت الذي تعطيها ما تريد
وهذا كل ا كنت أريد إيضاحه ليسهل على محبي البرمجة معرفة ما يريدون البدء فيه

ومشكور على إضافاتك أخي

ryou ken
08-17-2008, 01:07 PM
تم بحمد الله تطوير الحاسبة لتوافق
الإصدار 4.5

الجديد في الإصدار 4.5:
لقد تم تعديل أخطاء مهمة في فقرة حساب النسبة المئوية لتصبح فعالة أكثر
مع التعديل البسيط في المتغيرات

أخوكم ryou ken

hunter944
08-17-2008, 05:23 PM
ولا يهمك أخي إبقى في اللغة التي تجد نفسك فيها

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

وعلمني هالشي ما أستعجل بطرح أي برنامج إلا بعد التجريب المكثف

ryou ken
08-18-2008, 01:31 PM
شكرا لك أخي على المعلومة المهمة بس أنا أحب أغامر عشان أتعلم
وشكرا لك على إضافاتك الجميلة في الموضوع التي جعلت منه موضوع مميز
أكرر شكري تسلم أخي

سموووري
08-24-2008, 12:25 AM
مشكوور على جهودك وافادتنا:) :) :) :) :)
انا شفت كثير من تصاميم الات الحاسبه بلغة ++C لاكن في مره دخلت على هالمنتدى وشفت اله حاسبه من تصميم عضو اتوقع اسمه كان ryou ken كانت رائعه وشامله مثل ماكتب عنها بس كان ودي اساله اذا جربها باحدى انواع repetition structur يمكن تكون اسهل واقصر,,بس ماشالله عليه من جد ابدع فيها الله يوفقه انشاالله..

ryou ken
09-06-2008, 06:20 PM
يا أختي ما هي أنواع repetition structur
وشكرا على مرورك الطيب