您的位置:首页 > 其它

简单的学生信息处理程序实现

2014-03-07 22:11 246 查看


MOOC-程序设计实习第二周作业:
在一个学生信息处理程序中,要求实现一个代表学生的类,并且所有成员变量都应该是私有的。

输入
姓名,年龄,学号,第一学年平均成绩,第二学年平均成绩,第三学年平均成绩,第四学年平均成绩。

其中姓名、学号为字符串,不含空格和逗号;年龄为正整数;成绩为非负整数。

各部分内容之间均用单个英文逗号","隔开,无多余空格。

Tom,18,7817,80,80,90,70

输出
一行,按顺序输出:姓名,年龄,学号,四年平均成绩(向下取整)。

各部分内容之间均用单个英文逗号","隔开,无多余空格。

Tom,18,7817,80

此次作业遇到的困难在于输入中,各部分内容之间要用英文逗号“,”隔开。
思路有两种:

1.将全部内容作为一个长字符串数组输入,然后将里面的“,”去掉,剩下的元素作为一个新的数组。再把新的数组元素分别赋予各个内容。

2.定义一个字符变量,来接受输入中各个内容之间的“,”。使用cin.get()函数来输入姓名和学号。

选择了第二种思路来实现:

#include<iostream>
using namespace std;

class stu{
private:
int age, y1, y2, y3, y4;
char name[20];
char num[20];
char k;
public:
void init();
void print();
void average_y();
};

void stu::init(){
cin.get(name, 20, ',');
cin >> k >> age >> k;
cin.get(num, 20, ',');
cin >> k >> y1 >> k >> y2 >> k >> y3 >> k >> y4;
}
void stu::print(){
cout << name << "," << age << "," << num << ",";
}
void stu::average_y(){
cout << (y1 + y2 + y3 + y4) / 4 << endl;
}

int main(){
stu c;
c.init();
c.print();
c.average_y();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐