Có lẽ là bạn sai từ chỗ dẫn lớp: void CSinhVien::nhap() chứ không phải do cout đâu? Xem lại đi nha.
các bạn giúp mình với. hàm cout<<"nhap ten";của mình hình như bị trôi rồi.không hiểu tại sao
code của mình nè
Code:// SX_kieudulieu_SV.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "iostream.h" #include "string.h" class CSinhVien { private: char hoten[30]; int maso; public: void nhap(); void xuat(); }; void main() { CSinhVien SV[100]; int i,n; cout<<"nhap so luong sinh vien can nhap:"; cin>>n; fflush(stdin); for(i=0; i<n; i++) SV[i].nhap(); for(i=0; i<n; i++) SV[i].xuat(); } void CSinhVien::nhap() { cout<<"nhap ten:"; cin.getline(hoten,30); cout<<"\n nhap ma so:"; cin>>maso; } void CSinhVien::xuat() { cout<<"\nten:"<<hoten; cout<<"\n ma so:"<<maso; }
Có lẽ là bạn sai từ chỗ dẫn lớp: void CSinhVien::nhap() chứ không phải do cout đâu? Xem lại đi nha.
Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó.Email: kevin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
Phone: 0972 89 7667
Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp hoặc bị sự thiếu kỷ luật làm tiêu tan sự nghiệp.
ở đây không cần phải dùng hàm cin.getline()
Chỉ cần:Là được rồi, chương trình sẽ bình thường thôi.Code:cin>>hoten;
Sao lại là char hoten[30]; nhỉ :-/
Trieuanhl không dùng con trỏ mà cấp phát cố định luôn.
char hoten[30];
-> họ tên là mảng 30
->không hay.
Bạn thân mến!Theo mình thì chỉ cần bạn thêm hàm cin.ignore(); sau hàm cin>>n;Nguyên bản được gửi bởi trieuanhl
là sẽ được thôi!
Bởi vì nếu bạn dùng lệnh
cin>>n;
sau đó bạn sẽ ấn Enter đúng không nào??Và như vậy thì kí tự "\n"(kí tự xuống dòng) vẫn còn trên dòng nhập như vậy sẽ dẫn đến trôi dòng!Thử xem nhé!Good luck!
Đã được chỉnh sửa lần cuối bởi meoconlongvang : 27-02-2009 lúc 11:49 PM.