#include <iostream>
#include <string>
#include <cstdio>
#include <cstring>
#include <sstream>
#include <cstdlib>
using namespace std;
class Student {
// 在此处补充你的代码
};
int main() {
Student student; // 定义类的对象
student.input(); // 输入数据
student.calculate(); // 计算平均成绩
student.output(); // 输出数据
}
输入
输入数据为一行,包括:
姓名,年龄,学号,第一学年平均成绩,第二学年平均成绩,第三学年平均成绩,第四学年平均成绩。
其中姓名为由字母和空格组成的字符串(输入保证姓名不超过20个字符,并且空格不会出现在字符串两端),年龄、学号和学年平均成绩均为非负整数。信息之间用逗号隔开。
Tom Hanks,18,7817,80,80,90,70
输出
输出一行数据,包括:
姓名,年龄,学号,四年平均成绩。
信息之间用逗号隔开。
Tom Hanks,18,7817,80
考点:【类和对象】
1、分析发现,如果一起接收名字和后面的数据,会导致接受不全或数据错误,所以接收名字需要单独处理
2、cin.get(name,21,’,’);表示扫描前20个字符,如果有’,'号则终止输入
3、综上
cin.get(name,21,',');
cin >> ch >> age >> ch >> stuId >> ch >> firstAvg >> ch
>> secondAvg >> ch >> thirdAvg >> ch >> fourthAvg;
4、最终得出
class Student {
private:
char name[20];
int age;
int stuId;
float firstAvg,secondAvg,thirdAvg,fourthAvg,avg;
char ch;
public:
void input();
void calculate();
void output();
};
void Student::input(){
cin.get(name,21,',');
cin >> ch >> age >> ch >> stuId >> ch >> firstAvg >> ch
>> secondAvg >> ch >> thirdAvg >> ch >> fourthAvg;
}
void Student::calculate(){
avg = (firstAvg+secondAvg+thirdAvg+fourthAvg)/4;
}
void Student::output(){
cout << name << "," << age << "," << stuId << "," << avg;
}