【2674】3-5 学生成绩统计 SDUT
来源:互联网 发布:唐七抄袭 知乎 编辑:程序博客网 时间:2024/05/11 13:28
3-5 学生成绩统计
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
通过本题目练习可以掌握对象数组的用法,主要是对象数组中数据的输入输出操作。
设计一个学生类Student 它具有私有的数据成员:学号、姓名、数学成绩、英语成绩、计算机成绩;具有公有的成员函数:求三门课总成绩的函数int sum(); 求三门课平均成绩的函数 double average(); 输出学生基本信息、总成绩和平均成绩的函数 void print(); 设置学生数据信息的函数voidset_stu_info(int n,char *p,int m,int e,int c)。
请编写主函数,建立学生对象数组,从键盘输入一组学生数据,输出学生的成绩统计表:
stuID 姓名 数学 英语 计算机 总成绩 平均成绩
001 xxx 90 85 95 270 90.0
002 yyy 95 98 92 285 95.0
输入
输入数据有5行,代表5个学生的信息。
每行有5个数据,数据间用一个空格分隔,分别代表学生的学号、姓名、数学成绩、英语成绩和计算机成绩。除了姓名是符号串外,其他均为整型数据,数据在int类型范围内。
输出
输出数据一共有7行。
第一行输出提示信息“Input the messages of five students(StudentID Name Math English Computer )”
第二行输出一个空行,进行输入输出间的间隔
第三行输出表头“StuID Name Math Eng Com Total Average” ,这一行有7个数据,数据间用制表符’\t’分隔,分别代表学生的学号、姓名、数学成绩、英语成绩、计算机成绩、总成绩和平均成绩。其中平均成绩为实型数据,保留1位小数。
第4-8行分别输出5个学生的相关数据。每个数据占一个制表符的空间。格式同上。
示例输入
1001 Andy 89 90 931002 Mary 93 95 981003 Luis 90 85 981004 Sam 91 95 981005 Lily 87 98 99
示例输出
Input the messages of five students(StudentID Name Math English Computer )StuIDNameMathEngComTotalAverage1001Andy89909327290.71002Mary93959828695.31003Luis90859827391.01004Sam91959828494.71005Lily87989928494.7
这道题写的很乱,只是ac了,代码毫无条理,先发出来,以后会优化
#include <iostream>#include <cstdio>using namespace std;class stud{private: string name; int id, m, e, c;public: void setstud(class stud *a,int n)//对象数组的输入 { int i; for(i=0; i<n; i++) { cin>>a[i].id>>a[i].name>>a[i].m>>a[i].e>>a[i].c; } } int sum(class stud a)//求和 { int su=0; su+=a.c; su+=a.e; su+=a.m; return su; } double ave(int su)//求平均值 { double av; av=(su*1.0)/3; return av; } void show(class stud *a)//输出 { cout<<"StuID"<<"\t"<<"Name"<<"\t"<<"Math"<<"\t"<<"Eng"<<"\t"<<"Com"<<"\t"<<"Total"<<"\t"<<"Average"<<endl; for(int i=0; i<5; i++) { int su=sum(a[i]); double av=ave(su); cout<<a[i].id<<"\t"<<a[i].name<<"\t"<<a[i].m<<"\t"<<a[i].e<<"\t"<<a[i].c<<"\t"<<su<<"\t"; printf("%.1lf\n",av); } }};int main(){ cout<<"Input the messages of five students(StudentID Name Math English Computer )"<<"\n"<<endl; class stud st[5]; st[5].setstud(st,5); st[5].show(st); return 0;}
- 【2674】3-5 学生成绩统计 SDUT
- SDUT-2674 3-5 学生成绩统计
- sdut 3-5 学生成绩统计
- sdut oj3-5 学生成绩统计
- 2674 3-5 学生成绩统计
- 2674 3-5 学生成绩统计
- 3-5 学生成绩统计
- 3-5 学生成绩统计
- 3-5 学生成绩统计
- 3-5 学生成绩统计
- 3-5 学生成绩统计
- 3-5 学生成绩统计
- 3-5 学生成绩统计
- 3-5 学生成绩统计
- 3-5 学生成绩统计
- 3-5 学生成绩统计
- 3-5 学生成绩统计
- 3-5 学生成绩统计
- 2014/9/19 放弃
- Java 抽奖算法
- C# .NET三层架构中数据库处理三个方法通用类
- 游戏架构其一:常用工具集合
- 如何把自己写的动态链接库(.dll)卖给别人?
- 【2674】3-5 学生成绩统计 SDUT
- 第一篇文章
- codeforces467C George and Job dp
- acm 初级入门 密码
- [cocos2dx]让CCScrollView支持分页
- C# 使用委托
- Codeforces Round #267 (Div. 2) C. George and Job
- PADS下泪滴的作用
- 网站(B/s)架构发展探索、分析