Пояснить каждую строчку кода к задаче,через комментарий(//)

#include <iostream>
#include <string>
#include <fstream>
#include <map>

using namespace std;
struct chcp1251 {
	static bool is_alpha(char ch) {
		return (ch >= -64 && ch <= -1)
			|| ch == -88
			|| ch == -72
			|| (ch >= 65 && ch <= 97)
			|| (ch >= 90 && ch <= 122);
	}
	static bool is_digit(char ch) {
		return ch >= 48 && ch <= 57;
	}
};
int main() {

	system("chcp 1251 > nul");
	map<char, size_t> letters;
	map<char, size_t> digits;

	ifstream file("text.txt");
	if (file.is_open()) {
		char ch;
		while (ch = file.get()) {
			if (file.eof()) break;
			if (chcp1251::is_alpha(ch)) ++digits[ch];
			if (chcp1251::is_digit(ch)) ++letters[ch];
		}
		file.close();
	}

	else puts("Файл text.txt не найден!");
	cout << "Введенные числа:" << endl;
	for (auto [key, value] : letters) cout << key << " - " << value << '\n';
	wcout.put(L'\n');
	cout << "Введенные буквы:" << endl;
	for (auto [key, value] : digits) wcout << key << " - " << value << '\n';
	system("pause > nul");

}

Задача:
Проанализировать файл с текстом. Определить частоту повторяемости каждой буквы алфавита и каждой цифры в тексте.

Так вы ж писали код, вот и поясняйте )

К сожалению нет.

struct chcp1251 {
	static bool is_alpha(char ch) {
		return (ch >= -64 && ch <= -1)
			|| ch == -88
			|| ch == -72
			|| (ch >= 65 && ch <= 97)
			|| (ch >= 90 && ch <= 122);
	}
	static bool is_digit(char ch) {
		return ch >= 48 && ch <= 57;
	}
};
int main() {

	system("chcp 1251 > nul");
	map<char, size_t> letters;
	map<char, size_t> digits;

	ifstream file("text.txt");
	if (file.is_open()) {
		char ch;
		while (ch = file.get()) {
			if (file.eof()) break;
			if (chcp1251::is_alpha(ch)) ++digits[ch];
			if (chcp1251::is_digit(ch)) ++letters[ch];
		}
		file.close();
	}

можете пожалуйста эти пояснить?

Читать про работу с файлами в С++ (fstream), STL, map.
https://metanit.com/cpp/tutorial/8.3.php
https://ravesli.com/urok-212-bazovyj-fajlovyj-vvod-vyvod/
http://www.cplusplus.com/reference/istream/istream/get/
https://ravesli.com/urok-197-kontejnery-stl/
http://cppstudio.com/post/9535/
http://www.cplusplus.com/reference/map/map/operator[]/

см. http://www.asciitable.com/ для 0-127 + видимо какая-то из русских кодировок (CP1251, …) для 128-255 (значения влезающие в один байт), только вместо 128-255 тут отрицательные числа потому что автор не преобразовал в unsigned char.

Видимо меняет кодировку на CP1251, чтобы можно было выводить русские символы в консоль.
Не уверен, что это сработает.
Вроде setlocale обычно используют.

так он русские буквы нормально считывает,большие и маленькие)