3-5 学生成绩统计-程序员宅基地

技术标签: c++  

3-5 学生成绩统计

Time Limit: 1000MS  Memory Limit: 65536KB
Problem Description

通过本题目练习可以掌握对象数组的用法,主要是对象数组中数据的输入输出操作。

设计一个学生类Student 它具有私有的数据成员:学号、姓名、数学成绩、英语成绩、计算机成绩;具有公有的成员函数:求三门课总成绩的函数int sum(); 求三门课平均成绩的函数 double average(); 输出学生基本信息、总成绩和平均成绩的函数 void print() 设置学生数据信息的函数void set_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

Input

输入数据有5行,代表5个学生的信息。

每行有5个数据,数据间用一个空格分隔,分别代表学生的学号、姓名、数学成绩、英语成绩和计算机成绩。除了姓名是符号串外,其他均为整型数据,数据在int类型范围内。

Output

输出数据一共有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个学生的相关数据。每个数据占一个制表符的空间。格式同上。

Example Input
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
Example Output
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<stdio.h>
#include <iostream>
using namespace std;

class student
{
private:
    string name;
    int num,eng,mat,com;
public:
    int sum();
    void set_stu();
    double average();
    void print();

};
int student::sum()
{
    return (eng+mat+com);
}
double student::average()
{
    return (eng+mat+com)/3.00;
}
void student::print()
{
    cout<<num<<'\t'<<name<<'\t'<<mat<<'\t'<<eng<<'\t'<<com<<'\t'<<sum()<<'\t';
    printf("%.1f\n",average());
}
void student::set_stu()
{
    cin>>num>>name>>mat>>eng>>com;
}
int main()
{
    student stu[5];
    int i;
    for(i=0;i<5;i++)
    {
        stu[i].set_stu();
        stu[i].sum();
        stu[i].average();
    }
    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<5;i++)
{
    stu[i].print();
}
return 0;
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hardhard123/article/details/52780864

智能推荐

localhost无法连接mysql_完美解决MySQL通过localhost无法连接数据库的问题-程序员宅基地

问题:一台服务器的PHP程序通过localhost地址无法连接数据库,但是如果设置为127.0.0.1则可以正常连接,连接其他数据库服务器也正常。MySQL的权限设置正确,且通过mysql命令行客户端可以正常连接数据库。分析:这是典型的socket没有正确设置的情况。连接MySQL数据库有两种方式:TCP/IP(一般理解的端口的那种)和Unix套接字(一般叫socket或者sock)。大部分情况下..._7月 27 10:16:50 localhost mysqld[2037]: 2023-07-27 10:16:50 34 [warning] acc

Jmeter学习笔记-从文本中读取一个参数,多个值(7)-程序员宅基地

测试场景:插入多条数据时,某些关键字不能重复,从文件中读取其参数,可解决该问题。1、CSV Data set config的配置如下图:Filename:需要传入的参数所位于的文件名称,一定要填写完整路径,博主填写的绝对路径。File encoding:参数文件的编码格式。可以不填。Variable Names:对应参数文件中每列的变量名,也是你要引用到请求中的参...

yum命令不能使用的相关错误-程序员宅基地

yum (Yellowdog Updater Modified)是一个集与查找,安装,更新和删除程序的Linux软件。它运行在RPM包兼容的Linux发行版本上,如:RedHat, Fedora, SUSE, CentOS, Mandriva。最近安装了CentOS5.5操作系统,在使用yum命令安装的时候出现如下错误:一、yum 安装软件时,报错:No package X

SpringMVC框架入门到熟练掌握详解_spring springmvc熟悉程度_留下没技术的眼泪的博客-程序员宅基地

目录SpringMVC视频链接:【尚硅谷】SpringMVC教程丨一套快速上手SpringMVC一、SpringMVC简介1、什么是MVC2、什么是SpringMVC3、SpringMVC的特点二、HelloWorld1、开发环境2、创建maven工程3、配置web.xml4、创建请求控制器5、创建springMVC的配置文件6、测试HelloWorld7、总结三、@RequestMapping注解1、@RequestMapping注解的功能2_spring springmvc熟悉程度

linux socket 104 错误,linux socket连接中 ERRNO错误-程序员宅基地

Connection refused:应该是连接的服务端没有启动或者连接端口错误,可以用如下代码测试client端:#include #include /* See NOTES */#include #include #include #include #include #include #include #define PORT 1234#define SERVER "10...._socket 104

在centos服务器上启用ipv6地址-程序员宅基地

随着互联网世界日新月异的发展,ipv6好像已经成为一种必不可少的趋势,但是当前国内机房大部分还不能支持ipv6,腾讯云亦如此。同时,现在有部分程序在服务器上运行的时候,需要服务器能监听一个ipv6地址才行,因此本文档指导如何在centos服务器上启用ipv6地址从而适配这些程序。1.查看服务器是否加载ipv6模块 lsmod | grep ipv6 如没有任何回显,则说明没有加载

随便推点

WPF 自定义BarChartControl(可左右滑动的柱状图)-程序员宅基地

原文:WPF 自定义BarChartControl(可左右滑动的柱状图)自定义可左右滑动、拖拽滑动的平面柱状图在做这种样式控件之前,可先浏览我之前预研的控件:A、自定义左右滑动ScrollViewer(可拖动滑动)B、自定义Bar柱状图OK,现在说下控件具体设计过程:1)采用Grid布局,这样可以将Y轴的标题设置平均高度,X轴的柱子也可以..._wpf左右柱状图

小波之小波变换_小波变换原理图-程序员宅基地

基本概念 小波变换(wavelet transform)是指用有限长或快速衰减的“母小波”(mother wavelet)的振荡波形来表示信号。该波形被缩放和平移以匹配输入的信号。小波变化的发展,承袭Gabor transform的局部化思想,并且克服了傅里叶和Gabor transform的部分缺陷,..._小波变换原理图

SendMessage跨线程和跨进程_::sendmessage 跨进程_编程经验随笔的博客-程序员宅基地

1.跨线程(同一个进程内)如果,窗口是由非主线程创建的,那么,那个线程将会跑一个自己的窗口消息队列。调用SendMessage会切换到该线程上去执行。主线程是个窗口线程,在另外一个工作线程中调用了窗口线程的SendMessage,那么执行的过程是:1)工作线程挂起2)切换到窗口线程,执行对应的消息处理3)切换回工作线程SendMessage : 如果指定窗口由调用线程创建,那么窗口过程会被当成一个子程序立即调用。如果指定窗口由另外一个线程创建,那么系统会切换到那个线程,并且调用合适的窗口过程。在线程_::sendmessage 跨进程

利用 Squash 对微服务中的 golang 程序进行远程调试_squash microservices debugger-程序员宅基地

1. 简介Squash是为微服务架构专门设计的调试工具,支持远程单步跟踪。微服务架构下,应用程序的调试是困难的,其状态跨越多个微服务传播,你很难得到应用程序的整体状态。Tracing可以协助开发人员了解事务的整体流程、Istio等服务网格可以监控网络,定位延迟为她。但是,直接在运行时干预应用程序执行的工具一直缺失。传统单体应用的调试器能够为开发人员提供巨大帮助,调试器包括的功能如断点、修改变..._squash microservices debugger

layui全部全选(非当前页全选)效果实现-程序员宅基地

html代码如下:展现效果:对应全部全选layui代码如下://全部全选 form.on('checkbox(checkall)', function (data) { var child = $(data.elem).parents('.layui-tab-item').find('input[type="checkbox"]');...

挂载ntfs 分区 报错_ntfs-3g-mount: mount failed: device or resource bu-程序员宅基地

挂载ntfs分区的移动硬盘报错:fs-3g-mount: mount failed: device or resource busy系统centos5安装软件:ntfs-3g fuse kernel-module-ntfs-2.6.18-92.el5-2.1.27-0.rr.10.11.i686.rpm(可以不装,) _ntfs-3g-mount: mount failed: device or resource busy