题目:
-
在一个学生信息处理程序中,要求实现一个代表学生的类,并且所有成员变量都应该是私有的。
(注:评测系统无法自动判断变量是否私有。我们会在结束之后统一对作业进行检查,请同学们严格按照题目要求完成,否则可能会影响作业成绩。)
输入
- 姓名,年龄,学号,第一学年平均成绩,第二学年平均成绩,第三学年平均成绩,第四学年平均成绩。 其中姓名、学号为字符串,不含空格和逗号;年龄为正整数;成绩为非负整数。 各部分内容之间均用单个英文逗号","隔开,无多余空格。 输出
- 一行,按顺序输出:姓名,年龄,学号,四年平均成绩(向下取整)。 各部分内容之间均用单个英文逗号","隔开,无多余空格。 样例输入
-
Tom,18,7817,80,80,90,70
样例输出
-
Tom,18,7817,80
描述
#include <string>
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
class Student{
string name;
int studentID;
int age;
int gradeOne;
int gradeTwo;
int gradeThree;
int gradeFour;
int aveGrade;
void calculate(){
aveGrade=(gradeOne+gradeTwo+gradeThree+gradeFour)/4;
}
public:
Student(string sName,int sAge,int sId,int sGradeOne,int sGradeTwo,int sGradeThree,int sGradeFour);
void display();
};
Student::Student(string sName,int sAge,int sId,int sGradeOne,int sGradeTwo,int sGradeThree,
int sGradeFour):name(sName),studentID(sId),age(sAge),gradeOne(sGradeOne),gradeTwo(sGradeTwo),
gradeThree(sGradeThree),gradeFour(sGradeFour){
}
void Student::display(){
calculate();
cout<<name<<","<<age<<","<<studentID<<","<<aveGrade<<endl;
}
int main(){
string name;
string tmp;
int age;
int id;
int gradeOne,gradeTwo,gradeThree,gradeFour;
getline(cin,name,',');
getline(cin,tmp,',');
age = atoi(tmp.c_str());
getline(cin,tmp,',');
id = atoi(tmp.c_str());
getline(cin,tmp,',');
gradeOne = atoi(tmp.c_str());
getline(cin,tmp,',');
gradeTwo = atoi(tmp.c_str());
getline(cin,tmp,',');
gradeThree = atoi(tmp.c_str());
getline(cin,tmp,'\n');
gradeFour = atoi(tmp.c_str());
//scanf("%d,%d,%d,%d,%d,%d",&age,&id,&gradeOne,&gradeTwo,&gradeThree,&gradeFour);
Student student(name,age,id,gradeOne,gradeTwo,gradeThree,gradeFour);
student.display();
}