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

اريد الخطا فى هذا الكود لو سمحتوم

مغلق
بدأه ahmed في 1 نوفمبر 2002 · 19 رد · 834 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

- الكود -

#include

#include

int main()

{

char input;

void Display(void);

void Modify(void);

StartMenu:

cout<<"1. Enter Data";

cout<<"2. Display Data";

cout<<"3. Modify Data";

cout<<"4. Exit";

cin>>input;

switch (input)

{

case 1: Input(); break;

case 2: Display(); break;

case 3: Modify(); break;

case 4: return 0; break;

default:

cout:(

#2

السلام عليكم

عرفت input من النوع char لذا في جمل case عليك استخدام الارقام داخل '' اي '1' و '2' ....

او ان تستخدم int input ;

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#3

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

#4

@اذا كان المقصود منchar input[/color:]

تعريف function فيبدو انك نسيت كتابة the body مع ملاحظة انه يجب ان ترجع قيمة في هذه الدالة must return value

#6

انا اسف تعبتكم معايا ولكن حتى الان لا اعرف الخطا اين على العموم الذى يعرف الخطا يكتب الكود مرة ثانية ثم يضع خط او علامة على الخطا ويكون هذا تصحيحة انا اسف اصل انا فهمى بطئ . فلو سمحتوم مثل ما قلت لكى اعرف الخطا .

وشكرا :rolleyes: :rolleyes:

#7

StartMenu:

what the meaning for that ? and what that work?

member the error from that

your sister

c_languge

#8

أخي لقد أجاب tmaaa عن سؤالك . لكن ان لم تفهم فسأشرح:

ما نوع المتغير input? أجب أنت , لقد عرفته على أنه حرف اليس كذلك, اذن عليك في جمل CASE أن تقارن INPUT مع أحرف لكنك قمت بمقارنته مع ارقام..

بإختصار عليك أن تكتب

;()case '1':Input

وليس

;()case 1:Input

وان كنت مصرا على استخدام أرقام, فقم بتعريف input على انه int وليس char

#9

void Display(void);

void Modify(void);

اذا كانت هذه الاوامر معرفه في

#include

وفلا داعي تعرفيها مرة اخرى في main

فقد تقوم بمنادات الدالة

اختكم

لغة سي

#10

السلام عليكم

شكرا اخي esmaeel2001 على التوضيح (f). بالفعل هذا ما كنت أقصده .

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#11

عرفت اين الخطأ في البرنامج

لقد قمت بنسخ البرنامج الموجود هنا وعرفت اين الخطأ

الخطأ هو

Input ();

هذه الدالة او function غير معرفه لذلك لا يعمل البرنامج

وليس في char or int

اذا كتبت case 1:

or

case '1': نفس الشيء لان توجد علاقه بين char & int

مثل ما يقول دكتور في الجامعة لدينا

int & char اعيال عم

اختكم

لغة سي

#12

أخي كلامك صحيح بأن كتابتك case 1 لن تجعل المترجم يصدر أمر خطأ لكن البرنامج لن يعمل كما تشاء, فأنت تريد الامر ان يُنفّذ بالضغط على الزر 1 , وبما أن الـ input هو char فالضغط على زر 1 سيعطي input قيمة 48 (اسكيي), لآن '1' يساوي 48 أو 49 لا اذكر...

--------------------------------

قولك لا فرق بين int و char أرجو أن تتحقق منه جيدا لأن لكل حرف قيمة رقمية لكن char 1 لا يساوي int 1 ....

لمعرفة عما اتحدث راجع فهرس ascii ...

الفرق باختصار أن '1' هو حرف! , و 1 رقم !

#13

انا اقصد من ناحية العمل في case

لا يوجد فرق

وانا قمت بعمل اكثر من برنامج على نفس نمط الاخ احمد ولم

تظهر لدي اي مشكلة

وانا اعمل

انا char' 1' = 49

لكن المشكلة اخ احمد انه لم يعرف function

وليس في case

لانني قمت بتشغيل البرنامج لدي لكي اعرف اين مصدر الخطأ

وشكرا لتعاونكم معنا في حل المشكلة

اختكم

لغة سي

#14

السلام عليكم

اقتباس

الرجاء معرفى الخطا فى الكود ولكن بعيدا عن الدوال الفرعية هذا الكود بدون الدوال الفرعية وانا اريد ذلك . :(  

to c_languge:

الاخ قال بعيدا عن الدوال الفرعيه , يعني ان الدوال التي لم يعرفها ليس فيها اي خطأ وهي دوال قام بكتابتها بنفسه لكنه لم يكتب Function Body في السؤال .

ذُكِرَ الخطأ في الاجابات السابقه فلا داعي لذكره مرة اخرى .

'1' = 49 هذه الجمله توضح سبب الخطأ . ;)

للتاكد اكثر بعد جمله cin>>input; استخدم الجمله

printf("%d,%c",input,input);

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#15

السلام عليكم

انا اعلم انه يريد البرنامج من غير الدوال الفرعية

لكن كيف ينادي دالة وليس اسمها معرفه في main

او خارجه

***********************************

#include

#include

int main()

{

char input;

void Display(void);

void Modify(void);

StartMenu:

cout<<"1. Enter Data";

cout<<"2. Display Data";

cout<<"3. Modify Data";

cout<<"4. Exit";

cin>>input;

switch (input)

{

//case 1: Input(); break;

case 2: Display(); break;

case 3: Modify(); break;

case 4: return 0; break;

default:

cout<<"Error, bad input, quitting";

goto StartMenu;

}

return 0;

}

************************

#include

#include

int main()

{

char input;

void Display(void);

void Modify(void);

void Input(void); // your mistake

StartMenu:

cout<<"1. Enter Data";

cout<<"2. Display Data";

cout<<"3. Modify Data";

cout<<"4. Exit";

cin>>input;

switch (input)

{

case 1: Input(); break;

case 2: Display(); break;

case 3: Modify(); break;

case 4: return 0; break;

default:

cout<<"Error, bad input, quitting";

goto StartMenu;

}

return 0;

}

*****************

قارنوا بين البرنامجين حتى يتم معرفه ماذا اقصد

اختكم

لغة سي

#16

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

void Input(void); // your mistake

هو واننى لم اعرف المتغير input انة void مع اننى عرفتة متغير حرفى ولكن هل لابد تعريفة مرة ثانية مثل ما كتبتى ام لا ام ان كلامى خطا واذا كان خطا ارجو كتابة الكود مرة ثاية بالكامل ووضع علامة على مكان الخطا مثل ما فعلتى اخت c_languge لكى اعرف كان الخطا ثم بعد ذلك شرح الخطا والسبب لاننى لم اعرف اين الصح واين الخطا انا اتلخبط خالص .

وشكرا

:( :( :(

#17

أخي أحمد void Input(void); هذا داله غير ممر له اي متغير

If you think yourself that you are nobody, you should go somewhere to find yourself

#18
اقتباس
الرساله الأصليه بواسطة

#include

#include

int main()  

{  

char input;

void Display(void);

void Modify(void);

void Input(void);  

StartMenu:

cout<<"1. Enter Data";  

cout<<"2. Display Data";  

cout<<"3. Modify Data";  

cout<<"4. Exit";  

cin>>input;  

switch (input)  

{  

case 1: Input(); break;

case 2: Display(); break;  

case 3: Modify(); break;  

case 4: return 0; break;  

default:  

cout<<"Error, bad input, quitting";  

goto StartMenu;  

}

return 0;

}

*****************

 

هذه نسخة الصحيحه

الخطا كما ذكر الشبح

اختكم

لغة سي

#19

أنا لم ادكر شي الاني لم اشكرك اكثر من 2 في هذا الموضوع :)

If you think yourself that you are nobody, you should go somewhere to find yourself

#20
اقتباس
الرساله الأصليه بواسطة

أخي أحمد void Input(void);  هذا داله غير ممر له اي متغير

************

انا اقصد هذه الجملة

اختكم

لغةسي

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

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