From 04457bf7841952cffb693846b8eaea6a8be8804c Mon Sep 17 00:00:00 2001 From: p68710245 Date: Sun, 28 Apr 2024 21:23:48 +0800 Subject: [PATCH] Add money.cpp --- money.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 money.cpp diff --git a/money.cpp b/money.cpp new file mode 100644 index 0000000..d65b988 --- /dev/null +++ b/money.cpp @@ -0,0 +1,41 @@ +#include +#include +#include + +class Money +{ +private: + int yuan, jiao, fen; + +public: + Money(int _yuan = 0, int _jiao = 0, int _fen = 0) + : yuan{_yuan}, jiao{_jiao}, fen{_fen} + { + } + friend std::ostream &operator<<(std::ostream &os, const Money &m) + { + if (&os == &std::cout) + return os << m.yuan << "元" << m.jiao << "角" << m.fen << "分\n"; + else + return os << m.yuan << ' ' << m.jiao << ' ' << m.fen << '\n'; + } + friend std::istream &operator>>(std::istream &is, Money &m) + { + if (&is == &std::cin) + std::cout << "请输入元角分的数值,以空格分开:"; + return is >> m.yuan >> m.jiao >> m.fen; + } +}; + +int main() +{ + std::ofstream ofile{"money.txt"}; + Money m{}, n{}; + std::cin >> m; // 从键盘输入m + ofile << m; // m写入文件 + ofile.close(); + std::ifstream ifile{"money.txt"}; + ifile >> n; // 从文件读入n + std::cout << n; // 输出n + return 0; +} \ No newline at end of file