PDA

View Full Version : مبتدی: سوال در رابطه با تابع Read و ReadLine



همـااا
سه شنبه 05 اسفند 1393, 21:08 عصر
رید با ریدلاین بجز یه اینتر ، دیگه چه فرقی داره که همچین چیزی پیش میاد:

128834

عدد اولو میگیره که من بهش دو دادم، درجا عدد 63 میده بیرون!!! عدد دومم کلا نمیگیره ! دلیلش چیه؟؟؟
تو همین عکس سوم که سطر اخرش تابع readkey رو بکار بردم وقتی اونو به رید یا ریدلاین تغییر میدم برنامه بعده نوشتنه عدد 63 درجا بسته میشه !!
چرا؟؟؟

یا وقتی کد زیر رو مینویسم و موقع اجرا بهش عدد 20 میدم، خروجی بهم 50 میده!!!!!!

int x = System.Console.Read();
System.Console.WriteLine(x);


System.Console.ReadKey();

2. ورودی رید رو به طور مستقیم میشه به char تبدیل کرد و تو متغیری ریخت !!!! ولی ریدلاین به طور مستقیم ارور میده و با کلاس کانورت اومدم مقدارشو تبدیل به char کردم ...
منتها بازم یه مشکلی بود !!!!! وقتی بهش کاراکتر میدادم درست اجرا میشد ولی وقتی کلمه دادم ارور داد و حرف اولشو برنداشت !!!!!! ،،،
دلیلش چیه ؟؟؟ کلا یه خط میخونه ؟؟؟؟؟؟؟
128835

MehdiElexal
سه شنبه 05 اسفند 1393, 22:06 عصر
در تابع read فقط بازخوانی میشه
اما در تابع ReadLine علاوه بر n\ شما r\ هم دریافت میکنید

موفق باشید

MehdiElexal
سه شنبه 05 اسفند 1393, 22:13 عصر
راجع به مشکل خروجیتون بهتره سورس رو ضمیمه کنید تا حل شه ...

elec60
سه شنبه 05 اسفند 1393, 22:26 عصر
خوب معلومه که باید با ReadLine خطا بده!

Read کارکتر کاراکتر میخونه، یعنی تو حلقه باید انقدر Read کنین تا تمامی کاراکترها خونده بشن، اما ReadLine همون طور که از اسمش پیداست تا اینتر رو نزنین نمیخونه و بعد از زدن اینتر آرایه ای از کاراکترها(استرینگ) میخونه و متد ToChar نمیتونه به یه کاراکتر تبدیلش کنه، متد ToChar بدبخت از کجا باید بفهمه کدوم کاراکتر استرینگ مد نظره!

همـااا
چهارشنبه 06 اسفند 1393, 13:01 عصر
در تابع read فقط بازخوانی میشه
اما در تابع ReadLine علاوه بر n\ شما r\ هم دریافت میکنید

موفق باشید

من که نفهمیدم . منظور از n\ و r\ چیه ؟؟؟
سورس مشخصه که تو عکس ،،، اقا روم به دیوار من اینکارارو بلد نیستم ، پروژه رو باید ضمیمه کنم؟ :)))))))))))))
عملیات ساده ی جمع دو عدده که با ریدلاین نوشته میشه ، منتها من اومدم با رید هم نوشتمش که بررسی کنم چه فرقی با هم دارن... ( کلا یه کار اضافی کردم).



خوب معلومه که باید با ReadLine خطا بده!

Read کارکتر کاراکتر میخونه، یعنی تو حلقه باید انقدر Read کنین تا تمامی کاراکترها خونده بشن، اما ReadLine همون طور که از اسمش پیداست تا اینتر رو نزنین نمیخونه و بعد از زدن اینتر آرایه ای از کاراکترها(استرینگ) میخونه و متد ToChar نمیتونه به یه کاراکتر تبدیلش کنه، متد ToChar بدبخت از کجا باید بفهمه کدوم کاراکتر استرینگ مد نظره!

مچکرم... گرفتم...
سوال اول چی ؟؟؟ اونجا چرا اونطوری میشه؟؟؟ به کد اسکی تبدیل میشه آیا ؟؟؟