View Full Version : error این کد چیه؟
fshb_ 1370
دوشنبه 09 آذر 1388, 20:22 عصر
سلام
error این برنامه چیه؟
#include<iostream>
using namespace std;
class GradeBook
{
public:
void inputGrade()
{
int grade1;
int grade2;
int grade3;
cout<<"Enter three numbers:";
cin>>grade1>>grade2>>grade3;
maximumGrade=maximum(grade1,grade2,grade3);
}
int maximum(int x,int y,int z)
{
int maximumValue=x;
if(y>maximumValue)
maximumValue=y;
if(z>maximumValue)
maximumValue=z;
cout<<"maximum is:"<<maximumValue;
}
private:
int maximumGrade;
};
int main()
{
GradeBook myGradeBook();
myGradeBook.inputGrade();
myGradeBook.maximum();
int q;
cin>>q;
}
پیشاپیش ممنون
clover
دوشنبه 09 آذر 1388, 21:37 عصر
int main()
{
GradeBook myGradeBook(); // GradeBook myGradeBook; تصحیح شود
myGradeBook.inputGrade();
myGradeBook.maximum(); // myGradeBook.maximum(3, 8, 5); تصحیح شود
int q;
cin>>q;
}
1 - روش ایجاد شی اشتباه هست . سازنده پیش فرض به صورت ضمنی احضار می شود و نیازی به پرانتز ها نیست.
2 - تابع عضو ()maximum باید با ارسال سه پارامتر فراخوانی شود. البته نیازی به فراخوانی این تابع نیست.
این تابع به محض ورود نمرات توسط تابع inputGrade احضار شده و پیغام مناسب را چاپ می کند. اما در مجموع به نظر من درست پیاده سازی نشده و می تواند به این شکل پیاده سازی شود :
int maximum()
{
int maximumGrade = grade1;
if(grade2 > maximumGrade)
maximumGrade = grade2;
if(grade3 > maximumGrade)
maximumGrade = grade3;
cout << "maximum is: " << maximumValue;
return maximumGrade;
}
fshb_ 1370
سه شنبه 10 آذر 1388, 09:23 صبح
اگر بخوام تابع maximum فراخوانی کنم و با صدا زدن تابعinputGrade تابع maximum اجرا نشه و تابع maximum بزرگترین مقدار را از متغیرهای grade1,grade2,grade3 که در inputGrade دریافت میکنه انتخاب کنه،باید چی کار کنم؟
kitten
سه شنبه 10 آذر 1388, 09:47 صبح
اگه این طوری بنویسی دیگه نیازی نیست که داخل تابع inputgrades تابع maximum را هم صدا بزنی
#include<iostream>
using namespace std;
class GradeBook
{
public:
void inputGrade()
{
cout<<"Enter three numbers:";
cin>>grade1>>grade2>>grade3;
}
int maximum()
{
int maximumValue=grade1;
if(grade2>maximumValue)
maximumValue=grade2;
if(grade3>maximumValue)
maximumValue=grade3;
cout<<"maximum is:"<<maximumValue;
}
private:
int maximumGrade;
int grade1;
int grade2;
int grade3;
};
int main()
{
GradeBook myGradeBook;
myGradeBook.inputGrade();
myGradeBook.maximum();
int q;
cin>>q;
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.