مشکل این برنامه چیه؟

سوال

سلام

این برنامه یک عدد از کاربر میگیره و برنامه این عدد رو به تاریخ تبدیل میکنه

مثلا عدد ۱۹۵ وارد می کنیم خروجی ۹/۷ چاپ میشه

کامپایلر خطا نمی گیره ولی اجرا هم نمیشه

این برنامه چه مشکلی داره؟

در حال بررسی 0
Muhammad 3 سال 2 پاسخ ها 294 دیده شده 0

پاسخ ها ( ۲ )

  1. سلام، ممنون از پاسخ گویی اما برنامه اجرا نمیشه. من توی ویژوال استودیو برنامه می نویسم وقتی برنامه خطا داشته باشه موقع اجرا پیام میده:

    «برنامه اجرا نشد، سیستم قادر به یافتن فایل مورد نظر نمی باشد.»

    الان هم همین پیام رو میده ولی برنامه خطا نداره. اما باز ممنون چون با این سرفایل و تابعی که به برنامه اضافه کردید آشنایی نداشتم.

  2. سلام، برنامه در تابعی به نام main شروع میشه و نوع خروجی این تابع integer هست. پس طبیعتا باید این تابع (اگرچه تابع اصلی است) هم مثل بقیه توابع که خروجی ای از نوع integer دارند، باید مقداری را برگرداند. (int main)

    همونطور که خودتون در خط ۱۶ نوشتید که مقدار ۰ را برگرداند و اگر مقداری را برنگرداند، برنامه اصلا اجرا نمیشه. از خط اول برنامه شروع به اجرا میشه و دستورات پی در پی انجام میشن و در آخر تابع main، مقدار صفر رو بر میگردونه. چون قدرت پردازنده بالاست، عملیات و دستورات داخل تابع main با سرعت خیلی بالایی اجرا میشن و بعد از برگردوندن مقدار ۰ توسط تابع main، کار این تابع تموم میشه و صفحه بسته میشه. در واقع برنامه اجرا میشه اما چون سرعتش بالاست نتیجه رو در صفحه کنسول نمی بینی چون بعد از پایان یافتن پروسه ها، صفحه کنسول بسته میشه.

    برای اینکه مشکل حل بشه از کتابخانه conio.h و از تابع getch استفاده میشه. تابع getch باعث میشه که صفحه کنسول بعد از اتمام پروسه ها، بسته نشه و برای بستنش کافیه یکی از دکمه های کیبورد رو فشار بدی. از این تابع باید قبل return 0 استفاده کنی. این برنامه مورد نظر تو بعد از ویرایش توسط منه:

     

ارسال یک پاسخ