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();

    评论

报告相同问题?

悬赏问题

  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符