我正在编写一个虚拟 ATM 程序,它可以创建账户、更新余额、取款和检查余额等。到目前为止,我已经完成了检查余额和取款等所有功能。我似乎无法弄清楚fstream 文件处理部分。
如何实现代码,以便程序写入、读取名为“accounts.txt”的文件并显示名称:帐号:余额:联系信息:
并更新余额,因为提取和添加现金会更新余额
我是 C++ 新手,但仍在尝试掌握 C++ 概念。
如果您需要有关该计划的更多信息,请告诉我。
提前谢谢,先生/女士:)
首先,声明一个 fstream 对象并使用文件“account.txt”对其进行初始化,以及您要读取和写入文件的规范。这将要求您使用 ios 静态变量。你需要调查他们。这将打开您的文件进行读写,您可以读取信息并覆盖到同一文件或将新信息附加到文件中。几个月前我刚刚做了这一切,我使用了 Deitel 的书。这是很大的帮助。 http://www.cppforschool.com/tutorial/Files1.html
此链接还包含您可能想要查看的示例。
您可以使用包含所有详细信息的帐户结构。然后使用类似块的结构进行文件操作。
struct accounts
{
char name[20];
long accno;
int balance;
long contact;
};
调用函数
writeData(string fileName)
{
..get input
accounts acc;
int block_size=sizeof(acc);
fstream foo("accounts.txt", ios::out|ios::app);
foo.write(acc,block_size);
foo.close();
}
阅读将是相似的
对于提款和存款(更新余额):
使用两个成员,一个用于阅读,一个用于获取用户输入。然后使用帐号作为标识符,搜索并更新记录。用于tellp()
获取匹配记录的位置。然后你可以seekp()
用来移动文件。将文件指针保持在开头时写入相同的结构将覆盖文件中的记录。