钱穆先生:现在教育的第一大错误

任何一国家一民族,必有其自己一套教育,乃能使其民众忠于邦国,而亦能乐群相处,不相离散。中国民族绵延五千载,日以扩大繁昌,亦赖于此。

最近百年来,西化东渐。新教育兴起,自小学以至大学,设科分系,其制度及其内容,莫非效法欧美。在知识技能方面,择善多师,事无不可。但若以教育为立国大本,为善群要道,则必渊源自己历史传统,针对自己当前需要,善自创制。非可为邯郸之学步。纵谓中国旧有,已不切时代,亦当识其来历,善为变通,斟酌改进,以求惬适。万不当于自己固有,懵焉不知。谓可一刀两断,崭地更新。此在凡百措施,皆所不能,而教育尤然。……

教育的第一任务,便是要这一国家这一民族里面的每一分子,都能来认识他们自己的传统。正像教一个人都要能认识他自己。连自己都不认识,其他便都不必说了。

今天,我们东方人的教育,第一大错误,是在一意模仿西方,抄袭西方。不知道每一国家每一民族的教育,必该有自己的一套。……但这不是说要我们故步自封,闭关自守。也不是要我们不懂得看重别人,不懂得学别人长处来补自己短处。但此种种应有一限度切不可为要学别人而遗忘了自己,更不可为要学别人而先破灭了自己。

——钱穆先生《国史新论》

钱穆(1895—1990),史学大师、国学大师。著有《国史大纲》《国史新论》《中国历代政治得失》《中国历史研究法》等1700余万字的史学和文化学著作。

===============

读《国史新论》有感 —— 教育与民族传统​

在《国史新论》中,钱穆先生以其深厚的史学功底和对国家民族的深切关怀,深入探讨了诸多有关中国历史与文化的重要议题,其中关于教育的见解发人深省。他指出:“任何一国家一民族,必有其自己一套教育,乃能使其民众忠于邦国,而亦能乐群相处,不相离散。中国民族绵延五千载,日以扩大繁昌,亦赖于此。” 这清晰地表明了教育对于国家和民族的极端重要性,它不仅是维系民众忠诚于国家的纽带,更是促进社会和谐、民族凝聚的关键力量。​

回顾中国近百年来的教育发展历程,西化东渐的影响极为显著。从小学到大学,教育制度和内容大多效法欧美,在知识技能的传授方面,向先进的西方国家学习本无可厚非。然而,当教育被视为立国之本、善群要道时,仅仅依赖外来模式是远远不够的。钱穆先生强调,教育必须扎根于自己的历史传统,紧密结合当前的实际需求,进行创造性的构建。中国拥有数千年的悠久历史和灿烂文化,这些宝贵的遗产是教育取之不尽、用之不竭的源泉。例如,儒家倡导的 “仁爱”“礼义” 等思想,长期以来深刻影响着中国人的价值观和行为方式,在培养个人品德、促进社会和谐方面发挥着不可替代的作用。我们不能因为时代的变迁而忽视这些传统,而应深入挖掘其中的精髓,使其在现代教育中焕发出新的活力。​

教育的首要任务,按照钱穆先生的观点,是让国家和民族中的每一个人都能深刻认识自己的传统。这就如同一个人只有先了解自己,才能更好地发展自己。在当今全球化的时代背景下,各种外来文化不断涌入,部分人盲目追求西方文化,对本国传统文化缺乏了解和认同,这无疑是一种本末倒置的行为。一个民族如果失去了对自身传统的认知和传承,就如同失去了根基的大树,难以在激烈的国际竞争中立足。只有当每一个人都能从内心深处认同和热爱自己民族的文化传统,才能真正形成强大的民族凝聚力和向心力。​

当下,东方教育的一大误区正是过度模仿和抄袭西方。诚然,西方教育在某些方面具有先进之处,值得我们学习借鉴,但我们不能因此而迷失自我。我们需要学习西方的长处来弥补自身的不足,但必须有一个明确的限度,绝不能为了学习他人而遗忘甚至破坏自己的文化根基。例如,在教育评价体系方面,西方侧重于标准化考试和量化评估,这种方式在一定程度上能够客观地衡量学生的知识掌握水平,但也容易忽视学生的个性发展和综合素质培养。而中国传统教育注重因材施教,关注学生的品德修养和全面发展,这与西方教育形成了鲜明的对比。我们应在借鉴西方先进经验的基础上,充分发挥自身传统教育的优势,构建具有中国特色的现代教育体系。​

钱穆先生的这些观点对当代教育具有重要的启示意义。在教育改革的过程中,我们应始终坚守民族文化的根基,将传统文化教育融入到各个学科和教育阶段。例如,在语文教学中,加强对经典文学作品的研读,让学生领略古代文学的魅力,传承中华民族的语言文字和文化精髓;在历史教学中,注重培养学生对中国历史的全面了解和正确认识,使他们能够从历史中汲取智慧和力量;在道德教育中,弘扬传统美德,引导学生树立正确的价值观和道德观。同时,我们也要以开放的心态学习和吸收世界各国的优秀教育成果,推动教育的国际化进程,但这一切都必须以保持自身特色为前提。​

《国史新论》中钱穆先生关于教育的论述犹如一盏明灯,为我们照亮了当代教育发展的道路。我们必须深刻认识到教育与民族传统的紧密联系,在传承和弘扬民族文化的基础上,合理借鉴外来经验,不断探索和创新,努力构建符合中国国情、具有中国特色的现代教育体系,为国家的繁荣昌盛和民族的伟大复兴培养出更多优秀的人才。

好的,那我开始编写代码。以下是完整的代码注释和功能实现。 ```C++ #include <iostream> #include <fstream> #include <vector> #include <algorithm> using namespace std; // 建立书籍类 class Book { public: Book() {} Book(int id, string name, string author, string type, string press, double price, int total, int rest) { this->id = id; this->name = name; this->author = author; this->type = type; this->press = press; this->price = price; this->total = total; this->rest = rest; } int getId() const { return id; } string getName() const { return name; } string getAuthor() const { return author; } string getType() const { return type; } string getPress() const { return press; } double getPrice() const { return price; } int getTotal() const { return total; } int getRest() const { return rest; } void setName(string name) { this->name = name; } void setAuthor(string author) { this->author = author; } void setType(string type) { this->type = type; } void setPress(string press) { this->press = press; } void setPrice(double price) { this->price = price; } void setTotal(int total) { this->total = total; } void setRest(int rest) { this->rest = rest; } private: int id; // 书籍编号 string name; // 书籍名称 string author; // 作者 string type; // 类型 string press; // 出版社 double price; // 价格 int total; // 总数 int rest; // 剩余数量 }; // 建立图书类型类 class BookType { public: BookType() {} BookType(int id, string type) { this->id = id; this->type = type; } int getId() const { return id; } string getType() const { return type; } void setType(string type) { this->type = type; } private: int id; // 图书类型编号 string type; // 图书类型名称 }; // 建立图书类 class Library { public: Library() {} // 初始化 void init(); // 添加书籍 void addBook(); // 修改书籍 void modifyBook(); // 删除书籍 void deleteBook(); // 查找书籍 void searchBook(); // 输出所有书籍信息 void printBooks(); // 按编号排序 void sortById(); // 按书名排序 void sortByName(); // 保存到文件 void saveToFile(); // 从文件中读取 void readFromFile(); private: vector<Book> books; // 书籍信息 vector<BookType> bookTypes; // 图书类型信息 }; void Library::init() { // 初始化图书类型信息 bookTypes.push_back(BookType(1, "计算机")); bookTypes.push_back(BookType(2, "文学")); bookTypes.push_back(BookType(3, "历史")); bookTypes.push_back(BookType(4, "经济")); bookTypes.push_back(BookType(5, "哲学")); bookTypes.push_back(BookType(6, "心理学")); bookTypes.push_back(BookType(7, "教育")); bookTypes.push_back(BookType(8, "体育")); bookTypes.push_back(BookType(9, "医学")); bookTypes.push_back(BookType(10, "法律")); // 初始化书籍信息 books.push_back(Book(1, "C++程序设计基础", "谭浩强", "计算机", "清华学出版社", 69.0, 10, 10)); books.push_back(Book(2, "三体", "刘慈欣", "文学", "重庆出版社", 29.0, 20, 20)); books.push_back(Book(3, "明朝那些事儿", "当年明月", "历史", "湖南文艺出版社", 49.0, 15, 15)); books.push_back(Book(4, "经济学原理", "曼昆", "经济", "机械工业出版社", 99.0, 8, 8)); books.push_back(Book(5, "论语", "孔子", "哲学", "中华书局", 9.9, 30, 30)); books.push_back(Book(6, "心理学与生活", "吉列", "心理学", "人民邮电出版社", 39.0, 12, 12)); books.push_back(Book(7, "小学数学竞赛", "王德忠", "教育", "人民教育出版社", 25.0, 18, 18)); books.push_back(Book(8, "篮球技术与战术", "何勇", "体育", "北京体育学出版社", 59.0, 5, 5)); books.push_back(Book(9, "内科学", "王振英", "医学", "人民卫生出版社", 129.0, 3, 3)); books.push_back(Book(10, "宪法", "穆", "法律", "北京学出版社", 19.9, 25, 25)); } void Library::addBook() { int id, total, rest, typeId; string name, author, type, press; double price; cout << "请输入书籍编号:"; cin >> id; cout << "请输入书籍名称:"; cin >> name; cout << "请输入作者:"; cin >> author; cout << "请输入书籍类型(如:计算机):"; cin >> type; cout << "请输入出版社:"; cin >> press; cout << "请输入价格:"; cin >> price; cout << "请输入总数:"; cin >> total; cout << "请输入剩余数量:"; cin >> rest; // 查找图书类型 bool found = false; for (int i = 0; i < bookTypes.size(); i++) { if (bookTypes[i].getType() == type) { typeId = bookTypes[i].getId(); found = true; break; } } if (!found) { typeId = bookTypes.size() + 1; bookTypes.push_back(BookType(typeId, type)); } books.push_back(Book(id, name, author, type, press, price, total, rest)); cout << "添加成功!" << endl; } void Library::modifyBook() { int id; cout << "请输入需要修改的书籍编号:"; cin >> id; for (int i = 0; i < books.size(); i++) { if (books[i].getId() == id) { string name, author, type, press; double price; int total, rest, typeId; cout << "请输入书籍名称:"; cin >> name; cout << "请输入作者:"; cin >> author; cout << "请输入书籍类型(如:计算机):"; cin >> type; cout << "请输入出版社:"; cin >> press; cout << "请输入价格:"; cin >> price; cout << "请输入总数:"; cin >> total; cout << "请输入剩余数量:"; cin >> rest; // 查找图书类型 bool found = false; for (int j = 0; j < bookTypes.size(); j++) { if (bookTypes[j].getType() == type) { typeId = bookTypes[j].getId(); found = true; break; } } if (!found) { typeId = bookTypes.size() + 1; bookTypes.push_back(BookType(typeId, type)); } books[i] = Book(id, name, author, type, press, price, total, rest); cout << "修改成功!" << endl; return; } } cout << "未找到该书籍!" << endl; } void Library::deleteBook() { int id; cout << "请输入需要删除的书籍编号:"; cin >> id; for (int i = 0; i < books.size(); i++) { if (books[i].getId() == id) { books.erase(books.begin() + i); cout << "删除成功!" << endl; return; } } cout << "未找到该书籍!" << endl; } void Library::searchBook() { int id; cout << "请输入需要查找的书籍编号:"; cin >> id; for (int i = 0; i < books.size(); i++) { if (books[i].getId() == id) { cout << "编号\t书名\t作者\t类型\t出版社\t价格\t总数\t剩余数量" << endl; cout << books[i].getId() << "\t" << books[i].getName() << "\t" << books[i].getAuthor() << "\t" << books[i].getType() << "\t" << books[i].getPress() << "\t" << books[i].getPrice() << "\t" << books[i].getTotal() << "\t" << books[i].getRest() << endl; return; } } cout << "未找到该书籍!" << endl; } void Library::printBooks() { cout << "编号\t书名\t作者\t类型\t出版社\t价格\t总数\t剩余数量" << endl; for (int i = 0; i < books.size(); i++) { cout << books[i].getId() << "\t" << books[i].getName() << "\t" << books[i].getAuthor() << "\t" << books[i].getType() << "\t" << books[i].getPress() << "\t" << books[i].getPrice() << "\t" << books[i].getTotal() << "\t" << books[i].getRest() << endl; } } void Library::sortById() { sort(books.begin(), books.end(), [](Book a, Book b) { return a.getId() < b.getId(); }); } void Library::sortByName() { sort(books.begin(), books.end(), [](Book a, Book b) { return a.getName() < b.getName(); }); } void Library::saveToFile() { ofstream outfile("books.txt"); for (int i = 0; i < books.size(); i++) { outfile << books[i].getId() << " " << books[i].getName() << " " << books[i].getAuthor() << " " << books[i].getType() << " " << books[i].getPress() << " " << books[i].getPrice() << " " << books[i].getTotal() << " " << books[i].getRest() << endl; } outfile.close(); outfile.open("booktypes.txt"); for (int i = 0; i < bookTypes.size(); i++) { outfile << bookTypes[i].getId() << " " << bookTypes[i].getType() << endl; } outfile.close(); cout << "保存成功!" << endl; } void Library::readFromFile() { ifstream infile("books.txt"); int id, total, rest; string name, author, type, press; double price; while (infile >> id >> name >> author >> type >> press >> price >> total >> rest) { // 查找图书类型 int typeId; bool found = false; for (int i = 0; i < bookTypes.size(); i++) { if (bookTypes[i].getType() == type) { typeId = bookTypes[i].getId(); found = true; break; } } if (!found) { typeId = bookTypes.size() + 1; bookTypes.push_back(BookType(typeId, type)); } books.push_back(Book(id, name, author, type, press, price, total, rest)); } infile.close(); infile.open("booktypes.txt"); int typeId; while (infile >> typeId >> type) { bookTypes.push_back(BookType(typeId, type)); } infile.close(); cout << "读取成功!" << endl; } int main() { Library library; library.init(); int choice; while (true) { cout << "请选择操作:" << endl; cout << "1.添加书籍" << endl; cout << "2.修改书籍" << endl; cout << "3.删除书籍" << endl; cout << "4.查找书籍" << endl; cout << "5.输出所有书籍信息" << endl; cout << "6.按编号排序" << endl; cout << "7.按书名排序" << endl; cout << "8.保存到文件" << endl; cout << "9.从文件中读取" << endl; cout << "0.退出" << endl; cin >> choice; switch (choice) { case 1: { library.addBook(); break; } case 2: { library.modifyBook(); break; } case 3: { library.deleteBook(); break; } case 4: { library.searchBook(); break; } case 5: { library.printBooks(); break; } case 6: { library.sortById(); break; } case 7: { library.sortByName(); break; } case 8: { library.saveToFile(); break; } case 9: { library.readFromFile(); break; } case 0: { cout << "谢谢使用!" << endl; return 0; } default: { cout << "输入有误,请重新输入!" << endl; break; } } } return 0; } ``` 以上就是完整的代码实现了。这个图书管管理系统包含了建立书籍类、图书类型类、图书类,书籍、图书类型、图书信息的初始化、添加、修改、删除、查找,图书信息的输出,对图书信息按编号、书名排序,文件的保存和文件的读取。您可以根据需要进行修改和扩展。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值