30/09/2018, 16:14

Tìm lỗi khi ghi dữ liệu lên tệp trong C++

   #include<iostream>
    #include<fstream>
    #include<iosfwd>
    #include<iomanip>
    using namespace std;
    
    class nguoi {
    public:
    	char hoten[100];
    	char diachi[100];
    	int sdt;
    	void nhap() {
    		cout << "moi ban nhap vao ten:"; cin.getline(hoten, 100);
    		cout << "moi ban nhap vo dia chi:"; cin.getline(diachi, 100);
    		cout << "nhap vao so dien thoai:"; cin >> sdt;
    	}
    	void xuat() {
    		cout << "ten:" << hoten << endl;
    		cout << "dia chi:" << diachi << endl;
    		cout << "so dien thoai:" << sdt << endl;
    	}
    };
    class bandoc :public nguoi{
    	int ma=0000;
    	char loaibandoc[100];
    	nguoi *ts;
    	int n;
    public:
    	void nhap() {
    
    		cout << "nhap vao so luong nguoi:"; cin >> n;
    		ts = new nguoi[n];
    		for (int i = 0; i < n; i++) {
    			cout << "loai ban doc:";cin.getline(loaibandoc, 100);
    			ma = ma + 1;
    		}
    	}
    	void xuat() {
    		ts->xuat();
    		cout << "loai ban doc:" << loaibandoc << endl;
    		cout << "ma:" << ma << endl;
    	}
    	void ghitep(char *tentep) {
    	ofstream f (tentep,ios::out);
    		if (!f) {
    			cout << "khong the mo tep." << endl;
    		}
    		else {
    			for (int i = 0; i < n;i++){
    				f << endl << setw(35) <<n<< ts(i).hoten <<setw(35)<< ts(i).diachi <<setw(35)<< ts(i).sdt<<setw(35)<<ts(i).ma<<setw(35)<<ts(i).loaibandoc;
    			}
    		}
    
    	}
    };
    
    main() {
    	bandoc bd;
    	bd.nhap();
    	bd.xuat();
    	bd.ghitep("test.dat");
    }
Khai Nguyen Dinh viết 18:26 ngày 30/09/2018

lỗi ở chỗ in vào tệp.nó không cho phép sử dụng các biến ở phần nguoi ghi vào tệp

Nguyễn Minh Dũng viết 18:17 ngày 30/09/2018

@Kh_i_Du ơi, đề bài là gì? Hướng giải quyết của Khải ra sao? Có code rồi nhưng mà thiếu 2 cái đấy Khải ơi.

Đặt câu hỏi khó lắm phải đâu chuyện đùa

Bài liên quan
0