دوستان من نمیدونم وقتی تو محیط visual studio 2005 از هدر فایل iostream.h استفاده میکنم اشکال میگیره و ارور زیر رو میده:
: fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory
ممنون میشم کمکم کنید:20::20:
Printable View
دوستان من نمیدونم وقتی تو محیط visual studio 2005 از هدر فایل iostream.h استفاده میکنم اشکال میگیره و ارور زیر رو میده:
: fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory
ممنون میشم کمکم کنید:20::20:
تو محیط ++C کار میکنی دیگه ؟؟ درسته ؟؟:20:نقل قول:
یه دونه از برنامه هایی رو که نوشتی بنداز ببینیم چرا کامپایلر بهت گیر میده !!:31:
اروری هم که میده اینه:کد:#include<iostream.h>
void main()
{
cout<<"------hi every one------";
};
1>c:\documents and settings\rf7\my documents\visual studio 2005\projects\haminjori\haminjori\main.cpp(1) : fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory
:46:
-ببين iostream.h توي مسير Tools/Options/Directories/Include هست يا نه
-بجاي اينكه بنويسي iostream.h
بدون h امتحان كن:
-بعد از نوشتن سرفايل خط زير رو اضافه كن:کد:#include<iostream>
کد:using namespace std;
Ar@m جان دستت درد نکنه که به این سرعت جواب دادی
آقا حل شد
من using namespace std رو که گذاشتم و .h رو هم از iostream بر داشتم حل شدکد:#include<iostream>
using namespace std ;
void main()
{
cout<<"------hi every one------";
};
آقا using namespace std اینجا چی کار میکنه ؟
:12:
namespace مجموعه اي از تعاريفه (اسامي متغيرها و ...) و براي رجوع به يه اسم خاص كه در namespace وجود داره مي شه اسم اون namespace رو با دو تا كولون ( :: ) و بعد اون اسم خاص نوشت. مثلا تمام اسامي تعريف شده در library استاندارد ++C در namespaceي بنام std قرار دارن بنابراين بطور معمول مجبوريم قبل از هر كدي كه مي نويسيم از std:: استفاده كنيم تا كامپايلر در خوندنشون دچار مشكل نشه يعني مثلا برنامه هامون رو اينطوري بنويسيم:
كه البته اين كار خيلي خسته كننده است! اينجا است كه براي تكرار بيجاي std:: از using استفاده مي كنيم يعني بجاي خطوط بالا مي نويسيم:کد:#include <iostream>
int main () {
std::cout << "Hello world!\n";
return 0;
}
بنابراين حالا مي شه فهميد چرا مجبوريم در هر برنامه اي كه از هدر iostream استفاده مي كنيم از using namespace std هم استفاده كنيم. چون اين خط در حقيقت داره به compiler مي گه كه تمام اسامي موجود در library استاندارد ++C رو قابل دسترسي كنه و براي فهميدن كدهايي كه وارد مي كنيم به كجا بايد رجوع كنه.و نبايد فراموش كنيم كتابخانه هاي مختلف ممكنه از اسامي يكسان اما با تعريفهاي متفاوت استفاده كنن و در اينجاست كه using namespace تكليفمون رو مشخص مي كنه.کد:#include <iostream>
using namespace std;
int main () {
cout << "Hello world!\n";
return 0;
}
مثلا:
خروجي :کد:// namespaces
#include <iostream>
using namespace std;
namespace first
{
int var = 5;
}
namespace second
{
double var = 3.1416;
}
int main () {
cout << first::var << endl;
cout << second::var << endl;
return 0;
}
5
3.1416
ما حتي مي تونيم براي خودمون namespace تعريف كنيم:
اميدوارم كه زياد قاطي حرف نزده باشمکد:#include <iostream>
using namespace std;
namespace mystuff{
int value = 5;
}
int main()
{
cout << mystuff::value; //outputs 5
return 0;
}
Ar@m جان دستت درد نکنه واقعا عالی بود مختصر و مفید
قبلا یه چیزایی در موردش خونده بودم اما کامل نفهمیده بودم
با توضیحات شما تونستم کامل namespace ها رو بفمم ممنون:31:
خواهش مي شه!
من این کارم کردم ولی حل نشد!
ولی برای من حل شد...
ممنون
با iosteam.h من که کار میکنم یه return 0; هم باید بزاریم قبل از این که تابع رو ببندیم و اون ; اخر رو هم که گذاشتی نمیزاریمنقل قول:
میشه این طوری
# include <iostream.h>
int main ()
{
دستورات رو مینویسی
return 0;
}
اقایون من هم همین مشکل رو داشتم.خیلی خیلی ممنونم.
چرا بعد از اجرا برنامه زود بسته میشه؟ینی همین که به اخر میرسه خارج میشه خودش.
میخوام Press any key to continue ... بیاد.
لطفا راهنمایی کنید.
متشکرم.
کسی نیست جواب بده؟
سلام
این تاپیک کلاً در محل صحیحی ایجاد نشده، ضمن آنکه مدت زیادی از ایجاد اولیه آن گذشته...
بهرحال
این مسئله رایج و البته منطقی در محیط کنسول است.نقل قول:
چرا بعد از اجرا برنامه زود بسته میشه؟ینی همین که به اخر میرسه خارج میشه خودش.
میخوام Press any key to continue ... بیاد.
اگر میخواهید برنامه تان فوراً بسته نشود قبل از پایان main یا return یک دستور خواندن اطلاعات (مثلاً cin) قرار دهید تا چیزی یا حداقل یک کاراکتری وارد شود و سپس برنامه بسته شود.
البته باید یادتان باشد دستور فوق را از پروژه نهایی حذف کنید یا از پیش کامپایلرهای شرطی استفاده کنید.
نقل قول:
ممنون.
ولی متوجه جمله اخر (پیش کامپایلرهای شرطی) نشدم.میشه بیشتر توضیح بدین؟
سلام
به عنوان نمونه تحت ++VC ما دو حالت کامپایل داریم Debug و Release که ...(!) و در نهایت Debug در زمان توسعه استفاده میشود و Release در زمان انتشار نهایی برنامه استفاده میشود ...
نتیجتاً با دستورات پیش کامپایلری مانند ifdef# میتوانید چند دستور برنامه نویسی را فقط در یک شرایط خاص کامپایل کنید، مثلاً فقط اگر پروژه در حالت Debug در حال کامپایل بوده.
اینطور دیگر مشکل فراموشی قبل از انتشار نهایی برطرف میشود و نیاز نیست به جاهای مختلف کدتان مراجعه کنید و بخش هایی را برای حالات خاصی مدام حذف و اضافه کنید و با تغییر حالت کامپایل این کار خودکار اتفاق می افتد.
(((البته گمانم این مطلب را میدانستید، و گمان میکنم مشکل سر تفاوت معادل سازی برای عبارت انگلیسی است...)))
کد:#include "stdafx.h"
#include "conio.h"
#include <iostream>
using namespace std;
int main()
{
//any code ...
#ifdef _DEBUG
cout << "Press any key to continue ..." << endl;
_getch();
#endif
return 0;
}
ممنون.خیلی عالی بود.
نه نمیدونستم.مبتدی هستم.
موفق باشید...
----------------------------------------------------
یه سوال دیگه.
الان stdafx رو نمیشناسه!
دقیقا مثل iostream!!
برای این باید چکار کنم؟
سلام
این کد تحت VC++2012 نوشته شده و کامپایل میشود.
سرفایل stdafx جزء موارد رایجی است که در هر پروژه ساخته شده و وجود دارد.
در واقع مانند iostream یک سرفایل خارجی نیست.
stdafx یک مرجعی برای تعریف ثابت هایی در کل پروزه است و به تمام صفحات include میشود.
ولی ++C نسخه های متعددی دارد...
شاید در نسخه ای که شما استفاده میکنید stdafx معنی نداشته باشد!
شاید در نسخه ای که شما استفاده میکنید پیش شرط کامپایلری DEBUG_ کلاً تعریف نشده باشد ...
یا متاسفانه خطایاب زبان ++C بسیار خنگ است!
به این معنی که شاید یک جایی نقطه-ویرگولی را فراموش کرده باشید، در یک فایل دیگری گیر میدهد که فلان چیز را نمیشناسم!!! در ++C باید به سینتکس تان دقت بسیار بیشتری داشته باشید.
خیلی مهم نیست!
شما طبق عرف نسخه خودتان کد بنویسید وبه مفهوم دقت کنید.
برای آنکه برنامه تان فوراً بسته نشود یک دستور ورودی قبل از پایان main اضافه کنید و یا این دستور را قبل از تولید exe نهایی حذف کنید و یا آن را در یک سری پیش شرط های کامپایلری محدود کنید.
موفق باشید.
بله، متوجه شدم.
فکر کنم به خاطر اینه که نسخه من visual studio 2010 هست.
ولی مشکل پایان برنامه حل شد با همون پیش شرط ها.
خیلی ممنونم.
اگه مشکلی پیش اومد، بازم میپرسم اگه زحمتی نیست.تو همین تاپیک خوبه بپرسم؟
موفق باشید.
سلام
من در حدی که بلد باشم مشکلی ندارم کمکتان کنم ولی همانطورکه قبلاً بیان شد این تاپیک در انجمن صحیحی ایجاد نشده.نقل قول:
تو همین تاپیک خوبه بپرسم؟
اینجا بیشتر دوستان #C کار هستند و کلاً انجمن جاری در محدوده زبانهای دات نتی مانند VB.Net و #C و VC++.Net و... است.
بدلیل رعایت قوانین، پیشنهاد میکنم سوالات آتی خود در خصوص ++C را در انجمن C مطرح بفرمائید.
(اگر به جواب نرسیدید، طی یک پیام خصوصی لینک تاپیکتان را اعلام کنید، اگر بلد بودن پاسخ خواهم داد)
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
البته برای خودتان هم بهتر است، چون دوستان فعال در ضمینه ++C در انجمن فوق الذکر بیشتر فعالیت میکنند.
وقتی شما سوال تان در انجمن صحیح مطرح شود از پاسخ های سریعتر و دقیق و فنی تر برخوردار خواهید شد.
موفق باشید.
بله، متوجه شدم.
حتما همینکار رو میکنم.
موفق باشید...
سلام.1 سوال:ای هدر واسه visual studioتعریف شده؟؟؟؟graphics.h
بد جور کارم گیـــــــــــــــــــــــ ـــره
سلام دوستان عزیز من هم تقریبا همین مشکل رو دارم اما با این تفاوات که با این ارور مواجه میشم:
fatal error C1083: Cannot open include file: 'd3dx9.h': No such file or directory
لطف میکند کمکم کنید
ضمن تبریک عضویت شما. زین پس سوالات C را در انجمن C بپرسید. اما:
فایل d3dx9.h یک فایل خاص است که باید شرایط زیر را داشته باشد:
1- ِDirectX SDK روی سیستم نصب باشد.
2- بسته به کامپایلر باید آدرس صحیح دهید مثلا:
یعنی ممکن است دسترسی به آن از طریق پوشه های دیگر ممکن باشد.کد:#include "xxx/d3dx9.h"
3- در صورتی که مسیر پیچیده باشد یا به عبارتی تعریف مستقیم مانند بند 2 نداشته باشد باید در include عمومی در کامپایلر (و در برخی IDE ها include مربوط به Linker) پوشه ی d3dx9.h را وارد کنید.
موفق باشید.
منم همچین مشکلی داشتم
رفع شذ
سلام دوستان منم مشکل دارم
خطا میده [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] <iostream.h>کد:[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] <iostream.h>
using namespace std;
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] <conio.h>
int main( )
{
int x[ ]={12, 25, 6, 19, 100};
clrscr( );
int *px=x;
for(int i=0; i<=4; i++)
cout << *(x+i) << endl;
for(i=0; i<5; i++)
cout << x[ i ] << ? \n?;
//the third method
for(i=0; i<=4; i++)
cout << px[ i ]<<endl;
//the forth method
for(i=0; i<=4; i++)
cout << *(px+i)<<endl;
return 0; }
بدون h هم امتحان کردم نشد چه کار کنم؟
عالیه
دمت گرم:n12::n12:
راهی نیست ک کامپایلرو درست کنیم خودش بفهمه؟؟ خیلی مسخرس هر دفعه using namespace std; بنویسی !!! :n35: