freemandj
freemandj
2020-03-20 13:46
采纳率: 63.2%
浏览 269

求助大神,一道题,做的不对,希望帮忙改改代码

7-5 类的定义与对象使用 (15分)
请定义一个学生类(Student),包含学号、姓名、年龄(7-60岁)三个私有成员。从键盘输入学生的成员值后生成对象,并按要求输出相应的结果。

输入格式:
第一行一个整数k,代表后面要生成的学生人数。 从第二行开始的连续k行,每行3个数据,分别表示一个学生的学号、姓名和年龄。

输出格式:
输出每个学生的基本情况。如果数据不符合要求则输出"bad"

输入样例:
3
20174042001 zhangsan 20
20174042030 lisi 2
20174042050 wangwu 17

输出样例:
zhangsan 20174042001 20
bad
wangwu 20174042050 17
#include
using namespace std;
class Student{
private:
long int number;
char name[10];
int age;
public:
void Init(int k);
void print(int k);

};
Student stu[100];
void Student::Init(int k)
{
for(int i=0;i {
cin>>stu[i].number>>stu[i].name>>stu[i].age;
}
}
void Student::print(int k)
{
for(int i=0;i {
if(stu[i].age60){
cout<<"bcd"< continue;
}
cout }
}
int main()
{
int k;
cin>>k;
stu[100].Init(k);
stu[100].print(k);
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • caozhy
    已采纳
    #include <iostream>
    #include <string>
    using namespace std;
    class Student{
    private:
        string number;
        string name;
        int age;
    public:
        void Init(int k);
        void print(int k);
    
    };
    Student stu[101];
    void Student::Init(int k)
    {
        for(int i=0;i<k; i++) {
            cin>>stu[i].number;
            cin>>stu[i].name;
            cin>>stu[i].age;
        }
    }
    void Student::print(int k)
    {
        for(int i=0;i<k;i++) {
            if(stu[i].age>60||stu[i].age<7){
                cout<<"bad"<< endl; continue;
            }
            cout << stu[i].number << " " << stu[i].name << " " << stu[i].age << endl; 
        }
    }
    int main()
    {
        int k;
        cin>>k;
        stu[100].Init(k);
        stu[100].print(k);
    }
    
    
    
    点赞 评论

相关推荐