Nhờ xem giúp C++ chương trình mô phỏng máy ATM

Em là newbie mới học lập trình, trước giờ chỉ biết vài ba chữ Pascal học năm 11.
Vừa thi đại học xong chuẩn bị đi học đại học, trong lúc chờ đi học em có tự học C++ ở nhà.
Hiện em đang học khóa C++ free trên cpp.daynhauhoc.com
Em có dùng các lệnh if else, switch case, while và một số thứ đơn giản như Sleep, system(“cls”) để viết chương trình mô phỏng máy ATM (chưa đc hoàn thiện), ban đầu chỉ là chương trình kiểm tra ID, mật khẩu nhưng e nảy sinh thêm ý tưởng dùng switch case để thêm tùy chọn giống như máy ATM :smile:
Chương trình này chả có gì rắc rối nhưng dài vì cái switch case em lặp lại 2 lần, các anh em xem code của em, em thấy nó còn dài dòng quá, chắc chắn là chương trình cũng chưa hoàn chỉnh vì em nghĩ trình C++ 1 tháng thì … :smile:

#include <iostream>
#include <string>
#include <windows.h> //de su dung ham Sleep()

using namespace std;

int main()
{
	string ten = "tien";
	string mat_khau = "123456";
	string TEN, MAT_KHAU;
	int so_lan_nhap_sai = 0;
	int tuy_chon;
	int so_du = 200000;
	int tien_rut;
	string mat_khau_moi, mat_khau_moi1;
	string tai_khoan_can_chuyen;

	cout << "\t\t\tDANG NHAP TAI KHOAN CUA BAN\n";
	cout << "\nTen nguoi dung: "; cin >> TEN;
	cout << "Mat khau: "; cin >> MAT_KHAU;

	if (TEN == ten && MAT_KHAU == mat_khau)
	{
		system("cls");
		cout << "\t\t\tDANG NHAP TAI KHOAN CUA BAN\n\n";
		cout << "Dang kiem tra thong tin...\n";
		Sleep(1000);
		cout << "\nDANG NHAP THANH CONG!\a\a\n\n";
		Sleep(2000);
		system("cls");
		cout << "\t\t\tMOI BAN CHON YEU CAU CAN THUC HIEN\n\n";
		cout << "1: TRA CUU SO DU TAI KHOAN\n";
		cout << "2: RUT TIEN\n";
		cout << "3: DOI MAT KHAU\n";
		cout << "4: CHUYEN TIEN\n\n";
		cin >> tuy_chon;
		switch (tuy_chon)
		{
		case 1:
			Sleep(1000);
			system("cls");
			cout << "\t\t\t\tTRA CUU SO DU\n";
			cout << "\nSo du tai khoan hien tai la: " << so_du << " VND\n\n";
			break;
		case 2:
			Sleep(1000);
			system("cls");
			cout << "\t\t\t\tRUT TIEN\n\n";
			cout << "Nhap so tien ban muon rut: ";
			cin >> tien_rut;
			if (tien_rut <= so_du)
			{
				Sleep(1000);
				cout << "\nBAN DA RUT TIEN THANH CONG, SO DU CON LAI LA: " << so_du - tien_rut << " VND\n\n";
				Sleep(1000);
			}
			while (tien_rut > so_du)
			{
				cout << "\nSo tien rut phai nho hon hoac bang so du con lai!\n";
				cin >> tien_rut;
				if (tien_rut <= so_du)
				{
					Sleep(1000);
					cout << "\nBAN DA RUT TIEN THANH CONG, SO DU CON LAI LA: " << so_du - tien_rut << " VND\n\n";
					Sleep(1000);
				}
			}
			break;
		case 3:
			Sleep(1000);
			system("cls");
			cout << "\t\t\t\tDOI MAT KHAU\n\n";
			cout << "Moi ban nhap mat khau moi: ";
			cin >> mat_khau_moi;
			cout << "Moi ban nhap lai mat khau moi lan nua: ";
			cin >> mat_khau_moi1;
			Sleep(1000);
			if (mat_khau_moi == mat_khau_moi1)
			{
				mat_khau = mat_khau_moi;
				cout << "\nDang kiem tra thong tin...\n";
				Sleep(1000);
				cout << "\nDOI MAT KHAU THANH CONG!\n\n";
				Sleep(1000);
				system("cls");
				cout << "\t\t\tDANG NHAP\n\n";
				cout << "Ten nguoi dung: "; cin >> TEN;
				cout << "Mat khau: "; cin >> MAT_KHAU;
				if (TEN == ten && MAT_KHAU == mat_khau)
				{
					system("cls");
					cout << "\t\t\t\tDANG NHAP\n\n";
					cout << "Dang kiem tra thong tin...\n";
					Sleep(1000);
					cout << "\nDANG NHAP THANH CONG!\a\a\n\n";
				} else 
				{
					system("cls");
					cout << "\t\t\t\tDANG NHAP\n\n";
					cout << "Dang kiem tra thong tin...\n";
					Sleep(1000);
					cout << "\nDANG NHAP THAT BAI!\a\a\n\n";
				}
			}
			break;
		case 4:
			Sleep(1000);
			system("cls");
			cout << "\t\t\t\tCHUYEN TIEN\n\n";
			cout << "Moi ban nhap ten nguoi dung can chuyen tien: ";
			cin >> tai_khoan_can_chuyen;
			cout << "Moi ban nhap so tien can chuyen: ";
			cin >> tien_rut;
			if (tien_rut <= so_du)
			{
				Sleep(1000);
				cout << "\nBAN DA CHUYEN THANH CONG "<<tien_rut<<" VND CHO TAI KHOAN "<<tai_khoan_can_chuyen<<" SO DU CON LAI LA: " << so_du - tien_rut << " VND\n\n";
				Sleep(1000);
			}
			while (tien_rut > so_du)
			{
				cout << "\nSo tien chuyen phai nho hon hoac bang so du con lai!\n";
				cin >> tien_rut;
				if (tien_rut <= so_du)
				{
					Sleep(1000);
					cout << "\nBAN DA CHUYEN THANH CONG " << tien_rut << " VND CHO TAI KHOAN " << tai_khoan_can_chuyen << " SO DU CON LAI LA: " << so_du - tien_rut << " VND\n\n";
					Sleep(1000);
				}
			}
			break;
		default:
			Sleep(1000);
			system("cls");
			Sleep(1000);
			cout << "Hien chua co chuc nang nay!\n\n";
			break;
		}
	} else while (TEN != ten || MAT_KHAU != mat_khau)
		{
			so_lan_nhap_sai++;
			system("cls"); //xoa man hinh console
			cout << "\t\t\tDANG NHAP TAI KHOAN CUA BAN\n\n";
			cout << "Dang kiem tra thong tin...\n";
			Sleep(1000); //dung chuong trinh 1000 mili giay
			cout << "\nBAN DA NHAP SAI TEN NGUOI DUNG HOAC MAT KHAU "<<so_lan_nhap_sai<<" LAN, MOI NHAP LAI!\n\a";
			cout << "\nTen nguoi dung: "; cin >> TEN;
			cout << "Mat khau: "; cin >> MAT_KHAU;
			if (TEN == ten && MAT_KHAU == mat_khau)
			{
				system("cls");
				cout << "\t\t\tDANG NHAP TAI KHOAN CUA BAN\n\n";
				cout << "Dang kiem tra thong tin...\n";
				Sleep(1000);
				cout << "\nDANG NHAP THANH CONG!\a\a\n\n";
				Sleep(2000);
				system("cls");
				cout << "\t\t\tMOI BAN CHON YEU CAU CAN THUC HIEN\n\n";
				cout << "1: TRA CUU SO DU TAI KHOAN\n";
				cout << "2: RUT TIEN\n";
				cout << "3: DOI MAT KHAU\n";
				cout << "4: CHUYEN TIEN\n\n";
				cin >> tuy_chon;
				switch (tuy_chon)
				{
				case 1:
					Sleep(1000);
					system("cls");
					cout << "\t\t\t\tTRA CUU SO DU\n";
					cout << "\nSo du tai khoan hien tai la: " << so_du << " VND\n\n";
					break;
				case 2:
					Sleep(1000);
					system("cls");
					cout << "\t\t\t\tRUT TIEN\n\n";
					cout << "Nhap so tien ban muon rut: ";
					cin >> tien_rut;
					if (tien_rut <= so_du)
					{
						Sleep(1000);
						cout << "\nBAN DA RUT TIEN THANH CONG, SO DU CON LAI LA: " << so_du - tien_rut << " VND\n\n";
						Sleep(1000);
					}
					while (tien_rut > so_du)
					{
						cout << "\nSo tien rut phai nho hon hoac bang so du con lai!\n";
						cin >> tien_rut;
						if (tien_rut <= so_du)
						{
							Sleep(1000);
							cout << "\nBAN DA RUT TIEN THANH CONG, SO DU CON LAI LA: " << so_du - tien_rut << " VND\n\n";
							Sleep(1000);
						}
					}
					break;
				case 3:
					Sleep(1000);
					system("cls");
					cout << "\t\t\t\tDOI MAT KHAU\n\n";
					cout << "Moi ban nhap mat khau moi: ";
					cin >> mat_khau_moi;
					cout << "Moi ban nhap lai mat khau moi lan nua: ";
					cin >> mat_khau_moi1;
					Sleep(1000);
					if (mat_khau_moi == mat_khau_moi1)
					{
						mat_khau = mat_khau_moi;
						cout << "\nDang kiem tra thong tin...\n";
						Sleep(1000);
						cout << "\nDOI MAT KHAU THANH CONG!\n\n";
						Sleep(1000);
						system("cls");
						cout << "\t\t\t\tDANG NHAP\n\n";
						cout << "Ten nguoi dung: "; cin >> TEN;
						cout << "Mat khau: "; cin >> MAT_KHAU;
						if (TEN == ten && MAT_KHAU == mat_khau)
						{
							system("cls");
							cout << "\t\t\t\tDANG NHAP\n\n";
							cout << "Dang kiem tra thong tin...\n";
							Sleep(1000);
							cout << "\nDANG NHAP THANH CONG!\a\a\n\n";
						}
						else
						{
							system("cls");
							cout << "\t\t\t\tDANG NHAP\n\n";
							cout << "Dang kiem tra thong tin...\n";
							Sleep(1000);
							cout << "\nDANG NHAP THAT BAI!\a\a\n\n";
						}
					}
					break;
				case 4:
					Sleep(1000);
					system("cls");
					cout << "\t\t\t\tCHUYEN TIEN\n\n";
					cout << "Moi ban nhap ten nguoi dung can chuyen tien: ";
					cin >> tai_khoan_can_chuyen;
					cout << "Moi ban nhap so tien can chuyen: ";
					cin >> tien_rut;
					if (tien_rut <= so_du)
					{
						Sleep(1000);
						cout << "\nBAN DA CHUYEN THANH CONG " << tien_rut << " VND CHO TAI KHOAN " << tai_khoan_can_chuyen << " SO DU CON LAI LA: " << so_du - tien_rut << " VND\n\n";
						Sleep(1000);
					}
					while (tien_rut > so_du)
					{
						cout << "\nSo tien chuyen phai nho hon hoac bang so du con lai!\n";
						cin >> tien_rut;
						if (tien_rut <= so_du)
						{
							Sleep(1000);
							cout << "\nBAN DA CHUYEN THANH CONG " << tien_rut << " VND CHO TAI KHOAN " << tai_khoan_can_chuyen << " SO DU CON LAI LA: " << so_du - tien_rut << " VND\n\n";
							Sleep(1000);
						}
					}
					break;
				default:
					Sleep(1000);
					system("cls");
					Sleep(1000);
					cout << "Hien chua co chuc nang nay!\n\n";
					break;
				}
			}
		} 

	system("pause");
	return(0);
}
1 Like

Bạn chia hàm riêng ra để xử lí sẽ dễ đọc code hơn

2 Likes

HI Nguyen Dang Tien.
DNH cần những người như bạn.

  1. Thường thì TEN, MAT_KHAU dùng để khai báo hằng số http://geosoft.no/development/cppstyle.html

  2. Tất cả các switch case đều có Sleep(1000); system("cls"); Sao không đặt nó lên đầu luôn ?

  3. Bạn học về hàm con để chia code ra.

P/S Phần logic chương trình hơi sai thì phải.

3 Likes

Mình chỉ mới học tới mảng 1 chiều trên trang cpp.daynhauhoc.com nên chưa biết về hàm, chỉ biết thoáng qua kiểu như

TinhTong(int a, int b)
{
cout<<"Nhap so a: "; cin >>a;
cout<<"Nhap so b: "; cin>>b;    
return a+b;
}

và hàm là cái chương trình con mà mình đã học ở Pascal 11

dạ cảm ơn anh ý tưởng linh tinh của e thôi mà :slight_smile: [quote=“Phong_Ky_Vo, post:3, topic:50677”]

  1. Thường thì TEN, MAT_KHAU dùng để khai báo hằng số http://geosoft.no/development/cppstyle.html
    [/quote]

dạ vì có phần đổi mật khẩu nên e phải để nó là biến, lúc đầu chưa có ý tưởng đổi mật khẩu thì em để nó là hằng

để chúng lên đầu switch case như thế nào ah?
dạ em sắp học đến hàm rồi :blush:
Logic có gì sai a góp ý giúp e, e thấy nó vẫn chưa hoàn thiện chức năng lắm.

Mình góp ý tí:

  1. bài bạn hơi dài, nếu gộp vào ctc thì sẽ ngắn gọn hơn.
  2. phần TEN và MAT_KHAU thì như bạn trên nói rồi
  3. chỗ rút tiền bạn nên trừ luôn tiền rút chứ chỉ in ra so_du - tien_rut thì số dư vẫn còn. Và cái này bạn nên vứt vào do…while
  4. Phần đổi pass hình như hơi sai sai thì phải :).
1 Like

Anh em nào biết cách cho dừng chương trình khi mình nhập sai 3 lần ko ah?
Trước khi có các tùy chọn của máy ATM thì khi chỉ kiểm tra tên và mật khẩu em làm đc nhưng sau khi thêm vào nó lỗi em đành xóa đi.
Như thế thì hơi thiếu thực tế vì chẳng máy ATM nào cho nhập sai vô tư lần cả :smile:

HI Nguyen Dang Tien.

  1. Ý mình là với biến bạn viết bằng chữ thường VD: dayLaBien, còn hằng thì viết DAY_LA_HANG_SO.
    Đọc lại link mình gửi.

  2. Cái đó bạ tự nghĩ.

1 Like

dạ dạ em hiểu rồi, lần sau rút KN

sau khi học đến hàm e sẽ làm tiếp[quote=“huyletien, post:6, topic:50677”]
3. chỗ rút tiền bạn nên trừ luôn tiền rút chứ chỉ in ra so_du - tien_rut thì số dư vẫn còn. Và cái này bạn nên vứt vào do…while
[/quote]

tất nhiên là số dư còn chứ ạ? mình in ra tiền còn lại sau khi rút
số dư chính là tài khoản của quý khách hiện tại là … đồng đó, ko biết bạn có hiểu cái này ko hay có ý gì khác :confused:

ý tưởng của em là nhập mk mới, nếu check đúng thì cho đổi, sau đó dùng mk này để đăng nhập lại một lần rồi kết thúc CT

À mình hiểu ý bạn rồi,tại ý mình là nên trừ tiền mỗi lần rút cho nó thiết thực :))). Còn đổi pass thic thêm cái nhập pass cũ nữa thì hay (y)

(Diễn đàn ko cho reply quá 6 lần nên em đành edit cái reply này)
Em vừa tối ưu lại code, ngắn hơn nhiều rồi vì đã bỏ switch case 2 lần và chuyển thành IF anh em xem và thấy chỗ nào còn bị gì thì góp ý giúp em

Hiện chương trình đã chạy được tối đa là 10000 lần cho đến khi người dùng chọn lệnh Thoát :yum:
Ngoài ra còn lưu đc mật khẩu, số dư tài khoản cho lần sử dụng tiếp theo luôn.

#include <iostream>
#include <string>
#include <windows.h> //de su dung ham Sleep()

using namespace std;

int main()
{
	string ten;
	string mat_khau = "123456";
	string mat_khau_luc_dau = "123456";
	int tuy_chon;
	int so_du = 2000000; //ban dau co 2 trieu $$$
	int so_du_moi;
	int tien_rut;
	string mat_khau_moi, mat_khau_moi_kiem_tra;
	string tai_khoan_chuyen;

	for (int i = 0; i < 10000; i++)
	{
		system("cls");
		cout << "(Lan nhap va su dung thu " << i+1 << ")\n";
		cout << "(Sau moi lan lam viec, tai khoan se tu dong dang xuat khoi chuong trinh.)\n\n";
		cout << "\t\t\tDANG NHAP TAI KHOAN CUA BAN\n";
		cout << "\nTen nguoi dung: "; cin >> ten;
		cout << "Mat khau: "; cin >> mat_khau;

		if (ten == "tien" && mat_khau == mat_khau_luc_dau)
		{
			system("cls");
			cout << "\t\t\tDANG NHAP TAI KHOAN CUA BAN\n\n";
			cout << "Dang kiem tra thong tin...\n";
			Sleep(1000);
			cout << "\nDANG NHAP THANH CONG!\a\a\n\n";
			Sleep(2000);
			system("cls");
			cout << "\t\t\tMOI BAN CHON YEU CAU CAN THUC HIEN\n\n";
			cout << "1   :     TRA CUU SO DU TAI KHOAN\n";
			cout << "2   :     RUT TIEN\n";
			cout << "3   :     DOI MAT KHAU\n";
			cout << "4   :     CHUYEN TIEN\n";
			cout << "KHAC:     THOAT\n\n";
			cin >> tuy_chon;

			if (tuy_chon == 1)
			{
				Sleep(1000);
				system("cls");
				cout << "\t\t\t\tTRA CUU SO DU\n";
				cout << "\nSo du tai khoan hien tai la: " << so_du << " VND\a\n\n";
				system("pause");
			}
			else if (tuy_chon == 2)
			{
				Sleep(1000);
				system("cls");
				cout << "\t\t\t\tRUT TIEN\n\n";
				cout << "Nhap so tien ban muon rut: ";
				cin >> tien_rut;
				while ((tien_rut % 50000 != 0) || (tien_rut) > so_du)
				{
					cout << "\a\nVUI LONG NHAP SO TIEN NHO HON HOAC BANG SO DU TRONG TAI KHOAN CUA BAN VA LA BOI SO CUA 50000:\n";
					cin >> tien_rut;
				}
				if (tien_rut <= so_du)
				{
					Sleep(1000);
					so_du_moi = so_du - tien_rut;
					so_du = so_du_moi;
					cout << "\nBAN DA RUT TIEN THANH CONG, SO DU CON LAI LA: " << so_du << " VND\a\a\n\n";
					system("pause");
				}
			}
			else if (tuy_chon == 3)
			{
				Sleep(1000);
				system("cls");
				cout << "\t\t\t\tDOI MAT KHAU\n\n";
				cout << "Moi ban nhap mat khau moi: ";
				cin >> mat_khau_moi;
				cout << "Moi ban nhap lai mat khau moi lan nua: ";
				cin >> mat_khau_moi_kiem_tra;
				Sleep(1000);
				if (mat_khau_moi == mat_khau_moi_kiem_tra)
				{
					mat_khau_luc_dau = mat_khau_moi;
					cout << "\nDang kiem tra thong tin...\n";
					Sleep(1000);
					cout << "\nDOI MAT KHAU THANH CONG!\a\a\n\n";
					cout << "\nVUI LONG DANG NHAP DE KIEM TRA MAT KHAU MOI!\n\n";
					system("pause");
					system("cls");
					cout << "\t\t\t\tDANG NHAP\n\n";
					cout << "Ten nguoi dung: "; cin >> ten;
					cout << "Mat khau: "; cin >> mat_khau;
					if (ten == "tien" && mat_khau == mat_khau_moi)
					{
						system("cls");
						cout << "\t\t\t\tDANG NHAP\n\n";
						cout << "Dang kiem tra thong tin...\n";
						Sleep(1000);
						cout << "\nDANG NHAP THANH CONG!\a\a\n\n";
						system("pause");
					}
					else if (ten != "tien" || mat_khau != mat_khau_moi)
					{
						system("cls");
						cout << "\t\t\t\tDANG NHAP\n\n";
						cout << "Dang kiem tra thong tin...\n";
						Sleep(1000);
						cout << "\nDANG NHAP THAT BAI!\a\a\n\n";
						Sleep(2000);
					}
				}
				else
				{
					cout << "\nDang kiem tra thong tin...\n";
					Sleep(1000);
					cout << "\nDOI MAT KHAU THAT BAI!\a\a\n\n";
					system("pause");
				}
			}
			else if (tuy_chon == 4)
			{
				Sleep(1000);
				system("cls");
				cout << "\t\t\t\tCHUYEN TIEN\n\n";
				cout << "Moi ban nhap ten nguoi dung can chuyen tien: ";
				cin >> tai_khoan_chuyen;
				while (tai_khoan_chuyen == "tien")
				{
					cout << "\nTen tai khoan nhan tien phai khac ten tai khoan cua ban!\a\n";
					cout << "Moi nhap lai TK can chuyen tien den: ";
					cin >> tai_khoan_chuyen;
				}
				Sleep(1000);
				system("cls");
				cout << "\t\t\t\tCHUYEN TIEN\n\n";
				cout << "Moi ban nhap so tien can chuyen: ";
				cin >> tien_rut;
				while ((tien_rut % 50000 != 0) || (tien_rut) > so_du)
				{
					cout << "\a\nVUI LONG NHAP SO TIEN NHO HON HOAC BANG SO DU TRONG TAI KHOAN CUA BAN VA LA BOI SO CUA 50000:\n";
					cin >> tien_rut;
				}
				if (tien_rut <= so_du)
				{
					Sleep(1000);
					so_du_moi = so_du - tien_rut;
					so_du = so_du_moi;
					cout << "\nBAN DA CHUYEN TIEN THANH CONG DEN TAI KHOAN " << tai_khoan_chuyen << ", SO DU CON LAI LA: " << so_du << " VND\a\a\n\n";
					system("pause");
				}
			}
			else
				{
					cout << "\n\t\tBAN DA CHON DANG XUAT KHOI CHUONG TRINH, CAM ON BAN!\a\a\n\n";
					Sleep(1000);
					break;
				}
		}
	}
		
		system("pause");
		return(0);
}

Học hàm giúp cho chương trình gọn hơn
Thao tác với File giúp người dùng đăng kí thêm tài khoản lưu các thông tin vào file. :smile: gọi là Database.
Kiếm file nhạc nào, mỗi lần rút tiền đăng nhập, cho chạy file nhạc như máy thật.
Làm vòng lặp while để chương trình chạy liên tục

1 Like

Thật cảm ơn bạn đã góp ý, mình cũng sắp vào đại học rồi, chắc cũng ko đc rảnh nhiều như ở nhà nhưng mình sẽ giữ ý tưởng này sau này học thêm kiến thức mới sẽ nâng cấp nó lên.
Rất tâm đắc với ý kiến về database, nhạc của bạn :laughing: nhưng có vẻ còn hơi lâu mình mới chạm đến đc mấy cái này
Điều mình đang nghĩ lúc này là làm thế nào để dùng vòng while lặp lại chương trình và lưu lại các thông số như mật khẩu đã đổi, số dư còn lại, … hoặc sau khi dùng một chức năng xong thì có thể dùng tiếp chức năng khác… :confused:

khai báo biến;
vòng lặp
{
    xử lí chương trình;
}

Ok mình đã bỏ đi vòng for 10000 lần rồi, xài đến 10000 lần là cháy máy :laughing:
Đã thay bằng while (true)
Anh em xem còn gì chưa hợp lý góp ý em nha, em mới học C++ đc 1 tháng, trước có học Pascal năm 11 nhưng cũng hơi mơ hồ, chỉ biết chép code cô viết trên bảng là chính thôi :yum:

#include <iostream>
#include <string>
#include <windows.h> //de su dung ham Sleep()

using namespace std;

int main()
{
	string ten;
	string mat_khau = "123456";
	string mat_khau_luc_dau = "123456";
	int tuy_chon;
	int so_du = 2000000; //ban dau co 2 trieu $$$
	int so_du_moi;
	int tien_rut;
	int so_lan_sd = 0;
	string mat_khau_moi, mat_khau_moi_kiem_tra;
	string tai_khoan_chuyen;

	while (true)
	{
		system("cls");
		so_lan_sd++;
		cout << "(Lan nhap va su dung thu " << so_lan_sd << ")\n";
		cout << "(Sau moi lan lam viec, tai khoan se tu dong dang xuat khoi chuong trinh)\n\n";
		cout << "\t\t\tDANG NHAP TAI KHOAN CUA BAN\n";
		cout << "\nTen nguoi dung: "; cin >> ten;
		cout << "Mat khau: "; cin >> mat_khau;

		if (ten == "tien" && mat_khau == mat_khau_luc_dau)
		{
			system("cls");
			cout << "\t\t\tDANG NHAP TAI KHOAN CUA BAN\n\n";
			cout << "Dang kiem tra thong tin...\n";
			Sleep(1000);
			cout << "\nDANG NHAP THANH CONG!\a\a\n\n";
			Sleep(2000);
			system("cls");
			cout << "\t\t\tMOI BAN CHON YEU CAU CAN THUC HIEN\n\n";
			cout << "1   :     TRA CUU SO DU TAI KHOAN\n";
			cout << "2   :     RUT TIEN\n";
			cout << "3   :     DOI MAT KHAU\n";
			cout << "4   :     CHUYEN TIEN\n";
			cout << "KHAC:     THOAT\n\n";
			cin >> tuy_chon;

			if (tuy_chon == 1)
			{
				Sleep(1000);
				system("cls");
				cout << "\t\t\t\tTRA CUU SO DU\n";
				cout << "\nSo du tai khoan hien tai la: " << so_du << " VND\a\n\n";
				system("pause");
			}
			else if (tuy_chon == 2)
			{
				Sleep(1000);
				system("cls");
				cout << "\t\t\t\tRUT TIEN\n\n";
				cout << "Nhap so tien ban muon rut: ";
				cin >> tien_rut;
				while ((tien_rut % 50000 != 0) || (tien_rut) > so_du)
				{
					cout << "\a\nVUI LONG NHAP SO TIEN NHO HON HOAC BANG SO DU TRONG TAI KHOAN CUA BAN VA LA BOI SO CUA 50000:\n";
					cin >> tien_rut;
				}
				if (tien_rut <= so_du)
				{
					Sleep(1000);
					so_du_moi = so_du - tien_rut;
					so_du = so_du_moi;
					cout << "\nBAN DA RUT TIEN THANH CONG, SO DU CON LAI LA: " << so_du << " VND\a\a\n\n";
					system("pause");
				}
			}
			else if (tuy_chon == 3)
			{
				Sleep(1000);
				system("cls");
				cout << "\t\t\t\tDOI MAT KHAU\n\n";
				cout << "Moi ban nhap mat khau moi: ";
				cin >> mat_khau_moi;
				cout << "Moi ban nhap lai mat khau moi lan nua: ";
				cin >> mat_khau_moi_kiem_tra;
				Sleep(1000);
				if (mat_khau_moi == mat_khau_moi_kiem_tra)
				{
					mat_khau_luc_dau = mat_khau_moi;
					cout << "\nDang kiem tra thong tin...\n";
					Sleep(1000);
					cout << "\nDOI MAT KHAU THANH CONG!\a\a\n\n";
					cout << "\nVUI LONG DANG NHAP DE KIEM TRA MAT KHAU MOI!\n\n";
					system("pause");
					system("cls");
					cout << "\t\t\t\tDANG NHAP\n\n";
					cout << "Ten nguoi dung: "; cin >> ten;
					cout << "Mat khau: "; cin >> mat_khau;
					if (ten == "tien" && mat_khau == mat_khau_moi)
					{
						system("cls");
						cout << "\t\t\t\tDANG NHAP\n\n";
						cout << "Dang kiem tra thong tin...\n";
						Sleep(1000);
						cout << "\nDANG NHAP THANH CONG!\a\a\n\n";
						system("pause");
					}
					else if (ten != "tien" || mat_khau != mat_khau_moi)
					{
						system("cls");
						cout << "\t\t\t\tDANG NHAP\n\n";
						cout << "Dang kiem tra thong tin...\n";
						Sleep(1000);
						cout << "\nDANG NHAP THAT BAI!\a\a\n\n";
						Sleep(2000);
					}
				}
				else
				{
					cout << "\nDang kiem tra thong tin...\n";
					Sleep(1000);
					cout << "\nDOI MAT KHAU THAT BAI!\a\a\n\n";
					system("pause");
				}
			}
			else if (tuy_chon == 4)
			{
				Sleep(1000);
				system("cls");
				cout << "\t\t\t\tCHUYEN TIEN\n\n";
				cout << "Moi ban nhap ten nguoi dung can chuyen tien: ";
				cin >> tai_khoan_chuyen;
				while (tai_khoan_chuyen == "tien")
				{
					cout << "\nTen tai khoan nhan tien phai khac ten tai khoan cua ban!\a\n";
					cout << "Moi nhap lai TK can chuyen tien den: ";
					cin >> tai_khoan_chuyen;
				}
				Sleep(1000);
				system("cls");
				cout << "\t\t\t\tCHUYEN TIEN\n\n";
				cout << "Moi ban nhap so tien can chuyen: ";
				cin >> tien_rut;
				while ((tien_rut % 50000 != 0) || (tien_rut) > so_du)
				{
					cout << "\a\nVUI LONG NHAP SO TIEN NHO HON HOAC BANG SO DU TRONG TAI KHOAN CUA BAN VA LA BOI SO CUA 50000:\n";
					cin >> tien_rut;
				}
				if (tien_rut <= so_du)
				{
					Sleep(1000);
					so_du_moi = so_du - tien_rut;
					so_du = so_du_moi;
					cout << "\nBAN DA CHUYEN TIEN THANH CONG DEN TAI KHOAN " << tai_khoan_chuyen << ", SO DU CON LAI LA: " << so_du << " VND\a\a\n\n";
					system("pause");
				}
			}
			else
				{
					cout << "\n\t\tBAN DA CHON THOAT KHOI CHUONG TRINH, CAM ON BAN!\a\a\n\n";
					Sleep(1000);
					break;
				}
		}
	}
		
		system("pause");
		return(0);
}

break trong switch case tác dụng gì tới vòng lặp? Sao không phải là if?

Thế mình thay vòng for bằng

while (true)

Đến khi nào người dùng nhập vào tùy chọn có chứa lệnh Break là nó thoát, ko biết như thế có được ko?

Nếu vậy chương trình của bạn sẽ chỉ chạy được trong chừng đó lần. Sao bạn không thử dùng vòng lặp vô hạn? Bạn muốn break để thoát ra vòng lặp thì đặt mộ câu if, đương nhiên là nó nằm ngoài switch.

Chưa thấy ATM chạy Console bao giờ ??

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?