Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Bị mất kí tự đầu khi nhập chuỗi!

  1. #1
    Ngày gia nhập
    02 2009
    Bài viết
    2

    Question Không hiện kí tự đầu của chuỗi!

    Chào các bạn!
    Mình gặp phải 1 vấn đề khi code bài tập dùng cấu trúc trong C++ "Nhập xuất mảng Nhân Viên" mà mày mò hoài không được!
    Khi mình nhập Mã Nhân Viên (MaNV) ,tên Nhân Viên (HoTen) và cả email (mail) thì kết quả xuất ra màn hình luôn bị thiếu kí tự đầu!

    Mình đã tham khảo trên nhiều nguồn , sửa lại cin.getline() rồi thêm cin.ignore() cũng sai, rồi cin.get() rồi thêm vào cin.sysn() nhưng mà mọi cách đều không được!

    Mong các bạn sửa giúp mình code với,chân thành cảm ơn
    Sau đây là code của mình:

    Code:
    #include <iostream>
    #include <string>
    #include <vector>
    #include <conio.h>
    using namespace std;
    typedef struct
    {
    	char MaNV[128];
    	char HoTen[128];
    	char Email[520];
    } NHANVIEN;
    void Xuat(NHANVIEN nv);
    void Nhap(NHANVIEN &nv);
    void NhapMang(vector<NHANVIEN> &a, int n);
    void XuatMang(vector<NHANVIEN> a);
    void main()
    {
    	int k;
    	vector<NHANVIEN> a;
    	cout<<"Nhap so NV: ";
    	cin>>k;
    	NhapMang(a,k);
    	XuatMang(a);
    	getch();
    }
    void Nhap(NHANVIEN &nv)
    {
    	cout<<"Nhap Ma nhan vien :"<<endl;
    	cin.gets(nv.MaNV,128);
    	cin.sync();
    	cout<<"Nhap Ho Ten nhan vien :"<<endl;
    	cin.getline(nv.HoTen,128);
    	cin.ignore(1);
    	cout<<"Nhap Email nhan vien :"<<endl;
    	gets(nv.Email);	
    	cin.ignore(1);
    }
    void Xuat(NHANVIEN nv)
    {
    	cout<<"Nhanvien:"<<"\n"<<nv.MaNV<<"\n"<<nv.HoTen<<"\n"<<nv.Email<<"\n";
    
    }
    
    void NhapMang(vector<NHANVIEN> &a, int n)
    {
    	a.resize(n);
    	for(int i=0;i<(a.size());i++)
    	{
    		cout<<"Nhap thong tin nhan vien thu "<<i+1<<endl;
    		Nhap(a[i]);
    	};
    }
    void XuatMang(vector<NHANVIEN> a)
    {
    	for(int i=0;i<(a.size());i++)
    	{
    		cout<<"Thong tin nhan vien thu "<<i+1<<endl;
    		Xuat(a[i]);
    	};
    
    }
    Đã được chỉnh sửa lần cuối bởi modernlight : 25-09-2011 lúc 10:59 AM. Lý do: màu

  2. #2
    Ngày gia nhập
    02 2009
    Bài viết
    2

    Các bạn các anh giúp em với!
    Thật sự là em nghĩ không ra sửa như thế nào?!!
    Xin cám ơn trước!

  3. #3
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    cái nì là pài deadline tối nay mừ kaka

  4. #4
    Ngày gia nhập
    07 2011
    Bài viết
    59

    code sữa lại tạm thời thế này đây, bạn coi được chưa.

    C++ Code:
    1. #include <iostream>
    2. #include <string>
    3. #include <vector>
    4. #include <conio.h>
    5. using namespace std;
    6. typedef struct
    7. {
    8.     char MaNV[50];
    9.     char HoTen[50];
    10.     char Email[50];
    11. } NHANVIEN;
    12. void Xuat(NHANVIEN nv);
    13. void Nhap(NHANVIEN &nv);
    14. void NhapMang(vector<NHANVIEN> &a, int n);
    15. void XuatMang(vector<NHANVIEN> a);
    16. void main()
    17. {
    18.     int k;
    19.     vector<NHANVIEN> a;
    20.     cout<<"Nhap so NV: ";
    21.     cin>>k;
    22.     cin.ignore(200,'\n');
    23.     NhapMang(a,k);
    24.     XuatMang(a);
    25. }
    26. void Nhap(NHANVIEN &nv)
    27. {
    28.     cout<<"Nhap Ma nhan vien : ";
    29.     cin.getline(nv.MaNV,120);
    30.     cout<<"Nhap Ho Ten nhan vien : ";
    31.     cin.getline(nv.HoTen,120);
    32.     cout<<"Nhap Email nhan vien : ";
    33.     cin.getline(nv.Email,120); 
    34. }
    35. void Xuat(NHANVIEN nv)
    36. {
    37.     cout<<"Nhanvien:"<<"\n"<<nv.MaNV<<"\n"<<nv.HoTen<<"\n"<<nv.Email<<"\n";
    38.  
    39. }
    40.  
    41. void NhapMang(vector<NHANVIEN> &a, int n)
    42. {
    43.     a.resize(n);
    44.     for(int i=0;i<(a.size());i++)
    45.     {
    46.         cout<<"Nhap thong tin nhan vien thu "<<i+1<<endl;
    47.         Nhap(a[i]);
    48.     };
    49. }
    50. void XuatMang(vector<NHANVIEN> a)
    51. {
    52.     for(int i=0;i<(a.size());i++)
    53.     {
    54.         cout<<"Thong tin nhan vien thu "<<i+1<<endl;
    55.         Xuat(a[i]);
    56.     };
    57.  
    58. }

  5. #5
    Ngày gia nhập
    09 2011
    Nơi ở
    Khi ta ở chỉ là nơi đất ở, khi ta đi đất bỗng hóa tâm hồn
    Bài viết
    55

    Bạn có thể giải thích cho mình câu lệnh này được không?
    C++ Code:
    1.  cin.ignore(200,'\n');
    Cái thuở còn đánh con bé hàng xóm chỉ vì nó không xách cặp hộ đi học. Cái thuở thèm làm người lớn, để bố mẹ khỏi đánh đòn đau mỗi khi mắc lỗi, để được “con nít” gọi mình là người lớn. Cái thuở con nít. Cái thuở ấy xa thật xa. Cô bé hàng xóm đi lấy chồng. Tôi không còn con nít. Và đôi lúc cái thằng người lớn như đã ước mơ một thời, giờ…Vâng…Rất lạ..Có khi nó muốn làm con nít!

Các đề tài tương tự

  1. Bài tập C++ Cách để so sánh 2 chuỗi kí tự giữa chuỗi nhập từ phím và chuỗi từ file xem có giống nhau không?
    Gửi bởi davilson18 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 09-06-2012, 09:47 AM
  2. Lập trình C Thay thế chuỗi s1 trong chuỗi s bằng chuỗi s
    Gửi bởi duytue trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 23-09-2011, 04:16 PM
  3. thay thế chuỗi con thứ i trong chuỗi mẹ bằng 1 chuỗi khác
    Gửi bởi nhat1811 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 06-08-2011, 08:25 AM
  4. Trả lời: 1
    Bài viết cuối: 29-06-2011, 12:02 AM
  5. xem một từ trong chuỗi là một chuỗi con, sắp xếp các chuỗi con theo thứ tự tăng dần
    Gửi bởi qpkdct1101 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 20-01-2011, 08:22 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn