首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

超级初学者问的有关问题 判断成绩登等级的

2012-04-02 
超级菜鸟问的问题 判断成绩登等级的各路大侠们看看问题在哪里#includeiostreamusing namespace stdclas

超级菜鸟问的问题 判断成绩登等级的
各路大侠们看看问题在哪里
#include"iostream"
using namespace std;
class Score
{
? public:
? Score (int aa);
? void dis (int a)
? {
? //a=ab;
? if(a>=90&&a<=100)
? cout<<"Excellent";
? else if(a>=80&&a<=89)
? cout<<"Good";
? else if(a>=70&&a<=79)
? cout<<"Average";
? else if(a>=60&&a<=69)
? cout<<"Pass";
? else if(a>=0&&a<=59)
? cout<<"Failing";}
? private:int a;
};
Score::Score(int aa)
{
? a=aa;
}
int main()
{
? int data;
? while(cin >> data)
? Score score(data);
? return 0;
}


[解决办法]
你这个类里面的方法有点诡异呀……你的思路应该是对象在初始化的时候指定成员变量a的值,然后再根据a的值来确定是哪一个等级吧?
如果是这样的话,你应该把dis函数改为dis(),参数为空,函数体内使用的是对象的成员变量this->a。
另外你main函数里面也没有调用dis函数呀……
函数体应该改成:
? void dis ( )
? {
? //a=ab;
? if(a>=90&&a<=100)
? cout<<"Excellent";
? else if(a>=80&&a<=89)
? cout<<"Good";
? else if(a>=70&&a<=79)
? cout<<"Average";
? else if(a>=60&&a<=69)
? cout<<"Pass";
? else if(a>=0&&a<=59)
? cout<<"Failing";
?}

main中也应该显示调用函数:
?Score score(data);后面加上 score.dis()

[解决办法]
LS正解,看来你是刚学C++的人,函数要显式的调用的!或者你写一个构造函数在里面给a赋值,然后在里面调用dis();这个不需要参数的!
Score::Score(int aa)
{
? a=aa;
? dis();
}
这个样子也可以解决问题的!

热点排行