بسم الله الرحمن الرحيم
هذا برنامج صغير للالة حاسبة
وما في اي خطا وجربته في الجامعة وزبط معايا
لكم لمن جربت على جهازي تطلع هاذي الصورة
بصراحة ماني عارف ايش اعمل
وربيي يعطيـــــــــه الف عافية مقدما
بسم الله الرحمن الرحيم
هذا برنامج صغير للالة حاسبة
وما في اي خطا وجربته في الجامعة وزبط معايا
لكم لمن جربت على جهازي تطلع هاذي الصورة
بصراحة ماني عارف ايش اعمل
وربيي يعطيـــــــــه الف عافية مقدما
السلام عليكم
حاول أن تضع الكود بالكامل بدون الرسومات
+
حاول ان تكتب return 0
بنهاية الدالة الرئيسية
+
بتكون متأكد من تثبيت البرنامج والمكتبات
ناطرة الإجابة أخي بارك الله بك
موفق يارب
وبعدين انا شايفة الأخطاء warnings مش errors
والبرنامج عندك release أو debug؟
[وسط]
♥ Countess ♥

♥
[/وسط]
سانياً البرنامج ما بيقرأ الفنجان ![]()
وين المدخلات للأعداد والمدخلات الخاصة بالعمليات؟
عموماً البرنامج التالي بيعمل نفس الفكرة بشكل صحيح وبيعمل معي بشكل صحيح
#include <iostream>
using namespace std;
int main()
{
float number1 , number2;
char x;
cout << "please type number1 and number2 ";
cin >> number1 >> number2;
cout << "Please type the operation you need(+,-,*,/) ";
cin >> x;
if(x == '+')
cout << number1 + number2;
else if(x == '-')
cout << number1 - number2;
else if(x == '*')
cout << number1 * number2;
else if(x == '/')
cout << number1 / number2;
return 0;
}البرمجة مش كتابة خواطر ![]()
![]()
موفق يارب
تم تعديل هذه المشاركة بواسطة ♥ حُوريّة ♥ في 13 مارس 2011 في 08:08
[وسط]
♥ Countess ♥

♥
[/وسط]
Mr.Raed كتب:
عليك فقط ان تضع قيمه مبدائيه للمتغيرات x number1 number2 فقط ، يمكن ان تستخدم cin او ان تضع القيمه في ال compile time
مثال بأستخدام cin و assign values in runtime
#include <iostream>
using namespace std;
int main ()
{
float number1,number2;
char x;
cin>>number1>>x>>number2;
if(x=='+')
cout<<number1+number2;
if(x=='-')
cout<<number1+number2;
if(x=='*')
cout<<number1+number2;
if(x=='/')
cout<<number1+number2;
return 0;
}مثال في ال compile time
#include <iostream>
using namespace std;
int main ()
{
float number1=1,number2=1;
char x='+';
if(x=='+')
cout<<number1+number2;
if(x=='-')
cout<<number1+number2;
if(x=='*')
cout<<number1+number2;
if(x=='/')
cout<<number1+number2;
return 0;
}هنلك قاعده مهما جدا في البرمجه وهي ان لا تستخدم القيم بداخل المتغيرات قبل انشائها (initialized)
فعندما نقول
int x
هنا عملنا deceleration اي تعريفه لهذا المتغير
x=1
هنا عملنا initialized لممتغير ب assign value
ويمكن عملها مره واحده مثل
int x=1
تم تعديل هذه المشاركة بواسطة Ali Al-Zyoud في 13 مارس 2011 في 09:17
♥ حُوريّة ♥ كتب:السلام عليكم
حاول أن تضع الكود بالكامل بدون الرسومات
+
حاول ان تكتب return 0
بنهاية الدالة الرئيسية
+
بتكون متأكد من تثبيت البرنامج والمكتبات
ناطرة الإجابة أخي بارك الله بك
موفق يارب
وبعدين انا شايفة الأخطاء warnings مش errors
والبرنامج عندك release أو debug؟
بما ان الخطء هو debug error هذا يدل على ان البرنامج يبنى debug وليس release
"بتكون متأكد من تثبيت البرنامج والمكتبات"
المشكله ليس لها علاقه بالمكتبات المشكله انه يستخدم قيمه داخل متغير قبل انشائه .
الخطأ واضح، کما قال الأخ علي..
فی الخطأ یقول "the variable 'x' is being used without being defined"..
و ایضا تحت النافذة یقول،
uninitialized local variable number1 used
uninitialized local variable number2 used
انت استخدمت x و number1 و number2 دون قیمة الأولیة..
أخی العزیز Mr.Raed یبدو انک لا تنظر بالتنبیهات، و ذلک شیء مهم و یساعدنا کثیرا ان کان خطأ فی برنامجنا.. فی سوالک السابق هنا قیل بعض طرق لمعرفة الأخطاء،
فقط احببتُ اخبرک لا تنسی هذا الأمر :)
تم تعديل هذه المشاركة بواسطة C77431 في 13 مارس 2011 في 09:46
شاكرة اهتمامكم اخواني الكرام علي و C77431
وإضافاتكم التفصيلية
مشاركتي رقم 3 فيها الحل وكانت موجزة ونموزجية ايضاً لبعد التدقيق بالمشكلة
معلومات قيمة اضافية
موفقين يارب
[وسط]
♥ Countess ♥

♥
[/وسط]
السلام عليكم ^_^
اهنين بحبايبي ^_^
والله ماني عارف ايش اقول بجد خجلتوني اذا تاسست صح فانتم بصراحة وبدون مجاملة سر نجاحي
حورية اختي ^_^ بالنسبة للمكتبات فليسه ما ثبتها لان قال الدكتور بعدين دحين ما نحتاجها ^_^
خخخ والكود حقك احلا من حقي لان صغير كدا ومهضوم هههههه
بس انت خبيرة انا مو خبير هههه
اخوي علي و علي و C77431
يعطيكم ربي الـــــــــــف عافية انا عدلت الخطا واشتغل بس هناك مشكلة غريبة عجيبة هع
انو الجمع يجمع صح بس اذا طرحت او قسمت او ضربت ما ينفذ العملية
شوف الصورة
أخوی أحذف المسافات للطرح و الضرب و القسمة، یعنی بدل من هذا
else if (op == ' - ')
اکتب هکذا دون المسافات:
else if (op == '-')
تم تعديل هذه المشاركة بواسطة C77431 في 13 مارس 2011 في 16:19
صح اخوي يعطيك ربي الـــــف عافية
بس انا قرات انو ما نبدا بمسافات ولا حروف غريبة
ما هو قصدهم اي متغيرات بالزبط ممم وشكرا لك اخوي
البرنامج زبط
وهل المسافات غير مسموح فيها
♥ حُوريّة ♥ كتب:شاكرة اهتمامكم اخواني الكرام علي و C77431
وإضافاتكم التفصيلية
مشاركتي رقم 3 فيها الحل وكانت موجزة ونموزجية ايضاً لبعد التدقيق بالمشكلة
معلومات قيمة اضافية
موفقين يارب
انا اخلفك الرأي بذلك لانك لم تحددي ما هو الخطاء بالفعل ، كل ما اوضحتيه انه "البرمجة مش كتابة خواطر" وهذا لا يفسر سبب الخطاء السبب يجب ان يكون واضح بأن نقول مثلا لا تستخدم متغير قبل ان تسند له قيمه.