Vòng lặp do-while

Mình nghĩ làm vậy cũng được mà.
Thường thì khởi tạo biến boolean ban đầu sẽ là false;

bool ma_xac_minh = false;
if (id_ == id && password_ == password) {

		std::cout << "logged in successfully :D \n";
		ma_max_minh = true;
	}
while (ma_xac_minh == false);

Hoặc

if (id_ == id && password_ == password) {
		std::cout << "logged in successfully :D \n";
	}
while (id_ != id || password_ != password);
2 Likes

Theo mình nghĩ thì đây là bản hoàn chỉnh nhất đến bấy giờ. :slight_smile:

bài của mình. Bạn nào biết cách làm giới hạn số lần nhập ID và password không nhỉ :slight_smile:

#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
    const int ID = 123;
    const int password = 123456;
    int a;
    int b;
    do 
    {
        cout << " Selection your ID: ";
        cin >> a;
        cout << " Selection your password: ";
        cin >> b;
        if (a == ID && b == password)
        {
            cout << " your ID and password are correct !  Thank You" << endl;
        }
        else
        {
            cout << "Your ID and password are not correct! Please try agian! " << endl;
        }
    }

    while (a!=ID || b!= password);
    {
        //cout << " Your ID and password are  correct !" << endl;
    }

    system("pause");
    return 0;
}
#include <iostream>

const int ID = 123;
const int password = 123456;
int main()
{
	int a, b;
	do{
		std::cout << "ID : "; std::cin >> a;
		std::cout << "Password : "; std::cin >> b;
		if (ID != a || password != b) std::cout << "Password or ID incorrect, please try again !";
		else std::cout << "Login success, launch processing !" << std::endl;
	} while (ID != a || password != b);
	return 0;
}
#include <iostream>
using namespace std;
// Hằng **const** dùng để cố định giá trị cho biến, ở đây là ID và password.
const int ID = 123;
const int password = 123456;

int main()
{
	int ID;
	int password;
	do 
	{
		
		std::cout << " (!) Luu y: ID va Password thuoc Integer." << std::endl;
		std::cout << " Vui long nhap ID: ";
		std::cin >> ID;
		std::cout << std::endl;

		std::cout << " Vui long nhap Password: ";
	    std:cin >> password;
		std::cout << std::endl;
	
	} while (ID != 123 && password != 123456); 

	 /* 
	 Nếu mà bạn khai báo while (ID == 123 && password == 123456) thì sẽ tạo ra một vòng lặp vô tận vì ID và password thỏa mãn condtion của while (hiểu ở đây là true).
	 Còn nếu ID và password không thỏa mãn condition của while (hiểu ở đây là false) thì chương trình sẽ thoát ra khỏi vòng lặp.
	 */

	std::cout << "Chuc mung! Ban da nhap dung ID va Password!!!" << std::endl;

	system("pause");
	return 0;
}

Nếu bạn nào chưa hiểu thì nên đọc kĩ lại bài học.

Bài Tập 1:

// Sua_BT_1_25.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <string>

bool Set_text(bool variable)
{
	return variable;
}

bool Text(bool variable)
{
	Set_text(variable) ? std::cout << "Nhap Ten Dang Nhap: " : std::cout << "Nhap Mat Khau: ";
	return variable;
}

int main()
{
	std::string username{ "kvtuyen" };
	std::string pass_word{ "123456" };
	std::string Input_User{ "" };
	std::string Input_Pass{ "" };
	bool variable{ true };

	do
	{
		std::system("cls");
		Text(variable);
		std::cin >> Input_User;
		Text(!variable);
		std::cin >> Input_Pass;

		while (Input_User.length() > 20 || Input_Pass.length() > 20)
		{
			if (Input_User.length() > 20 || Input_Pass.length() > 20)
			{
				std::cout << "Co qua nhieu ki tu cho USERNAME hoac PASSWORD! xin moi nhap lai !" << std::endl;
				std::system("pause");
				std::system("cls");
				Text(variable);
				std::cin >> Input_User;
				Text(!variable);
				std::cin >> Input_Pass;
			}
		}

		if (Input_User != username || Input_Pass != pass_word)
		{
			std::cout << "Da nhap sai Ten hoac Mat Khau! xin moi nhap lai !" << std::endl;
			std::system("pause");
		}
		else
		{
			std::cout << "Dang Nhap thanh cong !" << std::endl;
		}
		
	} while (Input_User != username || Input_Pass != pass_word);

    return 0;
}

Mình dùng thêm một vòng While ở ngoài. Bạn tham khảo, hy vọng hữu ích :grin:

#include <iostream>
using namespace std;
int main(){
	const int ID =123;
	const int pw =123456789;
	int i, p;
	cout<<"Nhap vao ID va Pw: \n";
	cout<< "ID: "; cin>> i ; cout<< endl;
		cout<< "Pw: "; cin>> p; 
	while ( i!=ID || p!=pw )
	{
	

	do 
	{
		cout<< "Nhap sai, vui long nhap lai ID va pw: \n";
		cout<< "ID: "; cin>> i ; cout<< endl;
		cout<< "Pw: "; cin>> p; 
		
	} while ( i!=ID || p!=pw );
	}
	cout<<"Welcome to!";
	return 0;
}

duplicate post has been moved by noname00


Code đã post ở trên rồi thì không cần up lại hình chụp code nữa nha bạn.

1 Like
#include <iostream>
using namespace std;
int main()
{
    int ID,password;
    do{
        cout<<"nhap ID"<<"va"<<"pasword"<<endl;
    cin>>ID>>password;}
    while((ID!=123)&&(password!=12345));
    cout<<"Ban da nhap dung ID va pass";
    }
#include<iostream>
#include<cstdlib>
using namespace std;

const int ID = 123; 
const int password = 123456;
int main() {
	int ID, Password;
	do{
//		cout << "ID or Password is incorrect, please try again!" << endl;
		cout << "Input your ID: " << endl;
		cin >> ID;
		cout << "Input your Password: " << endl;
		cin >> Password;
		if (ID != 123) cout << "Your ID is incorrect, please try again." << endl;
		if (Password != 123456) cout << "Your Password is incorrect, please try again." << endl;
	} while (ID != 123 || Password != 123456);
	cout << "Correct. Keep going!" << endl;
	system("pause");
	return 0;
}
#include <iostream>
using namespace std;

const int ID = 123;
const int password = 123456;

int main()
{
	int maxacminh;
	cout<<"Vui long dang nhap de su dung C++";
int a,b;	
	do{
	cout<<"\n_________________________________";
	cout<<"\nID: "; cin>>a;
	cout<<"\nPASSWORD: ";cin>>b;
	
	 if ((a!=ID)||(b!=password)){
	 
	cout<<"Have some problem with your id or password, please try again";}
}
	while((a!=ID)||(b!=password));
	cout<<"Logged in successfully :D ";
	return 0;
}
1 Like
//Viết tiếp chương trình trên sử dụng vòng lặp do-while để kiểm tra userID và password được nhập từ bàn phím
//Chương trình chỉ thực hiện tiếp khi người dùng nhập đúng userID và password.
//Nếu nhập sai, chương trình sẽ yêu cầu người dùng nhập lại.

#include <iostream>
using namespace std;

const int ID = 123;
const int password = 123456;

int main()
{
	   int id_user, password_user;
       do
            {
            cout << "Nhap vao ID: " ;
            cin >> id_user; cout << endl;
            cout << "Nhap vao password: " ;
            cin >> password_user ; cout << endl;
            if ( id_user == ID && password_user == password)
                {
                    cout << "Chuc Mung Ban Da Dang Nhap Thanh Cong" << endl;

                }
             else
                {
                    cout << "Ban Da Nhap Sai ID hoac Mat Khau, Vui Long Nhap Lai: " << endl;
                }
            }

      while ((id_user != ID) || (password_user != password));

      system("pause");
      return 0;
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?