اذهب إلى المحتوى

السؤال

نشر

انا مبتدأ وما زلت اتعلم البرمجة 

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

اقتباس

;Console.Write("Enter your age : ")
           ; ()int age = Console.ReadLine

            if (age <= "15")
           }
              ;  Console.WriteLine("Go back to school -_-!")
           {
            ;()Console.ReadLine

لذا حاولت بطريقة اخرى لكن هذه الطريقة طويلة وتحتوي على اخطاء 

/*
            Console.Write("Hi ... Enter your age : ");
            string Age = Console.ReadLine();
            string messegeToAge0n15 = "1-15";
            string messegeToAge16n25 = "16-25";
            string messegeToAge26n40 = "26-40";
            string messegeToAge41 = "41-n";


            if (Age == "0") Console.WriteLine(messegeToAge0n15);
            else if (Age == "1") Console.WriteLine(messegeToAge0n15);
            else if (Age == "2") Console.WriteLine(messegeToAge0n15);
            else if (Age == "3") Console.WriteLine(messegeToAge0n15);
            else if (Age == "4") Console.WriteLine(messegeToAge0n15);
            else if (Age == "5") Console.WriteLine(messegeToAge0n15);
            else if (Age == "6") Console.WriteLine(messegeToAge0n15);
            else if (Age == "7") Console.WriteLine(messegeToAge0n15);
            else if (Age == "8") Console.WriteLine(messegeToAge0n15);
            else if (Age == "9") Console.WriteLine(messegeToAge0n15);
            else if (Age == "10") Console.WriteLine(messegeToAge0n15);
            else if (Age == "11") Console.WriteLine(messegeToAge0n15);
            else if (Age == "12") Console.WriteLine(messegeToAge0n15);
            else if (Age == "13") Console.WriteLine(messegeToAge0n15);
            else if (Age == "14") Console.WriteLine(messegeToAge0n15);
            else if (Age == "15") Console.WriteLine(messegeToAge0n15);
            else if (Age == "16") Console.WriteLine(messegeToAge16n25);
            else if (Age == "17") Console.WriteLine(messegeToAge16n25);
            else if (Age == "18") Console.WriteLine(messegeToAge16n25);
            else if (Age == "19") Console.WriteLine(messegeToAge16n25);
            else if (Age == "20") Console.WriteLine(messegeToAge16n25);
            else if (Age == "21") Console.WriteLine(messegeToAge16n25);
            else if (Age == "22") Console.WriteLine(messegeToAge16n25);
            else if (Age == "23") Console.WriteLine(messegeToAge16n25);
            else if (Age == "24") Console.WriteLine(messegeToAge16n25);
            else if (Age == "25") Console.WriteLine(messegeToAge16n25);
            else if (Age == "26") Console.WriteLine(messegeToAge26n40);
            else if (Age == "27") Console.WriteLine(messegeToAge26n40);
            else if (Age == "28") Console.WriteLine(messegeToAge26n40);
            else if (Age == "29") Console.WriteLine(messegeToAge26n40);
            else if (Age == "30") Console.WriteLine(messegeToAge26n40);
            else if (Age == "31") Console.WriteLine(messegeToAge26n40);
            else if (Age == "32") Console.WriteLine(messegeToAge26n40);
            else if (Age == "33") Console.WriteLine(messegeToAge26n40);
            else if (Age == "34") Console.WriteLine(messegeToAge26n40);
            else if (Age == "35") Console.WriteLine(messegeToAge26n40);
            else if (Age == "36") Console.WriteLine(messegeToAge26n40);
            else if (Age == "37") Console.WriteLine(messegeToAge26n40);
            else if (Age == "38") Console.WriteLine(messegeToAge26n40);
            else if (Age == "39") Console.WriteLine(messegeToAge26n40);
            else if (Age == "40") Console.WriteLine(messegeToAge26n40);
            else if (Age == "41") Console.WriteLine(messegeToAge41);
            else   Console.WriteLine(messegeToAge41);
            Console.ReadLine();


        }
    }
}
*/

اعلم انها قد تكون سهلة لكن .... المبتدئين يواجهون مشاكل في بداية مسيرتهم :] 

Recommended Posts

  • 0
نشر

مرحباً @Ali Proof

في الصورة المرفقة الخطأ واضح دعني أوضحه أكثر وما سببه , أنت تقوم بتعريف متغير من int اي رقم لكن تقوم بلتحقق منه في جملة الشرط كنص أي String لأنك تضعه بين علامتي تنصيص "" وغير ذلك لا يمكنك إستخدام علامات > أو = أو علامات المقارنة المشابه لمقارنة نص , الأن لحل المشكلة يمكننا إما تعريف المتغير age كنص String وإستخدام المقارنة من خلال الميثود Compare أو الإبقاء على المتغير كما هو أي int و تحويل مدخل المستخدم إلى رقم لأنه الميثود Console.ReadLine() تقوم بأخذ مدخل المستخدم كنص لذلك يظهر لك الخطأ في تلك الميثود لأن المتغير age من نوع int أي رقم بينما القيمة التي نأخذها من المستخدم هي قيمة نصية , الأن لتحويل مدخل المستخدم إلى نص أولاً نقوم بجعل المتغير age متغير نص أي String بدلاً من int ومن ثم  نقوم بإستخدام الميثود Convert.ToInt32 التي ستقوم بتحويل النص إلى رقم ونمرر لها القيمة النصية أي هكذا 

Convert.ToInt32(age);

ونقوم بإستخدامها هكذا ووأيضاً قم بإزالة علامتي التنصيص من حول الرقم 15 لأنه رقم وليس نص 

using System;

class myclass {
   static void Main(string[] args){
       
    Console.WriteLine("Enter your age : ");
    String age = Console.ReadLine();

        if (Convert.ToInt32(age) <= 15){
            Console.WriteLine("Go back to school -_-!");
        }
    }
}

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...