Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
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á ^^)
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

  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
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

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