Tạo menu lựa chọn trong C/C++

Tạo một Menu có các lựa chọn là 1 bài tập lập trình căn bản, giúp các bạn làm quen với các lệnh xóa màn hình, vòng lặp while, lệnh switch case, lệnh getch. Đây có thể nói là 1 bài tập tổng hợp. Các bạn theo dõi video bên dưới để dễ hình dung hơn.

Tạo menu lựa chọn trong C/C++

Tóm tắt Video

  • Tạo một dự án mới
  • Tạo các chức năng của dự án (bài tập)
  • Tạo các menu chức năng
  • Viết các hàm xử lý menu
  • Gọi hàm main để chạy thử chương trình

Code: Menu.h

#include "Lib.h"

void Menu();		// Ham nay se xuat ra cac danh sach menu
int ChonMenu();		// Ham nay dung de chon 1 menu tuong ung
void XuLyMenu();	// Xu ly menu ung voi menu duoc chon


void Menu() {
	cout << "=================MENU================\n";
	cout << "1. Vua ga - vua cho\n";
	cout << "2. Kiem tra so nguyen to\n";
	cout << "3. Tong cac so nguyen to\n";
	cout << "4. Dao nguoc so\n";
	cout << "5. Tim so sao cho a*b = 2(a+b)\n";
	cout << "6. Tinh giai thua cua mot so\n";
	cout << "7. Tim day Fibonaci\n";
	cout << "8. Hoan vi\n";
	cout << "9. Ve tam giac\n";
	cout << "10. Bai tap cua cac ban";
	cout << "99. Thoat!!!\n";
	cout << "=====================================\n";
}
int ChonMenu()
{
	int n = 0;
	cout << "\n\nMoi chon menu: ";
	cin >> n;
	if (n > 0 || n < 99)
		return n;
	else return ChonMenu();
}
void XuLyMenu() 
{
	int chon = ChonMenu();
	int a = 5; int b = 6;
	switch (chon)
	{
	case 1:		
		cout << "1. Vua ga vua cho.\n";
		VuaGaVuaCho();
		break;
	case 2:
		cout << "2. Kiem tra so nguyen to\n";
		cout << TimSoNT(5);
		break;
	case 3:
		cout << "3. Tong cac so nguyen to\n";
		cout << TinhTongCacSoNT(11);
		break;
	case 4:
		cout << "4. Dao nguoc so\n";
		cout << DaoNguocSo(123);
		break;
	case 5:
		cout << "5. Tim so sao cho a*b = 2(a+b)\n";
		TimSoTichABBang2TongAB(100);
		break;
	case 6:
		cout << "6. Tinh gia thua cua mot so\n";
		cout << TinhGiaiThua(6);
		break;
	case 7:
		cout << "7. Tim day Fibonaci\n";
		for (int i = 0; i < 5; i++)
		{
			cout << Finbonaci(i) << "\t";
		}
		Finbonaci2(7);
		break;
	case 8:
		cout << "7. Hoan vi\n";
		//int a = 5; int b = 6;
		HoanVi(a, b);
		cout << a << "\t" << b;
		break;
	case 9:
		VeHinhTamGiac(4, 5);
		break;
	case 99:
		cout << "Thoat!!!\n";
		exit(1);
		break;
	}
}

Code Source.cpp

#include "Menu.h"
using namespace std;
void main() 
{	
	Menu();
	while (true)
	{	
		XuLyMenu();
	}
	_getch();
}

Hãy sáng tạo theo cách của bạn.

Nếu bạn đã hoàn thành theo hướng dẫn mà vẫn gặp khó khăn, hãy tải mã nguồn ứng dụng tại đây:  Download

Cảm ơn bạn đọc và tôi luôn đánh giá cao phản hồi của bạn.

Đọc và ghi file text trong C++

Trong C++ việc đọc và ghi file thường dùng để đưa các bài toán ở dạng đầu vào và xuất ra kết quả. Điều này giúp cho người ta dễ dàng kiểm tra xem chương trình của bạn có thực sự đúng không khi cho chương trình chạy với nhiều đầu vào và kiểm tra các kết quả ở đầu ra chương trình có đúng với kết quả chuẩn. Bài viết này sẽ trình bày các vấn đề về đọc và ghi file với các ký tự ASCII sử dụng thư viện fstream.

Đây là phần hướng dẫn đọc file .txt có cấu trúc như sau: HoTen SoCMND SoNamLV Luong

Cấu trúc file Text
Cấu trúc file Text

Các thư viện sử dụng:

#include <iostream>
#include <string.h>
#include <conio.h>
#include <fstream>
#include <iostream>
#include <iomanip>
Đọc ghi file Text trong C++
Đọc ghi file Text trong C++

Kết quả:

Đọc ghi file text C++
Đọc ghi file text C++

Chúc các bạn thành công.

How will you print numbers from 1 to 100 without using loop?

Here is a solution that prints numbers using recursion.

Other alternatives for loop statements are recursion and goto statement, but use of goto is not suggestible as a general programming practice as goto statement changes the normal program execution sequence and makes it difficult to undestand and maintain.

#include <stdio.h>

/* Prints numbers from 1 to n */
void printNos(unsigned int n)
{
if(n > 0)
{
	printNos(n-1);
	printf("%d ", n);
}
return;
}

/* Driver program to test printNos */
int main()
{
printNos(100);
getchar();
return 0;
}

Demo online here

Tìm số nguyên tố trong C++

Tìm số nguyên tố trong C++ là bài tập thú vị mà bất cứ ai khi học C++ cũng có thể gặp qua. Kiểm tra số có phải là số nguyên tố không? Xuất danh sách các số nguyên tố từ 1 đến n. Xuất các số nguyên tố trong mảng. Tính tổng các số các số nguyên tố trong mảng…

Ví dụ dưới đây cho phép bạn kiểm tra 1 số n có phải số nguyên tố hay không?

Ý tưởng: Số nguyên tố là số chỉ chia hết cho 1 và chính nó. Ta sẽ duyệt danh sách từ 2 đến sqrt(n). Nếu n chia hết cho 1 số thứ 3 thì nó không phải là số nguyên tố. Ngược lại n là số nguyên tố.

// Ham kiem tra 1 so co phai la so NT hay khong? Dung thi tra ve 1, nguoc lai tra ve 0
int KiemTraSNT(int n) {	 
	if (n == 2) {
		return 1;
	}
	else {
		for (int i = 2; i <= int(sqrt(n)); i++)
		{
			if (n%i == 0) {
				return 0;				
			}
		}
	}
	return 1;
}

so-nguyen-to

 

Áp dụng tính tổng các số nguyên tố từ 1 đến n

int TinhTongCacSoNT(int n) {
	int tong = 0, x = 0;
	for (int i = 2; i <= n; i++)
	{
		x = KiemTraSNT(i);
		if (x == 1)
			tong += i;
	}
	return tong;
}

Chúc các bạn thành công.