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

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

Ali Proof

السؤال

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...