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 93
1002 Mary 93 95 98
1003 Luis 90 85 98
1004 Sam 91 95 98
1005 Lily 87 98 99

演示样例输出

Input the messages of five students(StudentID Name Math English Computer )

StuID	Name	Math	Eng	Com	Total	Average
1001 Andy 89 90 93 272 90.7
1002 Mary 93 95 98 286 95.3
1003 Luis 90 85 98 273 91.0
1004 Sam 91 95 98 284 94.7
1005 Lily 87 98 99 284 94.7

提示

 

来源

 黄晶晶

演示样例程序

#include <iostream>
#include<cstdio>//c语言输入输出头文件
#include<cstring>//字符串操作头文件 using namespace std;
//定义一个学生类
class student
{
private://私有
int sno,math,english,computer;
char name[100]; public://公有
void input(int id, char *s, int a, int b, int c)//输入函数 注意:别忘了*号
{
sno=id;
strcpy(name,s);//字符串复制
math=a;
english=b;
computer=c;
} void output()//输出函数
{
printf("%d\t%s\t%d\t%d\t%d\t%d\t%.1f\n",sno,name,math,english,computer,math+english+computer,(math+english+computer)*1.0/3.0);
}
}; int main()//主函数
{
int i;
int sno,math,english,computer;
char name[100];
student stu[5];
for(i=0; i<5; i++)//输入五个学生信息
{
cin>>sno>>name>>math>>english>>computer;
stu[i].input(sno,name,math,english,computer);
}
cout<<"Input the messages of five students(StudentID Name Math English Computer )"<<endl<<endl;
cout<<"StuID"<<"\t"<<"Name"<<"\t"<<"Math"<<"\t"<<"Eng"<<"\t"<<"Com"<<"\t"<<"Total"<<"\t"<<"Average"<<endl;
for(i=0; i<5; i++)//输出五个学生信息
{
stu[i].output();
}
return 0;
}

以下别人的:

#include <iostream>
#include<stdio.h>
using namespace std;
class student
{
public: int sum();
double average();
void print();
void set();
private: int num;
char name[20];
int math;
int eng;
int com;
};
int student::sum()
{
return (math+eng+com);
}
double student::average()
{
return ((math+eng+com)/3.0);
}
void student::print()
{
cout<<num<<'\t'<<name<<'\t'<<math<<'\t'<<eng<<'\t'<<com<<'\t'<<sum()<<'\t';
printf("%.1f",average());
cout<<endl;
}
void student::set()
{
cin>>num>>name>>math>>eng>>com;
}
int main()
{
int i;
student stu[5];
for(i=0; i<=4; i++)
stu[i].set();
cout<<"Input the messages of five students(StudentID Name Math English Computer )"<<endl;
cout<<endl;
cout<<"StuID"<<'\t'<<"Name"<<'\t'<<"Math"<<'\t'<<"Eng"<<'\t'<<"Com"<<'\t'<<"Total"<<'\t'<<"Average"<<endl;
for(i=0; i<=4; i++)
stu[i].print();
return 0;
} /**************************************
Problem id : SDUT OJ E
User name :
Result : Accepted
Take Memory : 556K
Take Time : 0MS
Submit Time : 2014-09-30 08:43:56
**************************************/

sdut 3-5 学生成绩统计的更多相关文章

  1. Java课程设计--学生成绩管理系统

    一.团队名称: 团队成员 林艺薇 201721123032 网络1712 黄毓颖 201721123033 网络1712 唐川 201721123034 网络1712 梁才玉 201721123038 ...

  2. 【Java例题】7.5 文件题2-学生成绩统计

    5.学生成绩统计.已有一个学生成绩文件,含有多位学生的各三门课的成绩:读取这个文件中的每位学生的三门课成绩,然后计算均分:最后对这些均分按照大于或小于75分的界限,分别写到另两个文件中. packag ...

  3. 学生各门课程成绩统计SQL语句大全

    学生成绩表(stuscore): 姓名:name 课程:subject 分数:score 学号:stuid 张三 数学 89 1 张三 语文 80 1 张三 英语 70 1 李四 数学 90 2 李四 ...

  4. C语言实例解析精粹学习笔记——34(用“结构”统计学生成绩)

    实例34: 设学生信息包括学号.姓名和五门功课的成绩,要求编写输入输出学生信息的函数.在输入学生信息后,以学生成绩的总分从高到低顺序输出学生信息. 思路: 程序引入一个结构数组依次存储输入的学生信息, ...

  5. sql面试题一 学生成绩

    sql面试题一 学生成绩   原帖链接:http://topic.csdn.net/u/20081020/15/1ABF54D0-F401-42AB-A75E-DF90027CEBA0.html 表架 ...

  6. 【学生成绩管理系统】 大二c语言作业

    几年前写的了,只能在命令行窗口运行,虽然比较挫,还是有一定参考价值... #include <cstdio> #include <conio.h> #include <i ...

  7. [项目记录] 用c语言完成的一个学生成绩管理系统

    一.要求: 学生成绩管理系统 某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入).使用链表编程实现如下菜单驱动的学生成绩管理系统. 从文件读入每个学生个人信 ...

  8. 学生成绩管理系统C++

    今天晚上终于做完了学生成绩管理系统!激动!开心!!!哈哈哈~~~~ 总共298行代码,第一次写这么多. 其中遇到了好多困难,也烦恼了好久,不过最终都解决了! 做了之后果然,满满的成就感!抑制不住的兴奋 ...

  9. 成绩统计程序(Java)

    我的程序: package day20181018;/** * 成绩统计系统 * @author Administrator */import java.util.Scanner;//提供计算机直接扫 ...

随机推荐

  1. 在IE浏览器中iframe跨域访问cookie/session丢失的解决办法

    单点登录需要在需要进入的子系统B中添加一个类,用于接收A系统传过来的参数: @Action(value = "outerLogin", results = { @Result(na ...

  2. Sysstat性能监控工具包中20个实用命令

    Sysstat性能监控工具包中20个实用命令 学习mpstat, pidstat, iostat和sar等工具,这些工具可以帮组我们找出系统中的问题.这些工具都包含了不同的选项,这意味着你可以根据不同 ...

  3. Linux进程间通信——使用信号

    一.什么是信号 用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中 ...

  4. redi中删除所有的数据

    EVAL "return redis.call('del', unpack(redis.call('keys', ARGV[1])))" 0 *

  5. Dollar Dayz(大数母函数,高低位存取)

    Dollar Dayz Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5655   Accepted: 2125 Descr ...

  6. UML视图(四)状态图

    以下是一个图书馆管理系统的状态图,非常典型,涵盖状态图的全部元素的使用,由于状态图相对照较简单,直接从看图就能非常好地掌握.假设想对状态图的元素严谨的概念进行了解,在图下方,有仔细的叙述. 看了上面的 ...

  7. 网络配置——Linux运维基础

    今天把Linux的网络配置总结了一下,尽管并不难可是是个比較重要的基础.然后我也不知到自己以后是否会做运维,可是我知道自己比較喜欢刨根问底.还有就是我很珍惜我以前掌握过的这些运维的技能.今天突然间问自 ...

  8. (转)flash的Socket通讯沙箱和安全策略问题

    一.沙箱和安全策略问题 1.此问题发生在连接时,准确地说是连接前,分别两种情况: 1.本地播放 本地播放时,默认情况下Flash Player将不允许swf访问任何网络. 访问http://www.m ...

  9. Mschart应用之曲线图表spline

    本文主要是Mschart应用之曲线图表spline,实现6个模拟数据的图表,其中数据源X轴为当前系统时间,Y轴是由随机函数产生的不同范围的随机数. 首先是自定义一个数据表,然后产生的数据添加到该数据表 ...

  10. mysql中select distinct的用法

    在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但 往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的 ...