Здравствуйте, опять я со своими ошибками, на сей раз на плюсах.
[Error] name lookup of 'i' changed for ISO 'for' scoping [-fpermissive]
[Note] (if you use '-fpermissive' G++ will accept your code)
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
class L_Book {
private:
	string name_book, autor; int pages;
	public:
	void AddBook(string a, string b, int c) {
		name_book = a;
		autor = b;
		pages = c;
	} 
	void GetAllBooks() {
		cout << "Book Name : \t" << name_book << endl << "Name Autor : \t" << autor <<endl << "Pages : \t" << pages << endl;
	}
} ;
void main() {
	string a, b; int c; bool soft = true; short menu, kol_books;
	L_Book book [500];
	setlocale (LC_ALL, "rus");
	//////////////STARTED
	while (soft == true) {
		system ("cls");
		cout << "\t 1) Добавить книгу" << endl << "\t 2) Список всех книг" <<endl;
		cin >> menu;
		if (menu == 1) {
			system ("cls");
			cout << ("Сколько книг хотите добавить? "); cin >> kol_books;
			for (int i = 0; i < kol_books; i++)
				system ("cls");
				cout << "Название книги: "; cin >> a, cout << endl;
				cout << "Имя автора: "; cin >> b; cout << endl;
				cout << "Количество страниц: "; cin >> c; cout << endl;
				book[i].AddBook ( a, b, c);
			}
			cout << "Успешно добавлено." << endl;
			Sleep (3000);
		}
         if (menu == 2) { 
         	system ("cls");
         	for (int i = 0; i < kol_books; i++) {
         		book[i].GetAllBooks();
         		Sleep(1000);
         	}
         	Sleep (3000);
         }
}