5 学生信息处理程序

#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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值