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

Đề tài: Cho em hỏi về lệnh While và một số thứ

  1. #1
    Ngày gia nhập
    12 2007
    Bài viết
    8

    Red face Cho em hỏi về lệnh While và một số thứ

    Em muốn hỏi 1 số điều mong các anh và các bạn chỉ giáo :

    Em có biến name để dạng character tối đa 20 kí tự.

    em làm thế này
    Code:
    .......
    char name[20]
    
    cout <<" Họ và tên : ";
    cin.getline(name,20)
    đến đây rồi , bây giờ em muốn bắt buộc người dùng phải gõ biến name này vào đấy là chữ , nếu người ta gõ vào không phải là chữ thì nó sẽ hiện lên là :" xin bạn gõ lại"
    và đến khi nào gõ đúng chữ vào thì mới chạy các bước tiếp ! THì em phải làm ntn bây giờ ( em mới học C++ , mới biết các lệnh như IF , WHILE, DO WHILE và FOR thôi ) , mong các bác làm hoàn chỉnh cho em luôn vì em mới học , các bác gợi ý có khi em chả hiểu ^^

    tiện đây các bác có thế cho em xin 1 ít thông tin về lệnh WHILE ( có ví dụ nữa thì tốt quá ^^)

  2. #2
    Ngày gia nhập
    12 2007
    Bài viết
    2

    while ((name[20] < 'A') || (name[20] > 'z'))
    cout << " xin bạn gõ lại";

    mình cũng mới học, bạn thử xem. Có gì xin lượng thứ!
    Đã được chỉnh sửa lần cuối bởi puyoberry : 21-12-2007 lúc 11:48 PM.

  3. #3
    Ngày gia nhập
    12 2007
    Bài viết
    8

    Em làm thế này nhưng không được , nhập cái gì vào cũng bắt gõ lại T_T

    Code:
    #include <iostream>
    using namespace std;
    
    int main()
    {
    	char name[20];
    
    	cout <<"Name: ";
    	cin.getline(name,20);
    
    	while ((name[20] < 'A') || (name[20] > 'z'))
    	{
    
    cout << " xin ban go lai"<<endl;
    cout << "Name :";
    cin.getline(name,20);
    	}
    
    	
    	return 0;
    }
    Các bác chỉ em cách làm với !

  4. #4
    Ngày gia nhập
    12 2007
    Bài viết
    3

    Trích dẫn Nguyên bản được gửi bởi longbodie Xem bài viết
    Em làm thế này nhưng không được , nhập cái gì vào cũng bắt gõ lại T_T

    .................

    Các bác chỉ em cách làm với !
    Mình sửa lại một tý dựa trên code của bạn, mình cũng mới học, nếu sai xin bạn lượng thứ T__T
    Code:
    #include <iostream>
    using namespace std;
    int main()
    {
    	char name[20];
    	cout <<"Name: ";
    	cin.getline(name,20);
    	for(int i=0;i<strlen(name);i++)
    	{
    		if(((name[i]<'A')||(name[i]>'z')||(name[i]>'Z'&&name[i]<'a'))&&name[i]!=0x20)
    		{
    
    			cout << " xin ban go lai"<<endl;
    			cout << "Name :";
    			cin.getline(name,20);
    			i=-1;
    		}
    	}
    	return 0;
    }
    Đã được chỉnh sửa lần cuối bởi error : 22-12-2007 lúc 01:16 PM.

  5. #5
    Ngày gia nhập
    12 2007
    Bài viết
    8

    cám ơn bạn puyoberry và bạn error code của bạn error mình làm và thấy đúng rồi !
    cơ mà cái lệnh strlen(name) ý nghĩa là gì thế ^^ strlen có tác dụng gì vậy ?

  6. #6
    Ngày gia nhập
    12 2007
    Bài viết
    8

    Mặc định Cho em hỏi về lệnh While và một số thứ

    Bạn error ơi , code của bạn khi mình gõ tên có dấu "cách" là nó bắt nhập lại !
    mình muốn có cả dấu " cách" thì phải sửa ntn vậy ?

  7. #7
    Ngày gia nhập
    12 2007
    Bài viết
    3

    Mình mới edit lại code rồi đó, phần code thêm vào màu đỏ
    strlen hiểu đơn giản là hàm lấy độ dài của 1 chuỗi, còn bạn muốn chi tiết hơn thì tra MSDN thử xem

  8. #8
    Ngày gia nhập
    12 2007
    Bài viết
    8

    Thanks đại ca nhiều ! mình mới học mà mới biết có vài lệnh thôi
    Cho mình xin nick yahoo chat của bạn với dc không

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