PDA

View Full Version : خطاهای برنامه



sosker
چهارشنبه 20 شهریور 1392, 12:25 عصر
سلام دوستان این تاپیک واسه خطا هایی که تو برنامه نویسی پیش میاد و کسایی مثل من که هی خطا می کنن و تو خطایابی هم اشکال دارن می تونن اینجا بیان.
اینم اولین خطا
این برنامه ای که نوشتم اینه که نمرات رو گرفته و مردودی ها وقبولی ها رو هم می گه البته اولش هم تعداد نمرات رو می خواد............نمی دونم چرا ران نمیشه.
#include<iostream.h>
#include<conio.h>
main()
{
float y;
int x;
int z=1;
int v=0;
int t=0;
cout<<"tedad nomarat chegadr ast:";
cin>>x;
do
{
cout<<"nomarat ra vared konid:"<<z;
cin<<y;
if(y>=10)
++v;
else
++t;
}
while(++z<=x);
cout<<"ghabol"<<v;
cout<<"mardod"<<t;
getch();
}

storm_saeed
چهارشنبه 20 شهریور 1392, 12:38 عصر
درود


using namespace std;

رو بعد #include ها اضافه کنید
main رو به int main تبدیل کنید
cin<<y غلطه باید cin>>y باشه
موفق باشید

sosker
چهارشنبه 20 شهریور 1392, 17:20 عصر
using namespace std;

این به چه دردی می خوره؟؟
و همین طور این int main با main چه فرقی داره؟؟...چون حتی اینا رو هم اضافه نکردم ران شد و برنامه درست عمل کرد و تنها اشتباهم همین cin<<y

majid1605
پنج شنبه 21 شهریور 1392, 10:43 صبح
namespace
فضای های نام هستند با استفاده از دستور using namespace فضاهای نام رو به برنامه اضافه می کنیم که تووی مثال بالا std
حالا این فضاهای نام چی هستند ؟
دو جعبه ابزار مختلف رو در نظر بگیرید که محتویات یکی وسایل برای خودروهای سنگین و یکی دیگه برای خودروهای سنگین همه وسایل اسم های مشابهی دارند آچار ،پیچ گوشتی و...(مگه آچار و پیچ گوشتی هم سبک سنگین داره :لبخند:) حالا فرض کنید یه پیچ بزرگ داریم و بخوایم بازش کنیم ولی با اینکه آچار تووی هر دو جعبه است ولی فقط آچاری که تووی جعبه خودروهای سنگینه به کار ما میاد خب ما چطور به شاگردمون بگیم آچار بده و اونم تشخیص بده که کدوم آچار منظورمونه؟ (آچار جعیه خودرو سنگین)


namespace در واقع همین کار رو برای ما انجام میدن و به ما این امکان رو میدن که توابع و کلاسهای هم نام با متغیرهای همنام رو در یک برنامه استفاده کنیم .
وقتی داریم از cout , cin ,... استفاده می کنیم در واقع داریم از کتابخونه std استفاده می کنیم و باید به برنامه بگیم منظرمون چیه .
با using namespace std داریم تووی کل برنامه اونو معرفی می کنیم .
یه راه دیگه هم داره که هرجا خواستیم از توایع یا متغیر های یک namespace به صورت زیر ازش استفاده کنیم


main()
{
float y;
int x;
int z=1;
int v=0;
int t=0;
std::cout<<"tedad nomarat chegadr ast:";
std::cin>>x;
do
{
std::cout<<"nomarat ra vared konid:"<<z;
std::cin<<y;
if(y>=10)
++v;
else
++t;
}
while(++z<=x);
std::cout<<"ghabol"<<v;
std::cout<<"mardod"<<t;
getch();
}

در مورد main توی برنامه های کنسول بیشتر کامپایلرهای به مقدار بازگشتی ایراد نمی گیرند و اونو void در نظر می گیرند ولی اگه در انتهای برنامه return 0 استفاده کنیم اونوقت نیازه که مقدار بازگشتی تابع main مشخص کنیم .و با استفاده از مقدار بازگشتی میشه مثلا مشخص کرد که برنامه کامل اجرا شده یا با خطا مواجه شده و.......................

MOSTAFA_A10
پنج شنبه 21 شهریور 1392, 15:09 عصر
سلام.خطای the source file is not compiled چطور برطرف میشه؟؟؟ممنون

sosker
پنج شنبه 21 شهریور 1392, 23:19 عصر
سلام.خطای the source file is not compiled چطور برطرف میشه؟؟؟ممنون
سلام.این خطا یعنی اینکه تو یجا از کد هایی که نوشتید یه خطا وجود داره و واسه همین کامپایل نمیشه.که مثلا اون خطا می تونه یه غلط املایی باشه یا معنایی یا به کار بردن اشتباه علامت ها تو برنامه..
که باید بگردید و اون اشتباه رو پیدا کنید.