为了C++考试,大家请帮忙,VC++6.0环境
1.不知道怎样的调用,2.从键盘输入后到set中,get获取值,也不知道怎么写法。
程序如下:
报错如下:
--------------------Configuration: test - Win32 Debug--------------------
Compiling...
test1.cpp
C:\2010ks\pro2\test\test1.cpp(87) : error C2664: 'sanhao' : cannot convert parameter 1 from 'int [10]' to 'class student []'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
C:\2010ks\pro2\test\test1.cpp(88) : error C2664: 'avg' : cannot convert parameter 1 from 'int [10]' to 'class student []'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.
test1.obj - 2 error(s), 0 warning(s)
------------------------
//请编写程序c3.cpp,定义学生(student)类,其私有成员变量有学号(no),姓名(xm),性别(xb),品德成绩(pdcj)、考试平均成绩(kscj)
//体育成绩(tycj)。如果每个成绩都在85分以上的同学是三好学生。请输入10名学生的情况,先判断每位同学是否为三好学生,
//然后计算每个学生的平均成绩。
// 要求:求同学的平均成绩和判定三好学生的功能是学生对象的公共成员函数。
#include <iostream>
#include < string >
using namespace std;
class student{
private:
int no;
string xm;
string xb;
int pdcj;
//int kscj;
int tycj;
public:
student(){}
student(int n,string x,string b,int p,int k,int t)
{
no=n;
xm=x;
xb=b;
pdcj=p;
//kscj=k;
tycj=t;
}
void setNo(int n){no=n;}
void setXm(string x){xm=x;}
void setXb(string b){xb=b;}
void setPdcj(int p){pdcj=p;}
//void setKscj(int k){int kscj=k;}
void setTycj(int t){int tycj=t;}
int getNo(){return no;}
string getXm(){return xm;}
string getXb(){return xb;}
int getPdcj(){return pdcj;}
//int getKscj(){return kscj;}
int getTycj(){return tycj;}
void avg(student[]);
void sanhao(student[]);
};
void student::avg(student s[])
{
for (int i = 0; i < 10; i++) {
int average = 0;
average = s[i].getPdcj()+(s[i].getTycj())/2;
cout << s[i].getXm()<<"学生成绩是:"<<average<<endl;
}
}
void student::sanhao(student s[])
{
for (int i = 0; i < 10; i++) {
if (s[i].getPdcj() >= 85 && s[i].getTycj() >= 85)
{
cout << "姓名:" << s[i].getXm() << "是三好学生"<<endl;
}
}
}
void main(){
int s1[10];
student s;
int no ;
string xm;
string xb;
int pdcj;
int tycj;
cout<<"输入学号:"<<"姓名"<<"性别:"<<"品德成绩:"<<"体育成绩:"<<endl;
for(int i=0;i<2;i++)
{
//cin>>s1[i].setNo(no)>>s1[i].setXm(xm)>>s1[i].setXb(xb)>>s1[i].setPdcj(pdcj)>>s1[i].setTycj(tycj);
cin>>xm>>xb>>no>>pdcj>>tycj;
}
//cout<<s1[i].setNo(no);//<<xb<<no<<pdcj<<tycj;
s.sanhao(s1);
s.avg(s1);
}
[解决办法]
- C/C++ code
#include <iostream>#include < string >using namespace std;class student{private: int no; string xm; string xb; int pdcj; //int kscj; int tycj;public: student(){} void SetValue(int n,string x,string b,int p,int t) { no=n; xm=x; xb=b; pdcj=p; //kscj=k; tycj=t; } void setNo(int n){no=n;} void setXm(string x){xm=x;} void setXb(string b){xb=b;} void setPdcj(int p){pdcj=p;} //void setKscj(int k){int kscj=k;} void setTycj(int t){int tycj=t;} int getNo(){return no;} string getXm(){return xm;} string getXb(){return xb;} int getPdcj(){return pdcj;} //int getKscj(){return kscj;} int getTycj(){return tycj;} void avg(student[]); void sanhao(student[]); };void student::avg(student s[]){ for (int i = 0; i < 10; i++) { int average = 0; average = s[i].getPdcj()+(s[i].getTycj())/2; cout << s[i].getXm()<<"学生成绩是:"<<average<<endl; }}void student::sanhao(student s[]){ for (int i = 0; i < 10; i++) { if (s[i].getPdcj() >= 85 && s[i].getTycj() >= 85) { cout << "姓名:" << s[i].getXm() << "是三好学生"<<endl; } }}void main(){ student s1[10]; student s; int no ; string xm; string xb; int pdcj; int tycj; cout<<"输入学号:"<<"姓名"<<"性别:"<<"品德成绩:"<<"体育成绩:"<<endl; for(int i=0;i<10;i++) { //cin>>s1[i].setNo(no)>>s1[i].setXm(xm)>>s1[i].setXb(xb)>>s1[i].setPdcj(pdcj)>>s1[i].setTycj(tycj); cin>>no>>xm>>xb>>pdcj>>tycj; s1[i].SetValue(no,xm,xb,pdcj,tycj); } //cout<<s1[i].setNo(no);//<<xb<<no<<pdcj<<tycj; s.sanhao(s1); s.avg(s1);}
[解决办法]
[解决办法]
s.sanhao(s1);
函数的参数传递错误
[解决办法]
计算机等级考试是这个时间段??
[解决办法]
看关累,明明用了,还说没用