CC噢耶 2019-03-23 15:55 采纳率: 0%
浏览 1043

C++ 用函数输入值,怎么把值输出来

C++ 结构体变量s1 用函数获取成员的信息,怎样把获取的信息输出来??现在的代码 s1中的成员信息显示出来都是第二次输入的!!两次输出是一样的

#include<iostream>
#include<string>

using namespace std;
struct student
{
    string N_name;
    string N_sex;
    int N_age;

    void Set_name()
    {


        cout << "请输入学生姓名:" << endl;
        cin >> N_name;



    }
    void Set_sex()
    {


        cout << "请输入学生性别:" << endl;
        cin >>N_sex;



    }
    void Set_age()
    {


        cout << "请输入学生年龄:" << endl;
        cin >>N_age;




    }
    void Show_message()
    {
        cout << "姓名:" << N_name << " 性别:" << N_sex << " 年龄:" << N_age << endl;
    }
};

typedef student CLASS;
int main()
{
    CLASS s1;
    CLASS *s2;//结构体指针 赋初值  要有空间 
    CLASS &s3 = s1;


    s2 = new CLASS[2];

    for (int j = 0; j < 2; j++)
    {
        s1.Set_name();//对成员变量赋初值 不用小括号 成员函数才用 
        s1.Set_sex();
        s1.Set_age();
    }
    cout << "一班人数为2人" << endl;
    for (int j= 0; j < 2; j++)
    {
        s1.Show_message();
    }

    for (int i = 0; i < 2; i++)
    {
        s2[i].Set_sex();
        s2[i].Set_name();
        s2[i].Set_age();

    }
    cout << "二班人数为2人" << endl;

    for (int i = 0; i < 2; i++)
    {
        s2[i].Show_message();
    }

    system("pause");
    return 0;
}

图片说明

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-03-23 16:03
    关注

    string Set_name()
    {
    cout << "请输入学生姓名:" << endl;
    cin >> N_name;
    return N_name;;
    }
    这样就可以传出来了
    s2[i].N_Name = s2[i].Set_Name();

    评论

报告相同问题?

悬赏问题

  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
  • ¥30 数字电源对DSP芯片的具体要求
  • ¥20 antv g6 折线边如何变为钝角
  • ¥30 如何在Matlab或Python中 设置饼图的高度
  • ¥15 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析
  • ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao
  • ¥20 Vite 打包的 Vue3 组件库,图标无法显示
  • ¥15 php 同步电商平台多个店铺增量订单和订单状态
  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别