简单的学生信息处理程序实现
来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。)
注意: 总时间限制: 1000ms 内存限制: 65536kB
描述
在一个学生信息处理程序中,要求实现一个代表学生的类,并且所有成员变量都应该是私有的。
(注:评测系统无法自动判断变量是否私有。我们会在结束之后统一对作业进行检查,请同学们严格按照题目要求完成,否则可能会影响作业成绩。)
输入
姓名,年龄,学号,第一学年平均成绩,第二学年平均成绩,第三学年平均成绩,第四学年平均成绩。
其中姓名、学号为字符串,不含空格和逗号;年龄为正整数;成绩为非负整数。
各部分内容之间均用单个英文逗号","隔开,无多余空格。
输出
一行,按顺序输出:姓名,年龄,学号,四年平均成绩(向下取整)。
各部分内容之间均用单个英文逗号","隔开,无多余空格。
#include "stdafx.h"
#include<iostream>
#include<string>
using namespace std;
class CStudent {
private:
char name[100], number[100];
int age, avg_year1, avg_year2, avg_year3, avg_year4;
public:
void Init(char name_[100], int age_, char number_[100], int avg_year1_, int avg_year2_, int avg_year3_, int avg_year4_) {
strcpy_s(name, name_);
age = age_;
strcpy_s(number, number_);
avg_year1 = avg_year1_;
avg_year2 = avg_year2_;
avg_year3 = avg_year3_;
avg_year4 = avg_year4_;
}
void Message() {
cout << name<< ',' << age << ',' << number << ',' << (avg_year1 + avg_year2 + avg_year3 + avg_year4) / 4 << endl;
}
};
int main(int argc, char *argv[])
{
char name[100],number[100];
char k;
int age,avg_year1,avg_year2,avg_year3,avg_year4;
cin.getline(name, 100, ',');
cin >> age>>k;
cin.getline(number, 100, ',');
cin >> avg_year1 >> k >> avg_year2 >> k >> avg_year3 >> k >> avg_year4;
CStudent S;
S.Init(name, age, number, avg_year1, avg_year2, avg_year3, avg_year4);
S.Message();
return 0;
}