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

خطا غريب بالصورة

بدأه Mr.Raed في 13 مارس 2011 · 11 رد · 790 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

هذا برنامج صغير للالة حاسبة

وما في اي خطا وجربته في الجامعة وزبط معايا

لكم لمن جربت على جهازي تطلع هاذي الصورة

بصراحة ماني عارف ايش اعمل

وربيي يعطيـــــــــه الف عافية مقدما

83380c5836.png

1f557e95a4.jpg
#2

السلام عليكم

حاول أن تضع الكود بالكامل بدون الرسومات

+

حاول ان تكتب return 0

بنهاية الدالة الرئيسية

+

بتكون متأكد من تثبيت البرنامج والمكتبات

ناطرة الإجابة أخي بارك الله بك

موفق يارب

وبعدين انا شايفة الأخطاء warnings مش errors

والبرنامج عندك release أو debug؟

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#3

سانياً البرنامج ما بيقرأ الفنجان wub.gif

وين المدخلات للأعداد والمدخلات الخاصة بالعمليات؟

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

#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;
}

البرمجة مش كتابة خواطر happy.gifwub.gif

موفق يارب

تم تعديل هذه المشاركة بواسطة ♥ حُوريّة ♥ في 13 مارس 2011 في 08:08

1

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#4
Mr.Raed كتب:

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

هذا برنامج صغير للالة حاسبة

وما في اي خطا وجربته في الجامعة وزبط معايا

لكم لمن جربت على جهازي تطلع هاذي الصورة

بصراحة ماني عارف ايش اعمل

وربيي يعطيـــــــــه الف عافية مقدما

83380c5836.png

عليك فقط ان تضع قيمه مبدائيه للمتغيرات 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

1
#5
♥ حُوريّة ♥ كتب:

السلام عليكم

حاول أن تضع الكود بالكامل بدون الرسومات

+

حاول ان تكتب return 0

بنهاية الدالة الرئيسية

+

بتكون متأكد من تثبيت البرنامج والمكتبات

ناطرة الإجابة أخي بارك الله بك

موفق يارب

وبعدين انا شايفة الأخطاء warnings مش errors

والبرنامج عندك release أو debug؟

بما ان الخطء هو debug error هذا يدل على ان البرنامج يبنى debug وليس release

"بتكون متأكد من تثبيت البرنامج والمكتبات"

المشكله ليس لها علاقه بالمكتبات المشكله انه يستخدم قيمه داخل متغير قبل انشائه .

1
#6

الخطأ واضح، کما قال الأخ علي..

فی الخطأ یقول "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

2
#7

شاكرة اهتمامكم اخواني الكرام علي و C77431

وإضافاتكم التفصيلية

مشاركتي رقم 3 فيها الحل وكانت موجزة ونموزجية ايضاً لبعد التدقيق بالمشكلة

معلومات قيمة اضافية

موفقين يارب

−1

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#8

السلام عليكم ^_^

اهنين بحبايبي ^_^

والله ماني عارف ايش اقول بجد خجلتوني اذا تاسست صح فانتم بصراحة وبدون مجاملة سر نجاحي

حورية اختي ^_^ بالنسبة للمكتبات فليسه ما ثبتها لان قال الدكتور بعدين دحين ما نحتاجها ^_^

خخخ والكود حقك احلا من حقي لان صغير كدا ومهضوم هههههه

بس انت خبيرة انا مو خبير هههه

اخوي علي و علي و C77431

يعطيكم ربي الـــــــــــف عافية انا عدلت الخطا واشتغل بس هناك مشكلة غريبة عجيبة هع

انو الجمع يجمع صح بس اذا طرحت او قسمت او ضربت ما ينفذ العملية

28bc6df4b9.png

شوف الصورة

1f557e95a4.jpg
#9

أخوی أحذف المسافات للطرح و الضرب و القسمة، یعنی بدل من هذا

else if (op == ' - ')

اکتب هکذا دون المسافات:

else if (op == '-')

تم تعديل هذه المشاركة بواسطة C77431 في 13 مارس 2011 في 16:19

1
#10

صح اخوي يعطيك ربي الـــــف عافية

بس انا قرات انو ما نبدا بمسافات ولا حروف غريبة

ما هو قصدهم اي متغيرات بالزبط ممم وشكرا لك اخوي

البرنامج زبط

وهل المسافات غير مسموح فيها

1f557e95a4.jpg
#11

وما الفرق بين " و '

1f557e95a4.jpg
#12
♥ حُوريّة ♥ كتب:

شاكرة اهتمامكم اخواني الكرام علي و C77431

وإضافاتكم التفصيلية

مشاركتي رقم 3 فيها الحل وكانت موجزة ونموزجية ايضاً لبعد التدقيق بالمشكلة

معلومات قيمة اضافية

موفقين يارب

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

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