PDA

View Full Version : مشکل float در ++Turbo C



Collector
دوشنبه 14 آذر 1390, 16:01 عصر
سلام

چرا در برنامه زیر وقتی مقدار avg رو در کلاس Student و مقدار x در تابع min_avg رو از نوع فلوت انتخاب میکنم.
توربو سی ++ هنگ میکنه.

# include <iostream.h>
# include <conio.h>

# define Max_Stu 4
int Any;

class Student{
public :
float Avg;
};

Student *Array_Of_Stu = new Student[Max_Stu];

void Insert();
void Min_AVG(Student *);

int main(void)
{
Insert();
Min_AVG(Array_Of_Stu);
return 0;
}

void Insert()
{
int count;
clrscr();

for(int i = 0 ; i < Max_Stu; i++)
{
cout<<"\n---------- Enter Avg Of Student : ";
cin>> Array_Of_Stu[i].Avg;
}
}

void Min_AVG(Student *a)
{
int i,j;
float x;
for(i = 0; i < Max_Stu - 1; i++)
for(j = i + 1; j < Max_Stu; j++)
if (a[i].Avg > a[j].Avg)
{
x = a[i].Avg;
a[i].Avg = a[j].Avg;
a[j].Avg = x;
}
clrscr();
cout<<"Min Avg is "<< a[0].Avg<<endl<<endl;
Any = getche();
clrscr();
}

soorena
دوشنبه 14 آذر 1390, 16:43 عصر
سلام

من برنامه رو تحت لینوکس با کامپایلر ++g کامپایل کردم و هیچ مشکلی‌ نداره و درست هم کار می‌کنه.
من امتحان هم کردم کاملا درست بود.
فقط یه سری نکات کوچولو هستش که اگه تو برنامه نویسی رعایت بشه خیلی‌ عالیه.
البته نظر شخصی‌ من هستش شاید تو خوشت نیاد.
به نظرم اگه سعی‌ کنی‌ از توابع استاندارد استفاده کنی‌ خیلی‌ بهتره مثلا کتابخونه conio.hاستاندارد نیست و بهتره که
ازش استفاده نکنی‌ اینجوری برنامه هات رو میتونی‌ تقریبا با هر کامپایلری که خواستی‌ کامپایل کنی‌.
ضمن اینکه برای راحتی‌ کار تو تعریف اسم متغیر‌ها و توابع سعی‌ کن از قواعد خاصی‌ استفاده کنی‌ تا تو برنامه‌های بزرگ دچار مشکل نشی‌.

موفق باشی‌.

Collector
دوشنبه 14 آذر 1390, 17:44 عصر
سلام

من برنامه رو تحت لینوکس با کامپایلر ++g کامپایل کردم و هیچ مشکلی‌ نداره و درست هم کار می‌کنه.
من امتحان هم کردم کاملا درست بود.
فقط یه سری نکات کوچولو هستش که اگه تو برنامه نویسی رعایت بشه خیلی‌ عالیه.
البته نظر شخصی‌ من هستش شاید تو خوشت نیاد.
به نظرم اگه سعی‌ کنی‌ از توابع استاندارد استفاده کنی‌ خیلی‌ بهتره مثلا کتابخونه conio.hاستاندارد نیست و بهتره که
ازش استفاده نکنی‌ اینجوری برنامه هات رو میتونی‌ تقریبا با هر کامپایلری که خواستی‌ کامپایل کنی‌.
ضمن اینکه برای راحتی‌ کار تو تعریف اسم متغیر‌ها و توابع سعی‌ کن از قواعد خاصی‌ استفاده کنی‌ تا تو برنامه‌های بزرگ دچار مشکل نشی‌.

موفق باشی‌.

ممنونم که پاسخ دادید اما من با توربو کامپایل میکنم. هنگ میکنه.
البته با int مشکلی نداره.

BeginnerProgrammer
سه شنبه 15 آذر 1390, 13:18 عصر
تو visualو borland c++ هم مشکلی نداشت

shahmohammadi
پنج شنبه 17 آذر 1390, 00:14 صبح
سلام.
من همین کد رو تو تربوی داس و توربو 4.5 ویندوز امتحان کردم. هنگ نکرد.