代码如下:
#include <iostream>
#include <cstring>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
class Student{
private:
char stuName[10];
int stuAge;
char stuNo[10];
int stuGAve[4];
public:
Student(char* name,int age,char* no,int* ave );
void setName(char* name);
void setAge(int age);
void setNo(char* no);
void setAve(int ave, int year);
char* getName();
int getAge();
char* getNo();
int getAve(int year);
int getAve4();
};
void Student::setName(char* name)
{
strcpy(stuName, name);
}
void Student::setAge(int age)
{
stuAge = age;
}
void Student::setNo(char *no)
{
strcpy(stuNo, no);
}
void Student::setAve(int ave, int year)
{
stuGAve[year - 1] = ave;
}
Student::Student(char* name, int age, char* no, int* ave)
{
setName(name);
setAge(age);
setNo(no);
for (int i = 0; i < 4;i ++ )
{
setAve(ave[i], i + 1);
}
}
char* Student::getName()
{
return stuName;
}
int Student::getAge()
{
return stuAge;
}
char* Student::getNo()
{
return stuNo;
}
int Student::getAve(int year)
{
return stuGAve[year - 1];
}
int Student::getAve4()
{
int ave_total = 0;
for (int i = 0; i < 4; i++)
{
ave_total += stuGAve[i];
}
return ave_total / 4;
}
int main()
{
char stuName[10];
int stuAge;
char stuNo[10];
int stuGAve[4];
string str;
getline(cin, str, ',');
strcpy(stuName, str.c_str());
getline(cin, str, ',');
stuAge = atoi(str.c_str());
getline(cin, str, ',');
strcpy(stuNo, str.c_str());
for (int i = 0; i<4; i++)
{
if (i < 3)
{
getline(cin, str, ',');
stuGAve[i] = atoi(str.c_str());
}
else
{
getline(cin, str);
stuGAve[i] = atoi(str.c_str());
}
}
Student stu(stuName, stuAge, stuNo, stuGAve);
cout << stu.getName() << "," << stu.getAge() << "," << stu.getNo() << "," << stu.getAve4() << endl;
return 0;
}
-
总时间限制:
- 1000ms 内存限制:
- 65536kB
-
描述
-
在一个学生信息处理程序中,要求实现一个代表学生的类,并且所有成员变量都应该是私有的。
(注:评测系统无法自动判断变量是否私有。我们会在结束之后统一对作业进行检查,请同学们严格按照题目要求完成,否则可能会影响作业成绩。)
输入
-
姓名,年龄,学号,第一学年平均成绩,第二学年平均成绩,第三学年平均成绩,第四学年平均成绩。
其中姓名、学号为字符串,不含空格和逗号;年龄为正整数;成绩为非负整数。
各部分内容之间均用单个英文逗号","隔开,无多余空格。
输出
-
一行,按顺序输出:姓名,年龄,学号,四年平均成绩(向下取整)。
各部分内容之间均用单个英文逗号","隔开,无多余空格。
样例输入
-
Tom,18,7817,80,80,90,70
样例输出
-
Tom,18,7817,80