PDA

View Full Version : سوال: 2 تا سوال در مورد ++c



mojtaba5
پنج شنبه 29 تیر 1391, 17:26 عصر
سلام
کاربرد این 3 تا
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
چیه؟

و دستور system("pause"); چیکار میکنه؟

fjm11100
پنج شنبه 29 تیر 1391, 18:58 عصر
اینها به شما اجازه دسترسی به هدرهای io استاندارد کتابخانه استاندارد و هدر کار با رشته ها و تعریف نوع رشته ای را می دهند.

poia_si
پنج شنبه 29 تیر 1391, 19:10 عصر
system("pause") این دستو توقف برنامست
پس از اجرای برنامه
press any key to continue .........
نشون میده و پس از فشار دادن یکی از ادکمه های صفحه کلید برنامه ادامه اجرای خود می پردازد

mohammadriano
پنج شنبه 29 تیر 1391, 19:37 عصر
کاربرد این 3 تا
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
چیه؟

بهتره یک مقدار ساده توضیح بدم
ببینید شما وقتی می خواهید ماشین بخرید به کی رجوع می کنی؟ [به باغبان!به لواظم و تحریر فروش!به بنگاه دار!]
خب 4 حالت پیش میاد
1-یا پیش هیچ کدوم نمیری 2- یا پیش همه میری 3- یا پیش بنگاه دار میری 4- یا پیش باغبان یا لواظم و تحریر فروش میری
اگه حالت اول رو انتخاب کنی : کلاً نمی تونی ماشین بخری
اگه حالت دوم رو انتخاب کنی : می تونی ماشین بخری ولی وقت شما به هدر می ره
اگه حالت سوم رو انتخاب کنی : هم می تونی ماشین بخری هم وقت خودت رو تلف نمی کنی
اگه حالت چهارم رو انتخاب کنی : علاوه بر اینکه نمی تونی ماشین بخری بلکه وقت خودت رو هم تلف می کنی
خب کتابخانه ها در ++C هم مثل همین مثال هستند.
در ++C شما از کتابخانه استفاده می کنید.
در ++C شما اتلاف وقت در مثال رو اتلاف حافظه بدون(یعنی هجم برنامه بالا می ره)
یعنی شما نسبت به کاری که می خواهید انجام دهید از کتابخانه مخصوص استفاده می کنی
مثلاً زمانی که ما می خواهیم از دستور Delay (تاخییر) استفاده کنیم ، کتابخانه <Dos.h> را هم اظافه می کنیم.(یعنی آنچه را که نیاز داریم استفاده می کنیم)

ببینید شما برای راحتی کار خودتون می تونید کتابخانه های ++C رو با NotePad باز کنید و همه رو در ادامه هم داخل یک فایل Txt ذخیره کنید. و فقط از فایل Txt جدید استفاده کنید ، ولی هجم برنامه شما بالا می ره

مثلاً در زبان جاوا شما می تونین همه کتابخانه ها رو با یک دستور فراخانی کنید(که البته توصیه نمیشه)
مثال جاوا :
import java.util.*;
موفق باشی

mojtaba5
پنج شنبه 29 تیر 1391, 20:17 عصر
اگه میشه بگید این 3 تا کتابخونه توی این برنامه چیکار میکنن؟
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>


using namespace std;

int GetDig(int num,int n)
{
if(n==1)
return num%10;

GetDig(num/10,n-1);
}

int main()
{
int num,n;

cout<<"Input Your Numbers : ";
cin>>num>>n;

int result=GetDig(num,n);

cout<<"\nResult is : "<<result<<endl;

system("pause");
return 0;

fjm11100
پنج شنبه 29 تیر 1391, 22:49 عصر
میتونی دونه دونه حذف و اضافه کنی تا ببینی هرکدوم از اونها چه قابلیتهایی به برنامه ات اضافه می کنند!!!

مسعود اقدسی فام
جمعه 30 تیر 1391, 10:26 صبح
اگه کل برنامه همین چیزیه که نوشتید، نیازی به stdio و string نیست، اینطور که من می‌بینم.

iostream برای امور ورودی و خروجی (مثل cin و cout) و stdlib برای تابع system نیازه.

mojtaba5
جمعه 30 تیر 1391, 15:36 عصر
کار system("pause"); چیه؟

#target
جمعه 30 تیر 1391, 15:50 عصر
کار system("pause"); چیه؟
میاد و دستور pause رو (دستور cmd یا shell) اجرا میکنه . برای اینکه ببینید واقعا چی میشه Command Prompt ویندوز رو باز کنید و بنویسین pause

تابع system مثل Run یا Command Prompt ویندوزه .

mojtaba5
جمعه 30 تیر 1391, 16:08 عصر
میاد و دستور pause رو (دستور cmd یا shell) اجرا میکنه . برای اینکه ببینید واقعا چی میشه Command Prompt ویندوز رو باز کنید و بنویسین pause

تابع system مثل Run یا Command Prompt ویندوزه .
ممنونم
اما دقیقا کارشو توی این تابع متوجه نمیشم و فکر هم نمیکنم لزومی داشته باشه؟ درسته؟

#target
جمعه 30 تیر 1391, 16:18 عصر
تو برنامه فقط خواسته بعد از پایان کار سیستم مکث کنه . که شما بتونید نتایج و خروجی رو ببینید بعد که یک کلید زدید برنامه بسته شه

mojtaba5
جمعه 30 تیر 1391, 16:24 عصر
تو برنامه فقط خواسته بعد از پایان کار سیستم مکث کنه . که شما بتونید نتایج و خروجی رو ببینید بعد که یک کلید زدید برنامه بسته شه
خب الان منم برنامه هایی که مینویسم بدون اینکه این تابع رو بکار ببرم همین جوری هست.

#target
جمعه 30 تیر 1391, 16:28 عصر
چطوری ؟ بعضی از کامپایلر ها در محیط خودشون که برنامه رو Debug اجرا میکنید بعد از اتمام کار صفحه خروجی رو نگه میدارن . یا مثلا اگه از طریق CMD اجرا کنی . ولی اگه فایل Exe رو مستقیم اجرا کنی سریع میاد و میره !

++math
جمعه 30 تیر 1391, 16:32 عصر
خب الان منم برنامه هایی که مینویسم بدون اینکه این تابع رو بکار ببرم همین جوری هست.
درمورد #include <stdlib.h> و دستور system("pause");
خب اگه اینجوری هست که میگید می تونید ننویسید این دستورو مشکلی پیش نمیاد ولی فکر نکنم بدون این دستور یا دستورهای مشابه(()getch) شما بتونید خروجی رو ببینید چون بلافاصله بعد از ران شدن برنامه صفحه بسته میشه

و درمورد
#include <string.h> مال کار با رشته هست

مسعود اقدسی فام
جمعه 30 تیر 1391, 17:27 عصر
خب الان منم برنامه هایی که مینویسم بدون اینکه این تابع رو بکار ببرم همین جوری هست.

به محیط برنامه‌نویسی بستگی داره. بعضی محیطا مثل Turbo C++ 4.5 تحت ویندوز یه پنجره سفید باز می‌کنه و آخر کار نمی‌بنده. من در کل همونطور که دوستمون گفتن اگه چنین دستوری (یا مثلا getch) آخر برنامه نباشه پنجره بسته می‌شه. مگه اینکه از Command Prompt استفاده کرده باشید.

mojtaba5
جمعه 30 تیر 1391, 17:34 عصر
من تا حالا هر چی برنامه نوشتم همه رو نشون داده و تا دکمه ای نزدم از محیط برنامه خارج نشده بدون دستور pause

مسعود اقدسی فام
جمعه 30 تیر 1391, 19:05 عصر
من تا حالا هر چی برنامه نوشتم همه رو نشون داده و تا دکمه ای نزدم از محیط برنامه خارج نشده بدون دستور pause

اگه واقعا اینطور بود که لازم نبود دستوری برای مکث بنویسید، پس برای این که مکت نکنه باید دستوری وجود داشته باشه که اگه نخواستم مکث کنه بنویسم. 99 درصد برنامه‌های حرفه‌ای مکث لازم ندارن.

hsnmrd
دوشنبه 18 مرداد 1395, 04:54 صبح
دو حالت خروجی گرفتن وجود داره ، nodebug و debug
حالت اول پنجره باز شده رو نميبنده ، توی ويژوال استوديو دکمه کنترل+اف۵ این کار رو میکنه
ولی برای حالت دوم اگه کلید اف۵ خالی زده بشه میره رو حالت debug و پنجره ب سرعت بسته میشه، بهتره که استفاده بشه، چون اگه خروجی exe برنامه رو اجرا کنید روی حالت debug ران میشه


در مورد system("pause") هم ، وقتی برنامه به این دستور می رسه برنامه متوقف میشه تا وقتی که ی دکمه از صفحه کلید زده بشه
کاربرد دیگه ای هم داره ، مثلا شما ی منو تو برنامتون طراحی میکنید ، بعد میخايد که کاربر وارد ی صفحه که شد (فرض کنید صفحه ای مثل about برنامه که ی سری توضیحات توش باشه و کاربر حالا ی دکمه بزنه تا برگرده به صفحه اصلی منو ) ، حتما توی برنامه ها یا بازی ها دیدید که نوشته press any key to continue ... و منتظر زدن صفحه کلید ميشه ...