30/09/2018, 18:11

bác nào có thể giúp e giải thích lý do tại sao nó ko hiện tên đc ko ạ

E chỉ mới học thôi ngồi mãi mà vẫn chả hiểu tại sao các bác ạ

#include <iostream>
#include <string>

using namespace std;
class tong{
private:
	int x,y,z,s;
	string name;
public:// ham con
	void nhap(int dt, int dl, int dh,string ten);
	int cong();
	void hienthi();

};

int dt,dl,dh;

void main(){/// HAM CHINH <--------------------------------
	string ten;
	tong p;
	p.nhap(dt,dl,dh,ten);
	p.cong();
	p.hienthi();
	system("pause");
}
void tong::nhap (int dt,int dl,int dh,string ten)
{	cout <<"nhap ten sinh vien 
" ;
	fflush(stdin);
	getline(cin,name);
	name = ten;
	cout <<"nhap diem toan 
" ;
	cin >> dt;
	cout <<"nhap diem ly 
";
	cin >> dl;
	cout <<"nhap diem hoa 
";
	cin >> dh;
	x = dt;
	y = dl;
	z = dh;
	

}
int tong::cong()
{
	s = x + y + z;
	return s;
}
void tong::hienthi()
{
	cout <<"sinh vien : "<< name <<" co tong diem 3 mon la "<< s << endl;

}

Format giúp bạn:

#include using namespace std;
class tong {
    private:
        int x,y,z,s;
        string name;

    public:// ham con
        void nhap(int dt, int dl, int dh,string ten);
        int cong();
        void hienthi();
};

int dt,dl,dh;

void main(){/// HAM CHINH <--------------------------------
    string ten;
    tong p;
    p.nhap(dt,dl,dh,ten);
    p.cong();
    p.hienthi();
    system("pause");
}

void tong::nhap (int dt,int dl,int dh,string ten) {
    cout <<"nhap ten sinh vien \n" ;
    fflush(stdin);
    getline(cin,name);
    name = ten;
    cout <<"nhap diem toan \n" ;
    cin >> dt;
    cout <<"nhap diem ly \n";
    cin >> dl;
    cout <<"nhap diem hoa \n";
    cin >> dh;
    x = dt;
    y = dl;
    z = dh;
}

int tong::cong() {
    s = x + y + z;
    return s;
}

void tong::hienthi() {
    cout <<"sinh vien : "<< name <<" co tong diem 3 mon la "<< s << endl;
}
vũ xuân quân viết 20:16 ngày 30/09/2018

code bị sai
trong hàm main khai báo biến ten

string ten;
p.nhap(dt,dl,dh,ten);

trong hàm nhập

cout <<“nhap ten sinh vien \n” ;
fflush(stdin);
getline(cin,name);
name = ten;

ở trên thì nhập vào biến name, xuống dưới gán

getline(cin,name);
name = ten

thì cái name nó bằng null thì làm sao hiển thị name ra được

tuan viết 20:21 ngày 30/09/2018

vâng em cám ơn, e đã tìm ra cách rồi ạ

Bài liên quan
0