30/09/2018, 22:56
Nhờ mọi người xem giúp lỗi sai bài CTDL
Em đang học về kiểu dữ liệu cấu trúc, code này dùng để cài đặt và hiển thị nội dung con trỏ, anh chị giúp em xem sai ở đâu với ạ!
# include <iostream>
# include <cstring>
using namespace std;
typedef struct{
int day;
int month;
int year;
} Date;
typedef struct {
char name [20]; // ten nhan vien
Date birthDay; // ngay sinh nhan vien
char role [20]; // chuc vu nhan vien
float salary; // luong nhan vien
} Employee;
void Initstruct (Employee *myEmployee);
void Display (Employee *myEmployee);
void Initstruct (Employee *myEmployee)
{
myEmployee = new Employee;
cout << "name :";
cin.getline (myEmployee -> name, 20);
cout << " day of birthday :";
cin >> myEmployee -> birthDay.day;
cout << "month of birth: ";
cin >> myEmployee -> birthDay.month;
cout << "year of birth: ";
cin >> myEmployee -> birthDay.year;
cout << "role: ";
cin.getline (myEmployee -> role, 20);
cout << "Salary : ";
cin >> myEmployee -> salary;
}
void Display(Employee *myEmployee)
{
cout << "name: " << myEmployee -> name << endl;
cout << "birthday: " << myEmployee -> birthDay.day << "/"
<< myEmployee -> birthDay. month << "/"
<< myEmployee -> birthDay. year << endl;
cout << "role: " << myEmployee -> role << endl;
cout << "salary: " << myEmployee -> salary << endl;
}
int main()
{
Employee *myEmployee;
Initstruct(myEmployee);
Display(myEmployee);
system("pause");
return 0;
}
Bài liên quan
Không biết cái chỗ dùng new cho khởi tạo có đúng không nhỉ?
đấy là khởi tao bộ nhớ động cho con trỏ mà. k hiểu tại sao code của em chạy đến chỗ nhập role lại không chạy được nữa @@
bạn thử xóa bộ nhớ đệm fflush(stdin) chưa?
void Initstruct (Employee *&myEmployee)
cảm ơn anh. nhập được hết rồi nhưng không hiển thị được.
thêm & vào vẫn sai anh ạ
Sửa lại cái khai báo
Initstruct
nữasửa như thế nào anh ??
Sửa v thôi là chạy được r. Đã test.
được rồi ạ. cảm ơn anh