not260 2022-09-24 22:34 采纳率: 75%
浏览 97
已结题

改写以下程序,要求定义类student,封装三个数据成员和两个成员函数input和output,使程序得到相同的运行结果。

#include<iostream>
using namespace std;
struct student{    
char name[20];    
unsigned int id;    
double score;};
void input(student &stu){    
cout << "name ?";    
cin >> stu.name;    
cout << "id ?";    
cin >> stu.id;    
cout << "score ?";    
cin >> stu.score;}
void output(student &stu){    
cout << "name:" << stu.name << "\tid :" << stu.id << "\tscore : " << stu.score << endl;
}
int main(){    
student s = { "\0", 0, 0 };    
input(s);    
output(s);}
  • 写回答

2条回答 默认 最新

  • bostonAlen 2022-09-24 23:02
    关注
    
    #include<iostream>
    using namespace std;
    
    struct student {
    public:
        student(const char _name[20], unsigned int  _id,double _score)
        {
            for (size_t i=0; i<20;i++)
            {
                name[i] = _name[i];
            }
            id = _id;
            score = _score;
        }
        void input() {
            cout << "name ?";
            cin >> name;
            cout << "id ?";
            cin >> id;
            cout << "score ?";
            cin >> score;
        }
        void output() {
            cout << "name:" << name << "\tid :" << id << "\tscore : " << score << endl;
        }
    private:
        char name[20];
        unsigned int id;
        double score;
    };
    
    int main() {
        student s = { "\0", 0, 0 };
        s.input();
        s.output();
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月10日
  • 已采纳回答 10月2日
  • 创建了问题 9月24日

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集