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

أسئلة في السي

مغلق
بدأه Desigen في 27 سبتمبر 2005 · 7 رد · 711 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

يعطيكم العافية

عندي أسئلة في السي

printf ( "%d\n" , x , "\n" ) ;

لماذا لم يتم قبول الشكل السابق

unsigned int y = -5;

لماذا لم يعطي المترجم خطأ على العبارة السابقة يجب أن يأخذ المتحول الأعداس الموجبة فقط

#define Const_Define // out side main () 

printf ( "%d\n" , Const_Define ); // inside main ()

لماذا أعطى خطأ على هذه الجملة

في التعبر التالي لم يتوقف البرنامج للقراءة من لوحة المفاتيح

    int num; 
    printf ( "Enter Number : " ); 
    scanf ( "%d" , & num ); 
    
    if ( num > 100 )
       printf ( "The Number %d is bigger than 100\n" , num ); 
    else
        if ( num == 100 ) 
           printf ( "The Number %d equal 100\n" , num );  
        else
           printf ( "The Number %d is smaller than 100\n" , num );  
    
    char ch; 
    printf ( "Enter Char a .. c : " ); 
    scanf ( "%c" , & ch ); 
    
    switch ( ch ) 
    {
           case 'a' : case 'A' : printf ( "You Pressed %c Thank You\n" , ch ); break; 
           
           default : printf ( "Sorry , %c Not In The Group\n" , ch ); break; 
             }

شكرا للجميع

#2
اقتباس
printf ( "%d\n" , x , "\n" );

لماذا لم يتم قبول الشكل السابق

جربته عندي واشتغل بدون اي مشاكل. تأكد من كومبايلرك

اقتباس
unsigned int y = -5;

لماذا لم يعطي المترجم خطأ على العبارة السابقة يجب أن يأخذ المتحول الأعداس الموجبة فقط

حتى انا مستغرب :blink:

اقتباس
#define Const_Define // out side main () 

printf ( "%d\n" , Const_Define ); // inside main ()

لماذا أعطى خطأ على هذه الجملة

لازم يعطيك خطأ لانك طلبت يعطبع ثابت انت ما اعطيته اي قيمه؟؟؟ شنو تريده يطبعلك؟؟؟

اقتباس
في التعبر التالي لم يتوقف البرنامج للقراءة من لوحة المفاتيح

    int num; 
    printf ( "Enter Number : " ); 
    scanf ( "%d" , & num ); 
    
    if ( num > 100 )
       printf ( "The Number %d is bigger than 100\n" , num ); 
    else
        if ( num == 100 ) 
           printf ( "The Number %d equal 100\n" , num );  
        else
           printf ( "The Number %d is smaller than 100\n" , num );  
    
    char ch; 
    printf ( "Enter Char a .. c : " ); 
    scanf ( "%c" , & ch ); 
    
    switch ( ch ) 
    {
           case 'a' : case 'A' : printf ( "You Pressed %c Thank You\n" , ch ); break; 
           
           default : printf ( "Sorry , %c Not In The Group\n" , ch ); break; 
    }

شكرا للجميع

جرب اكتب switch على شكل داله وادخلها في ضمن البرنامج مثلا , لو فلنا ان اسم الداله هو choose(), تقدر تكتبها بهالشكل

if ( num > 100 )
{
       printf ( "The Number %d is bigger than 100\n" , num ); 
choose();
}

كان بودي اجاوب بتفصيل اكثر بس علييه امتحان بكره ولازم اطلع اذاكر :( <_<

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 28 سبتمبر 2005 في 09:15

#3
Desigen كتب:
printf ( "%d\n" , x , "\n" );

لماذا لم يتم قبول الشكل السابق

"%d\n" تقوم بكتابة عدد أي Signed decimal integer لكنك كتبت بعده متغيرين x و "\n" وهو خطا

الصحيح هو

printf ( "%d\n\n" , x );

تكتب Format ثم المتغيرات بعده

مثال أخر صحيح

printf ("%d %s \n", x, "\n");

تم تعديل هذه المشاركة بواسطة DeltaAziz في 27 سبتمبر 2005 في 20:12

d4baa0.gif
#4

فهمت عليك

يعني البروتو تايب للدالة printf هو

( "the Print " , The Variables )

سلام

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 28 سبتمبر 2005 في 09:13

#5

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

لان Else يعني غير ذلك اذا كان الامر غير ذلك فيامر البرنامج ان يطبع الجملة لكن انت وضعت اكثر من ELSE فهنا خطأ كببير

لكن اذا اردت التخصيص فمثلا تريد من المستخدم ادخال رقم 50 ثم تضع عدة احتمالات فلا بدمن استخدم else if يعني فيها تحديد

اليك البرنامج التالي

 int v;
printf(" Enter A number\n ");
scanf("%d",&v);
if(v>200){/*هنا اول شرط ثم القوس لابد منه */
printf(" the number is to big \n ");
getch();/*هذه لتثبيت الشاشة حتى عند تحقق الشرط*/
}/*لاحظ هنا تم قفله*/
 else if(v<20){/*بامكانك وضع شرط اخر بمعنى اذا كان غير ذلك بان يكون */
printf(" the number is to smal \n ");
getch();
}
else {/*يجب ان تكون الس مره واحد في البرنامج*/
printf(" the number is %d \n ",v);
getch();
}
}

تم تعديل هذه المشاركة بواسطة al3oboor في 28 سبتمبر 2005 في 00:39

القرءان يحرك المشاعر ويسكب العبرات ويعيد شريط الحياة الى فجرات وغدرات إن لم يغفرها الله فهي علينا يوم القيامة ندامة وحسرات .

فكيف لو سمعته من قارئ حسن , انعم الله عليه بنعمة نحن محرومون منها , فحلق معنا في سماء القرءان مع االقارئ محمد البراك

دعاء ختم القرءان للمحيسني بمسجد القطري بمكة المكرمة مؤثر جدا

إمامَ المُرسلينَ فداكَ رُوحـــي** وأرواحُ الأئمةِ والدُّعــــاةِ

رسولَ العالمينَ فداكَ عرضي* * وأعراضُ الأحبّةِ والتُّقــاةِ

ويا علم الهدى يفديك عمري ** ومالي.. يا نبي المكرماتِ!!

ويا تاج الهدى تفديك نفسي ** ونفسُ أولي الرئاسةِ والولاةِ

فداكَ الكون يا عَطِرَ السجايا**فما للكون دونك من زكاةِ..

فأنتَ قداســة ٌ إمَّـا استُحلّتْ** فذاكَ الموتُ من قبل الممات!!

ولو جحد البريّةُ منك قــولاً ** لكُبّوا في الجحيم مع العُصاةِ

وعرضُك عرضُنا ورؤاكَ فينا ** بمنزلة الشهادةِ والصــلاةِ

رُفِعْتَ منازلاً.. وشُرحت صدرا** ودينُكَ ظاهرٌ رغمَ العُداةِ

وذكرُكَ يا رســـولَ اللهِ زادٌ** تُضاءُ بهِ أسَاريرُ الحَيَــاةِ

وغرسُك مُثمرٌ في كلِّ صِقع ٍ** وهديُكَ مُشرقٌ في كلِّ ذاتِ

#6
Desigen كتب:
unsigned int y = -5;

لماذا لم يعطي المترجم خطأ على العبارة السابقة يجب أن يأخذ المتحول الأعداس الموجبة فقط

[

لم ولن يعطيك الكومبايلر خطأ لأنه سيقوم بوضع -5 كما هي واذا اردت طباعتها ستفاجأ بأن الرقم ليس 5-

وذلك بسبب تمثيلها في خط الاعداد الرقمية :rolleyes:

#7
#define Const_Define

يجب أن يكون الكود

#define Const_Define " Muslims" 
 int main()
 {
printf ( "%s\n" , Const_Define ); // inside main ()

اولاً تحدد النص الملحق بالdefine

ثانياً يجب تحدد التعديل s% علي الجملة .

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#8

شكرا لكم جميعا

عرفت الأخطاء يلي ارتكبتها

و ان شاء الله ما هتتكرر

سلام

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

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