GubE 2019-12-17 23:51 采纳率: 91.7%
浏览 87
已采纳

关于io输入输出流,为什么输入到文件出错

class student
{

public:

string name;

int age;

public:

void grade() {

    int i = 0;

    string name;

    cout << "name:";

    cin >> name;

    cout << "age:";

    cin >> age;

    cout << "name:" << name << '/t' << "age:" << age << endl;

}

};

int main() {

student a[3];

int i = 0;

ofstream fout("e:\\text.txt");

for (i; i < 3; i++) {

    a[i].grade();

fout << "name:" << a[i].name << "age:" << a[i].age << endl;

};

fout.close();

}

图片说明

//为什么name没有被记录下来?

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-12-18 09:50
    关注

    因为你又定义了一个叫做name的局部变量,所以没有存入成员变量name里面。

    // Q1030229.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    
    #include <iostream>
    #include <fstream>
    #include <string>
    using namespace std;
    
    class student
    {
    public:
    string name;
    
    int age;
    public:
    void grade() {
    
        int i = 0;
    
        //string name; 这里不要
    
        cout << "name:";
    
        cin >> name;
    
        cout << "age:";
    
        cin >> age;
    
        cout << "name:" << name << '\t' << "age:" << age << endl;
    
    }
    
    };
    int main() {
    student a[3];
    
    int i = 0;
    
    ofstream fout("c:\\text.txt");
    
    for (i; i < 3; i++) {
    
        a[i].grade();
    
    fout << "name:" << a[i].name << "age:" << a[i].age << endl;
    
    };
    
    fout.close();
    }
    
    
    

    问题解决的话,请点下采纳,谢谢合作

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器