一个简单的学生类

来源:互联网 发布:如何成为网络作者 编辑:程序博客网 时间:2024/05/16 18:42

代码如下:

#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


0 0
原创粉丝点击