| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 533 人关注过本帖
标题:C++程序设计
只看楼主 加入收藏
幽幽指
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-4-26
收藏
 问题点数:0 回复次数:2 
C++程序设计
设计一个学生类(CStudebt),它具有的私有数据成员是注册号、姓名、数学、外语、计算机课程的成绩。具有的共有成员函数是:求三门课的总成绩的函数sum,求三门课平均成绩的函数average,显示学生数据信息的函数display,设置学生数据信息的函数setdate,然后通过主函数从键盘对学生对象的数组(全班学生信息)进行输入,而后求出每一个学生的总成绩、平均成绩,并显示全班学生总成绩最高的同学的全部数据函数。要求用到构造函数和析构函数。不会做,麻烦各位高手帮帮忙!
搜索更多相关主题的帖子: 程序设计 
2008-04-26 20:38
abelsky
Rank: 1
来 自:小型网吧
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-4-28
收藏
得分:0 
只给了一个简单的 例子, 没写完整,
#include<iostream>
#include<string.h>
using namespace std;
class CStudent
{
public:
    CStudent()
    {cout<<"构造函数被调用"<<endl;}
    ~CStudent(){cout<<"析构函数被调用"<<endl;}
    double sum(double a,double b,double c);//{return a+b+c;}
    double average(double a,double b,double c);//{return (a+b+c)/3;}
    void display();
    void setdate();
private:
    int RegID;     //注册号
    char name[32]; //姓名
    double MS;    //数学
    double FLS;   //外语
    double CS;    //计算机
};
double CStudent::sum(double a,double b,double c){return a+b+c;}
double CStudent::average(double a,double b,double c){return (a+b+c)/3;}
void CStudent::display()
{
    cout<<"注册号: "<<RegID<<endl;
    cout<<"姓名: ";puts(name);
    cout<<"数学成绩: "<<MS<<endl;
    cout<<"外语成绩: "<<FLS<<endl;
    cout<<"计算机成绩: "<<CS<<endl;
    cout<<"总成绩: "<<sum(MS,FLS,CS)<<endl;
    cout<<"平均成绩: "<<average(MS,FLS,CS)<<endl;
}
void CStudent::setdate()
{
    cout<<"输入注册号"<<endl;
    cin>>RegID;
    cout<<"输入姓名"<<endl;
    cin>>name;    
    cout<<"输入数学成绩"<<endl;
    cin>>MS;
    cout<<"输入外语成绩"<<endl;
    cin>>FLS;
    cout<<"输入计算机成绩"<<endl;
    cin>>CS;
}
int main()
{
    CStudent a;
    a.setdate();
    a.display();
    return 0;
}
2008-05-01 07:57
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
收藏
得分:0 
借鉴了一下楼上的 自己写了个
没有测试 不知道对不对 还请指出不足
#include<iostream>
#include<string>
using namespace std;

class CStudent{
  public:
    CStudent(const string& m,const string& n,double a,double b,double c);
    CStudent(const CStudent& var);
    ~CStudent(){};
    double num()const;
    double num(double a,double b,double c);
    double average()const;
    double average(double a,double b,double c);
    void display()const;
    CStudent& setdate();
  private:
    string zhuce;
    string name;
    double sx;
    double wy;
    double computer;  
};
CStudent::CStudent(const string& m,const string& n,double a,double b,double c):zhuce(m),name(n),sx(a),wy(b),coumpter(c){}
CStudent::CStudent(const CStudent& var):zhuce(var.zhuce),name(var.name),sx(var.sx),wy(var.wy),computer(){}
double CStudent::num()const{return sx+wy+coumpter;}
double CStudent::num(double a,double b,double c){return a+b+c;}
double CStudent::average()const{return (sx+wy+coumpter)/3;}
double CStudent::average(double a,double b,double c){return (a+b+c)/3;}
void Cstudent::display()const{
    cout<<"注册号: "<<zhuce<<endl;
    cout<<"姓名: "<<name<<endl;
    cout<<"数学成绩: "<<sx<<endl;
    cout<<"外语成绩: "<<wy<<endl;
    cout<<"计算机成绩: "<<computer<<endl;
    cout<<"总成绩: "<<sum(sx,wy,coumpter)<<endl;
    cout<<"平均成绩: "<<average(sx,wy,compter)<<endl;
}
const CStudent& CStudent::setdate(){
    cout<<"输入注册号"<<endl;
    cin>>zhuce;
    cout<<"输入姓名"<<endl;
    cin>>name;   
    cout<<"输入数学成绩"<<endl;
    cin>>sx;
    cout<<"输入外语成绩"<<endl;
    cin>>wy;
    cout<<"输入计算机成绩"<<endl;
    cin>>computer;
    return *this;
}
int main(){
  int value=0;
  cout<<"输入学生人数: ";
  cin>>value;
  const int value=value;
  CStudent str[value],max,mid;
  for(int i=0;i<=value-1;i++){
    str[i].display().num();
  }
  max=str[0];
  for(int i=1;i<=value-1;i++){
    if(max<str[i]){
      mid=str[i];
      str[i]=max;
      max=mid;
    }
  }
  max.display();
  return 0;
}
2008-05-01 11:16
快速回复:C++程序设计
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016870 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved