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

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

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

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题