• 0

رسالة حسب العمر في C#

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

اريد وضع كود يسأل الشخص عن عمره ثم يقوم بإرسال رسالة له حسب العمر 
مثلا اذا كان عمره 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();


        }
    }
}
*/

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

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 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 -_-!");
        }
    }
}

 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن