اطلاعیه

Collapse
No announcement yet.

اشکال در برنامه نویسی با #C

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    اشکال در برنامه نویسی با #C

    سلام
    اول بگم من تازه دارم با #C کار میکنم پس از تمامی دوستان خواهش میکنم هر چیزی که به ذهنشون میرسه دریغ نفرمائیند انشا ا... خدا یاریتون کنه

    یه برنامه نوشتم (البته از تو کتاب رونوشت کردم خوب اول کاره دیگه :mrgreen که اعداد زوج و فردو تشخیص میده حالا چنتا مشکل دارم که میپرسم

    کد:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace ch3_2
    {
      public partial class majid : Form
      {
        public majid()
        {
          InitializeComponent();
        }
    
        private void Form1_Load(object sender, EventArgs e)
        {
          label1.Text = "Number";
          label2.Text = "Enter Password";
          label3.Text = "";
          label3.AutoSize = true;
          label2.AutoSize = true;
          textBox2.PasswordChar = '*';
          
        }
    
        private void Odd_Click(object sender, EventArgs e)
        {
          int num = Convert.ToInt32(textBox1.Text,10);
          label3.Text = (num % 2 == 0) ? "Number is Even" : "Number is Odd";
        }
    
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
          majid.ActiveForm.Text = textBox2.Text;
        }
    
        private void Exit_Click(object sender, EventArgs e)
        {
          Close();
        }
    
        
      }
    }
    1) تو برنامه حتما باید Password وارد بشه بعد جواب بده ولی نمیدونم چرا اینطور نیست؟ یعنی چه Password وارد کنی چه نه فرقی نمیکنه برنامه جواب میده

    2)اعداد اگه زیاد بشن مثلا از 10 رقم بیشتر بشه Error میده؟

    3)این 10 که اینجا نوشته شده واسه چیه؟

    int num = Convert.ToInt32(textBox1.Text,10);

    ذكات علم ياد دادنه ....

    #2
    پاسخ : اشکال در برنامه نویسی با #C

    نوشته اصلی توسط majid.4206
    سلام
    اول بگم من تازه دارم با #C کار میکنم پس از تمامی دوستان خواهش میکنم هر چیزی که به ذهنشون میرسه دریغ نفرمائیند انشا ا... خدا یاریتون کنه

    یه برنامه نوشتم (البته از تو کتاب رونوشت کردم خوب اول کاره دیگه :mrgreen که اعداد زوج و فردو تشخیص میده حالا چنتا مشکل دارم که میپرسم

    کد:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    
    namespace ch3_2
    {
      public partial class majid : Form
      {
        public majid()
        {
          InitializeComponent();
        }
    
        private void Form1_Load(object sender, EventArgs e)
        {
          label1.Text = "Number";
          label2.Text = "Enter Password";
          label3.Text = "";
          label3.AutoSize = true;
          label2.AutoSize = true;
          textBox2.PasswordChar = '*';
          
        }
    
        private void Odd_Click(object sender, EventArgs e)
        {
          int num = Convert.ToInt32(textBox1.Text,10);
          label3.Text = (num % 2 == 0) ? "Number is Even" : "Number is Odd";
        }
    
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
          majid.ActiveForm.Text = textBox2.Text;
        }
    
        private void Exit_Click(object sender, EventArgs e)
        {
          Close();
        }
    
        
      }
    }
    1) تو برنامه حتما باید Password وارد بشه بعد جواب بده ولی نمیدونم چرا اینطور نیست؟ یعنی چه Password وارد کنی چه نه فرقی نمیکنه برنامه جواب میده

    2)اعداد اگه زیاد بشن مثلا از 10 رقم بیشتر بشه Error میده؟

    3)این 10 که اینجا نوشته شده واسه چیه؟

    int num = Convert.ToInt32(textBox1.Text,10);
    سلام

    جواب سوال 2 و 3 شما فکر کنم رقم 10 باشه که در آخر این دستور قرار دادین :

    int num = Convert.ToInt32(textBox1.Text,10) -1

    رقم 10 را بردارید به این شکل باشه :

    int num = Convert.ToInt32(textBox1.Text) -2

    در مورد سوال 1 اگر میشه صورت سوال را یکبار بگید که من برنامه را برای شما بنویسم که اگر سوالی داشتید توضیح بدم
    موفق باشید.
    http://www.ecapic.ir/image/ECA-091005091909.gif

    دیدگاه


      #3
      پاسخ : اشکال در برنامه نویسی با #C

      جواب سوال 2 و 3 شما فکر کنم رقم 10 باشه که در آخر این دستور قرار دادین :
      نه فرقی نمیکنه حتی اینکاری که گفتید رو قبلا انجام دادم یعنی 10 روبرداشتم ولی بازم فرقی نکرد...
      به نظر خودم مقدار متغیری که انتخاب کردم کمه یعنی مثلا باید بجای int از long یا یه همچین چیزایی استفاده کنم
      تو code vision که اینجوری بود اینجا رو نمیدونم :redface:

      در مورد سوال 1 اگر میشه صورت سوال را یکبار بگید که من برنامه را برای شما بنویسم که اگر سوالی داشتید توضیح بدم
      برنامه ایی که عددی را خوانده تشخیص میدهد ان عدد زوج است یا فرد و تنها جواب با وارد کردن درست Password نمایش داده شود ...
      در ضمن ت این برنامه همونطور که گفتم فقط Password کار نمیکنه یعنی حتی اگه پسورد رو هم نزنیم برنامه اجرا میشه

      یادم رفت بگم ازتون ممنونم بخاطر جوابتون ... :icon_razz:


      ذكات علم ياد دادنه ....

      دیدگاه


        #4
        پاسخ : اشکال در برنامه نویسی با #C

        سلام

        کد:
        using System;
        using System.Collections.Generic;
        using System.ComponentModel;
        using System.Data;
        using System.Drawing;
        using System.Linq;
        using System.Text;
        using System.Windows.Forms;
        
        namespace WindowsFormsApplication1
        {
          public partial class Form1 : Form
          {
            public Form1()
            {
              InitializeComponent();
            }
        
            private void btnTashkhis_Click(object sender, EventArgs e)
            {
              double num = double.Parse(textBox1.Text); // وارد کردن عدد
              
              if (textBox2.Text == "123") // عملیات مقایسه که رمز را درست وارد کردید یا خیر که در اینجا رمز برای نشان دادن عدد، 123 می باشد
              {
                label2.Text = (num % 2 == 0) ? "Number is Even" : "Number is Odd"; // عملیات تشخیص عدد زوج و فرد
              }
              else // اگر کلمه رمز نادرست وارد شده بود
                MessageBox.Show("لطفا رمز را وارد کنید");
            }
        
            private void btnExit_Click(object sender, EventArgs e)
            {
              Close(); // بسته شدن فرم 
            }
          }
        }
        موفق باشید.
        http://www.ecapic.ir/image/ECA-091005091909.gif

        دیدگاه


          #5
          پاسخ : اشکال در برنامه نویسی با #C

          از لطفتون ممنونم

          if (textBox2.Text == "123&quot // عملیات مقایسه که رمز را درست وارد کردید یا خیر که در اینجا رمز برای نشان دادن عدد، 123 می باشد

          فقط اونجایی که شرط برای پسورد گذاشتین عدد رو قبول نمیکنه و فقط حروف رو قبول میکنه . یعنی اگه 123 رو بزارم Error میده ولی Magid رو که بزارم درسته . به نظر شما نباید اون 123 رو به رشته تبدیل کنیم ؟

          double num = double.Parse(textBox1.Text); // وارد کردن عدد
          این خط رو میشه توضیح بدین؟ اخه قبلا از int num = Convert.ToInt32(textBox1.Text,10); استفاده میکردم میشه بفرمائید فرقشون چیه؟

          راستی داشت یادم میرفت تو این مثال گفته شده از خاصیا ت Password char استفاده شده من درست متوجه نشدم میشه شما بفرمائید این Password char چیکار میکنه؟

          ببخشید اینقدر سوال میکنما اگه نپرسم تا صبح خوابم نمیبره :mrgreen:
          انشا ا... خدا خیرتون بده... :rolleyes:
          ذكات علم ياد دادنه ....

          دیدگاه


            #6
            پاسخ : اشکال در برنامه نویسی با #C

            سلام داداش
            این خط رو میشه توضیح بدین؟ اخه قبلا از int num = Convert.ToInt32(textBox1.Text,10); استفاده میکردم میشه بفرمائید فرقشون چیه؟
            این دستور رشته عددی درون جعبه متن رو به عدد در مبنای 10 تبدیل میکنه.

            خاصیت password char برای این هستش که به جای هر حرف یا عددی که وارد میکنید از کاراکتر *آ‌ استفاده میکنه که پسورد لو نره

            موفق باشی
            "در عجبم از مردمي که خود زير شلاق ظلم و ستم زندگي مي کنند و بر حسيني مي گريند که آزادنه زيست" شريعتي
            در جهان روشنايي هايي وجوددارد كه در عميق ترين ظلمات نهانند.

            دیدگاه


              #7
              پاسخ : اشکال در برنامه نویسی با #C

              نوشته اصلی توسط majid.4206

              if (textBox2.Text == "123&quot // عملیات مقایسه که رمز را درست وارد کردید یا خیر که در اینجا رمز برای نشان دادن عدد، 123 می باشد

              فقط اونجایی که شرط برای پسورد گذاشتین عدد رو قبول نمیکنه و فقط حروف رو قبول میکنه . یعنی اگه 123 رو بزارم Error میده ولی Magid رو که بزارم درسته . به نظر شما نباید اون 123 رو به رشته تبدیل کنیم ؟
              سلام

              من امتحان کردم عدد 123 را که برای رمز وارد می کنم پیغام خطایی نمیده.

              شما در قسمت if عدد 123 را داخل " " قرار دادین ؟

              اگر داخل " " باشد به عنوان رشته در نظر می گیرد نه عدد

              در مورد double تعداد ارقام بیشتری رو نسبت به int پوشش می دهد حتی اعداد اعشاری ولی int اعداد اعشاری را قبول نمی کنه

              قسمت (double.Parse(textBox1.Text قسمت داخل پرانتز textBox1.text چون رشته هست عبارت Parse رشته را به عدد (double) تبدیل می کند. در واقع فرقی با دستور (Convert.ToInt32(textBox1.Text ندارد هر دو یک کار را انجام میدن convert یعنی عمل تبدیل ToInt32 یعنی به عدد (int
              )
              موفق باشید.
              http://www.ecapic.ir/image/ECA-091005091909.gif

              دیدگاه


                #8
                پاسخ : اشکال در برنامه نویسی با #C

                راستی
                شما می توانستید از خاصیات Password char استفاده کنید به این صورت که در قسمت Form1.cs [design] اگر اسم فرمتون را تغییر نداده باشید ، روی textBox2 که رمز را وارد می کردید. روی آن راست کلیک کرده و وارد قسمت Properties شوید گزینه ای به نام PasswordChar را می بینید که با گذاشتن کاراکتر * در این قسمت رمز شما دیده نمی شود.
                موفق باشید.
                http://www.ecapic.ir/image/ECA-091005091909.gif

                دیدگاه


                  #9
                  پاسخ : اشکال در برنامه نویسی با #C

                  کد:
                  [size=+2]
                      private void textBox2_TextChanged(object sender, EventArgs e)
                      {
                        majid.ActiveForm.Text = textBox2.Text;
                      }[/size]

                  این خط از برنامه رو هم نفهمیدم میشه زحمت بکشین توضیح بدین(مربوط به برنامه بالایی)

                  شما در قسمت if عدد 123 را داخل " " قرار دادین ؟
                  نه همینطوری نوشتم فکر کنم برای همین بوده که خطا میداد
                  ذكات علم ياد دادنه ....

                  دیدگاه


                    #10
                    پاسخ : اشکال در برنامه نویسی با #C

                    سلام

                    راستش نمیدونم تا حالا از این دستور :

                    majid.ActiveForm.Text = textBox2.Text

                    استفاده نکردم
                    موفق باشید.
                    http://www.ecapic.ir/image/ECA-091005091909.gif

                    دیدگاه


                      #11
                      پاسخ : اشکال در برنامه نویسی با #C

                      تو اون مثال اولیه دیگه برای Password از شرط استفاده نکرده بود بلکه وقتی کلمه test passwordchar رو بجای پسورد مینوشتی اسم Form نیز تغیر میکرد و میشد test passwordchar.......
                      راستش درست متوجه نشدم چرا از این دستور استفاه کرده :redface:
                      توکتاب هم نوشته رویداد Text Changed وقتی رخ میدهد که متن کنترل تغیر کند من درست متوجه منظورش نشدم

                      ذكات علم ياد دادنه ....

                      دیدگاه


                        #12
                        پاسخ : اشکال در برنامه نویسی با #C

                        سلام

                        یک مثال برای رویداد Textchanged
                        در TextBox1 شما یک عدد یا یک کلمه یا ... نوشتید و می خواهید در TextBox2 هم همان عدد یا کلمه ای که شما در TextBox1 وارد کردید به طور خودکار وارد TextBox2 نشان داده شود یا نوشته شود که از این رویداد استفاده می کنیم.
                        و فکر کنم دستورش هم به این شکل بود که روی TextBox1 دو بار کلیک می کنید و در قسمت کدش می نویسید TextBox2.Text = TextBox1.Text
                        این دستور کار مثالی که برای شما زدم را انجام می دهد.



                        موفق باشید.
                        http://www.ecapic.ir/image/ECA-091005091909.gif

                        دیدگاه


                          #13
                          پاسخ : اشکال در برنامه نویسی با #C

                          اینی که شما فرمودین درست ولی اینجا اینو نوشته:

                          private void textBox2_TextChanged(object sender, EventArgs e)
                          {
                          majid.ActiveForm.Text = textBox2.Text;
                          }

                          یعنی اینکه اگه اون چیزی که تو TextBox2 نوشته میشه با اسم Form یکی بود اونوقت Form فعال بشه البته به نظر خودم اینجوریه دقیق نمیدونم
                          ذكات علم ياد دادنه ....

                          دیدگاه


                            #14
                            پاسخ : اشکال در برنامه نویسی با #C

                            بله فکر کنم شما درست میگید.
                            موفق باشید.
                            http://www.ecapic.ir/image/ECA-091005091909.gif

                            دیدگاه

                            لطفا صبر کنید...
                            X