Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Minh không hiểu sai ở đâu ????

    Code mình đây :
    Mã:
    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    #include<windows.h>
    #include<conio.h>
    
    using namespace std;
    
    class NhanVien{
    	private :
    		char *ten;
    		int tuoi;
    		float luong;
    	public :
    		NhanVien(char *ten = ""  , int tuoi = 18 , float luong = 1000){
    			this -> ten = new char[60];
    			strcpy(this->ten,ten);
    			this->tuoi = tuoi;
    			this->luong = luong;
    		}
    		~NhanVien(){
    			delete[] ten;
    			tuoi = luong = 0;
    		}
    		char* getten(){
    			return ten;
    		}
    		int gettuoi(){
    			return tuoi;
    		}
    		float getluong(){
    			return luong;
    		}
    		void setten(const char *name){
    			strcpy(ten,name);
    		}
    		void settuoi(int age){
    			tuoi = age;
    		}
    		void setluong(float luong){
    			this->luong = luong;
    		}
    		void show(){
    			cout << "Ten : " << ten << endl;
    			cout << "Tuoi : " << tuoi << endl;
    			cout << "Luong : " << luong ;
    		}
    };
    
    int main(){
    	cout << "Ban co may nhan vien : "; 
    	int snv;
    	cin >> snv;
    	NhanVien *mangnv = new NhanVien[snv];
    	for(int i=0 ; i<snv ;i++ ){
    		char *ten = new char[60];
    		int tuoi;
    		float luong;
    		
    		cout << "Nhap thong tin nhan vien " << i << " : " << endl;
    		cout << "Nhap ten : ";
    		fflush(stdin);
    		cin.getline(ten,60);
    		mangnv[i].setten(ten);
    		cout << "Nhap tuoi : ";
    		cin >> tuoi;
    		mangnv[i].settuoi(tuoi);
    		cout << "Nhap luong : ";
    		cin >> luong;
    		mangnv[i].setluong(luong);
    		delete[] ten;
    	}
    	//getch();
    	system("cls");
    	int min;
    	for(int i=0 ;i<snv ;i++){
    		min = mangnv[0].gettuoi();
    		if(min < mangnv[i].gettuoi()) min = i;
    	}
    	cout << "Nhan vien gia nhat la: " << endl;
    	mangnv[min].show();
    	getch();
    	system("cls");
    	cout << "Nhap ten muon tim: ";
    	char *ften = new char[60];
    	fflush(stdin);
    	cin.getline(ften,60);
    	cout << "Thong tin nhan vien can tim: ";
    	for(int i=0 ;i<snv ;i++){
    		if(strcmp(mangnv[i].getten(),ften) == 0) mangnv[i].show();
    	}
    	return 0;
    }
    Mình không hiểu sai ở chỗ nào nhưng khi debug thì đến hàm show() trong nó đến lệnh cout << ten thì run-time .[IMG]images/smilies/21.gif[/IMG][IMG]images/smilies/21.gif[/IMG][IMG]images/smilies/21.gif[/IMG]


  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    ^ Bạn đang sử dụng constructor không tham số!

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •