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

Đề tài: hỏi về cách xử lý dòng nhập đệm trong bài quản lý sinh viên

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

    Mặc định hỏi về cách xử lý dòng nhập đệm trong bài quản lý sinh viên

    Mình có đoạn mã dùng để quản lý danh sách sv;
    Theo như đoạn mã của mình thì rất vất vả trong việc xử lý sạch dòng nhập, ko biết có hàm nào làm sạch nó ko;
    theo mình chắc phài còn cách nào khác nửa chứ vậy chắc chết xủi wa';

    Code:
    void nhapdssv(Lophoc &lh)
    {
    	cout<<"Nhap Khoa(viet tat):";	cin.getline(lh.khoa,10);
    	cout<<"Nhap Ten Lop:"; cin.getline(lh.tenlop,10);
    	
    	cout<<"Nhap Si So Lop Hoc:" ; cin>>lh.siso;
    
    	for(int j,i=0 ; i < lh.siso ;i++)
    	{	
    		cout<<"Nhap Ten Sv:"; cin.getline(lh.dssv[i].hoten ,40);
                    cin.ignore ();
    		cout<<"Nhap MSSV:"; cin.getline(lh.dssv[i].mssv,10);
                    cin.ignore ();
    		cout<<"Nhap Ngay Sinh:";cin>>lh.dssv[i].bd.ngay;
                    cin.ignore ();
    		cout<<"Nhap Thang Sinh:";cin>>lh.dssv[i].bd.thang;
                    cin.ignore ();
    		cout<<"Nhap Nam Sinh:"; cin>>lh.dssv[i].bd.nam;
                    cin.ignore ();
    		cout<<"Nhap So Mon:"; cin>>lh.dssv[i].sm;
    
    		cin.ignore ();
    		for ( j=0; j<lh.dssv[i].sm ; i++)
    		{
    			cout<<"Nhap Diem Mon Thu:"<<j+1<<" "; cin>>lh.dssv[i].diem[j];
    		}
    		
    	}
    }

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

    cin.ignore ();
    chỉ để sau cin>> nếu trong 1 hàm có tồn tại cả cin>> và cin.getline nha,cậu để lộn xộn thế thì sẽ bị rối khi nhập ( liên tục phải nhấn Enter nó mới chạy )

  3. #3
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Theo như đoạn mã của mình thì rất vất vả trong việc xử lý sạch dòng nhập, ko biết có hàm nào làm sạch nó ko;
    theo mình chắc phài còn cách nào khác nửa chứ vậy chắc chết xủi wa';
    Nếu dùng C++ hãy dùng thư viện string.h có hàm getline khỏi xóa bộ nhớ đệm
    C++ Code:
    1. #include <iostream>
    2. #include <string.h>
    3. using namespace std;
    4.  
    5. int main()
    6. {
    7.     string str1,str2,str3,str4;
    8.     cout << " - Enter: "; getline(cin,str1);
    9.     cout << " - Enter: "; getline(cin,str2);
    10.     cout << " - Enter: "; getline(cin,str3);
    11.     cout << " - Enter: "; getline(cin,str4);
    12.  
    13.     cout << str1 << endl;
    14.     cout << str2 << endl;
    15.     cout << str3 << endl;
    16.     cout << str4 << endl;
    17. }

  4. #4
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Nếu dùng C++ hãy dùng thư viện string.h có hàm getline khỏi xóa bộ nhớ đệm
    trôi bộ đệm là do cin>> chứ không phải là do cin.getline() của string.h hay getline() của string STL vì vậy nếu thiếu cin.ignore (); ở sau cin>> thì kiểu gì cũng trôi bộ đệm
    note: getline là phương thức của lớp string của thư viện string

  5. #5
    Ngày gia nhập
    10 2008
    Bài viết
    99

    PHP Code:
    cout<<"Nhap Ten Sv:"
    cin.getline(lh.dssv[i].hoten ,40);cin.ignore (); 
    sưa thành
    PHP Code:
    cout<<"Nhap Ten Sv:"
    cin.ignore (1);cin.get(lh.dssv[i].hoten,40); 

  6. #6
    Ngày gia nhập
    02 2008
    Bài viết
    4

    Mặc định hỏi về cách xử lý dòng nhập đệm trong bài quản lý sinh viên

    nhờ mấy bạn mình xử lý được chuyện này rồi. cám ơn nhé !!!

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

  1. Quản lí sinh viên bằng stack dùng danh sách liên kết. Làm sao để nhập nhiều sinh viên?
    Gửi bởi hoainamken 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: 24-08-2011, 10:34 AM
  2. Mã nguồn C Lỗi Không thể nhập A+ hay B+ trong quản lý sinh viên.
    Gửi bởi daish trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 12-06-2011, 10:30 AM
  3. Chương trình quản lí sinh viên viết trong visual c++ 2010. Lỗi không chạy khi in danh sách sinh viên theo năm
    Gửi bởi hikaru1015 trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 9
    Bài viết cuối: 03-06-2011, 09:31 AM
  4. Không nhập được họ tên trong bài quản lý sinh viên
    Gửi bởi khucyeuthuong trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 21-09-2010, 11:37 AM
  5. Lập trình C++ Bài toán quản lý Sinh viên khi làm viêc với file. Làm cách nào để tách mỗi dòng ra để lấy tên và điểm?
    Gửi bởi hvt trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 11-04-2010, 11:50 PM

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