C/C++教程

【C++对象和类题目】学生类(静态成员)

本文主要是介绍【C++对象和类题目】学生类(静态成员),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

来源:http://acm.ujn.edu.cn

Description

编写student类,类成员包括学号,姓名,年龄。

(1)编写构造函数,能够接受键盘输入的学生姓名和年龄,完成对象的初始化。学生学号自动生成,第一个student对象学号为1,第二个为2,以此类推。

(2)编写display函数,输出学生信息,包括学号,姓名,年龄,中间用空格隔开

(3)在主函数中计算学生的平均年龄,并输出,结果保留2位小数。

主函数如下:

int main()
{
    student s[5];
    float avg = 0.0;
    for(int i=0;i<5;i++)
    {
        s[i].display();
    }
    (自行补充计算平均年龄的代码。。。)
    return 0;
}

Input

5个学生的信息,姓名,年龄

Output

5个学生的信息和年龄的平均值,每一个学生信息占一行,平均年龄占一行。

Sample Input

Mary 19

Alex 21

Mike 20

Lucy 18

Jim 20

Sample Output

1 Mary 19

2 Alex 21

3 Mike 20

4 Lucy 18

5 Jim 20

19.60

题解

 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 class student
 5 {
 6     public:
 7         student(string n="a",int a=0);//构造函数声明
 8         void display();//输出学生信息
 9         void write_student(string n,int a);//用于写入学生姓名和年龄
10         void write_num(int i);//用于自动生成学号
11         int read_age();//用于读取学生年龄
12     protected:
13         int number;//学号      
14         int age;//年龄
15         string name;//姓名
16         
17 };
18 int main()
19 {
20     student s[5];
21     string str; 
22     int ageval;
23     float avg = 0.0 , sum = 0.0;
24     for(int i=0;i<5;i++)//从键盘读入学生的姓名和年龄
25     {
26         cin>>str>>ageval;
27         s[i].write_student(str,ageval);
28     }
29     for(int i=0;i<5;i++)   s[i].write_num(i);//生成学号
30     for(int i=0;i<5;i++)   s[i].display();//输出学生信息
31     for(int i=0;i<5;i++)   sum+=s[i].read_age(); //读取年龄,计算学生年龄总和
32     avg = sum/5 ;
33     printf("%.2f",avg);
34     return 0;
35 } 
36 student::student(string n,int a)//构造函数
37 {
38     name=a;
39     age=a;
40 }
41 void student::write_student(string n,int a)//设值函数,设学生姓名年龄
42 {
43     name = n ;
44     age = a ;
45 }
46 int student::read_age()//读值函数,读学生年龄
47 {
48     return age;
49 }
50 void student::write_num(int i)//设值函数,设置自动生成学号
51 {
52     number=i+1;
53 }
54 void student::display() //输出学生信息
55 {
56     cout<<number<<" "<<name<<" "<<age<<endl; 
57 }

总结

1.注意使用读值函数和设值函数,

设值函数,用于实现从键盘读入数据,

读值函数,用于在主函数中使用对象的成员数据。

2.类的构造函数,在声明时一定一定要初始化,否则定义会出问题。

这篇关于【C++对象和类题目】学生类(静态成员)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!