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

关于c++的成绩管理系统,请帮忙看看,运行老出现异常

2012-03-27 
关于c++的成绩管理系统,请帮忙看看,运行老出现错误#includeiostream.h#includestring.hclass Student{

关于c++的成绩管理系统,请帮忙看看,运行老出现错误
#include<iostream.h>
#include<string.h>
class Student
{
private: 
  string Sname;
string Sscore[5];
public:
void fun()
{
cout<<"输入学生姓名:"endl;
cin>>this->Sname;
}
void fum()
{
  cout<<"输入学生的成绩"<<endl;
for(int i=0;i<5;i++)
{
cin<<this->Sscore;
}
}
float total()
{
float sum=0;
for(int i=0;i<5;i++)
{sum=sum+Sscore[i];}
return sum;
}
void sort()
{  
int n;
float temp;
for(int i=0;i<n;i++)
{
for(int j=i+1;j>n;j++)
{
if(Sscore[j]<Sscore[i])
{
temp=Sscore[j];
Sscore[j]=Sscore[i];
Sscore[i]=temp;
}
}
}
}
void print()
{
  cout<<"学生的姓名"<<Sname<<"\t"<<"总成绩:";
for(int i=0;i<5;i++)
cout<<this->Sscore[i];
}
};
float main()
{
Student aveage;
float ave;
ave=aveage.total()/5;
cout<<"平均成绩为:"<<ave<<endl;
aveage.fum();
aveage.fun();
return 0;
}

[解决办法]

C/C++ code
//#include<iostream.h>#include <iostream>//#include <string.h>#include <string>using namespace std;         ////////////////////////class Student{private:    string Sname;string Sscore[5];public:void fun(){//cout<<"输入学生姓名:"endl;    cout<<"输入学生姓名:" << endl;cin>>this->Sname;}void fum(){  cout<<"输入学生的成绩"<<endl;for(int i=0;i<5;i++){//cin<<this->Sscore;    cin >> this->Sscore;   //没重载 运算符   >>}}float total(){float sum=0;for(int i=0;i<5;i++){sum=sum+Sscore[i];}          //没重载 运算符   +return sum;}void sort(){   int n;float temp;for(int i=0;i<n;i++){for(int j=i+1;j>n;j++){if(Sscore[j]<Sscore[i]){temp=Sscore[j];                    //string 不能赋给 float类型Sscore[j]=Sscore[i];Sscore[i]=temp;}}}}void print(){  cout<<"学生的姓名"<<Sname<<"\t"<<"总成绩:";for(int i=0;i<5;i++)cout<<this->Sscore[i];}};float main(){Student aveage;float ave;ave=aveage.total()/5;cout<<"平均成绩为:"<<ave<<endl;aveage.fum();aveage.fun();return 0;}
[解决办法]
C/C++ code
#include<iostream>//error: string对象只有C++才有,string.h 提供的是C风格的字符串#include<string>//楼主参考下 http://topic.csdn.net/u/20120217/00/93306996-4260-41e6-8909-78dc79a5d705.htmlusing namespace std;class Student {private:    string Sname;  string Sscore[5];public:    void fun()    {        cout<<"输入学生姓名:"<<endl;        cin>>this->Sname;    }    void fum()    {      cout<<"输入学生的成绩"<<endl;        for(int i=0;i<5;i++)    {            cin>>this->Sscore[i];//error        }    }    float total()    {        float sum=0;        for(int i=0;i<5;i++)    {            sum=sum+atof( Sscore[i].c_str() );//error        }        return sum;    }    void sort()    {           int n;        string temp;//error        for(int i=0;i<n;i++)    {            for(int j=i+1;j>n;j++)    {                if(Sscore[j]<Sscore[i])    {                    temp=Sscore[j];                    Sscore[j]=Sscore[i];                    Sscore[i]=temp;                }            }        }    }    void print()    {      cout<<"学生的姓名"<<Sname<<"\t"<<"总成绩:";        for(int i=0;i<5;i++)            cout<<this->Sscore[i];    }};int main() {    Student aveage;    float ave;    ave=aveage.total()/5;    cout<<"平均成绩为:"<<ave<<endl;    aveage.fum();    aveage.fun();    return 0;} 


[解决办法]
你的问题有点大吧!虽然我也是一个菜鸟,但是我要说的是你的构造函数和析构函数都没写。还有就是要用类的对象是 不是要初始化再使用,你是先使用然后在来给对象赋值。

热点排行