PDA

نسخه کامل مشاهده نسخه کامل : میشه راهنمایی کنید که چرا اینجوری میشه برنامه ام ؟ کد + عکس از برنامه



MESHKIPOSH
13-11-2013, 12:09
این برنامه ای هستش که من نوشتم . قراره یه سری کاراکتر تا زمانی که اینتر زده نشده (اینتر که زده شد دیگه ورودی نخونه )و به هرکاراکتر یه عددی اختصاص بده و در نهایت جمع اعداد کاراکتر ها رو چاپ کنه ولی نمیدونم چرا کار نمیکنه ! اجرا میشه ولی هرچی که در ورودی میدم حتی اینتر و اسپیس رو به این صورت که در عکس میبینید در خروجی برنامه میزنه و کلا در مرحله ورودی گرفتن میمونه :( لطفا راهنماییم کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

n00b
13-11-2013, 14:17
سلام.../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
************
برنامه تون رو به همون شکل براتون بازنویسی کردم../// بفرمایید...//// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
**************

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
************
موفق باشید! [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

MESHKIPOSH
18-11-2013, 03:01
مرسی ازت دوست عزیزم . واقعا ممنون
میخواستم بپرسم ایراد اونجوری که من نوشتم چی بود که اونجوری مشکل دار بود ! دلیل اون مشکل چی بود ؟
بازم ممنون ازت

n00b
19-11-2013, 00:31
سلام.../// خواهش میشه..//// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
**********
تو برنامه شما شرط while مبهم هستش..// تو این جور شرایط بهتره که از حلقه ی do ... while استفاده کنید...////// برنامتون این شکلی میشه../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
****************

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
**************
اینجوری اول دستورات حلقه اجرا میشن و بعد شرط حلقه بررسی میشه یعنی حلقه حداقل یکبار اجرا میشه//// cc برابر مقدار ورودی میشه و محاسبات انجام میشه// در نهایت اگر cc برابر 13 که کد اسکی کلید Enter هستش نبود// حلقه دوباره اجرا میشه../// نیازی هم نیست هم زمان از مساوی و نامساوی به عنوان شرط while استفاده کنید../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
*********************
دستورات حلقه while در صورت درستی شرط حلقه اجرا میشن../// حالا خودتون بررسی کنید که این چیزی که نوشتید (cc=getch()!='/n') درست هستش یا غلط که حلقه بخواد اجرا بشه یا نشه..//// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
************
راستی برنامتون یه باگ هم داره../// وقتی از backspace استفاده کنید مقدار کارکتری که پاک شده از مجموع کم نمی شه و نتیجه ی اشتباه تو خروجی چاپ میشه.../// [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
*****************
موفق باشید! [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

MESHKIPOSH
21-11-2013, 02:41
دوست عزیز یک دنیا ممنون واقعا محشری . خیلی خیلی عالی بود . گرفتم کاملا چی شد قضیه. واقعا کارت درسته و ممنون ازت
:n16: