64,639
社区成员
发帖
与我相关
我的任务
分享
没分发贴了,只能接着这贴
代码写好了,会存储不会读取显示来出了,谁帮忙修改下c3函数的代码,谢谢了#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
#include "windows.h"
double Rin ();//读入余额,并返回
double Inmoney ();//读取输入的金钱数目,并返回
void menu ();
void c1 ();//支出
void c2 ();//存入
void c3 ();//查询
void c4 ();//退出
using namespace std;
char re;
int main()
{
menu();
return 0;
}
double Rin ()//读取余额并返回
{
ifstream fin;
fin.open ("balance.txt");//打开文件
double balance;
fin >> balance;
return balance;
}
void menu ()
{
system ("cls");
cout <<"XXXX银行\n";
cout << "1)取款 2)存款\n"
<< "3)查看记录 4)退出\n";
int i;
cin >> i;
switch(i)
{
case 1:
c1 ();
break;
case 2:
c2 ();
break;
case 3:
c3 ();
break;
case 4:
exit (EXIT_FAILURE);
}
}
void c1()
{
system ("cls");
//获取当前时间
int year,month,day;
SYSTEMTIME ct;
GetLocalTime(&ct);//如果用GetSystemTime(&ct);那么获取的是格林尼治标准时间
year=ct.wYear;
month=ct.wMonth;
day=ct.wDay;
ofstream fout;
fout.open ("save.txt",ios_base::out|ios_base::app);
double money;
double balance = Rin ();//读取余额并返回
cout << "当前余额: " << balance << endl;
cout << "请输入取款数目: ";
cin >> money;
if (money <= 0 ||money > balance)//当money小于或等于0或大余余额
{
cout << "\a输入的数目无效!\n";
menu();
}
balance = balance - money;//取款后余额
ofstream fount;
fout.open ("balance.txt");
fout << balance;
fout.close();
if (!fout.is_open())//如果无法打开文件
{
cout << "系统出现故障,无法完成操作.";
menu();
}
else //'@'是用来分隔,'^'代码省略不输出的代码
{
fout << year << month << day << '@'//保存当前日期
<< money << '@' //支出
<< "^@"//收入
<< balance//余额
<< endl;//换行
cout << "操作已完成.\n";
cout << "请按任意键返回";
re = getch();
fout.close();
menu();
}
}
void c2 ()
{
system ("cls");
ofstream fout;
//获取当前时间
int year,month,day;
SYSTEMTIME ct;
GetLocalTime(&ct);//如果用GetSystemTime(&ct);那么获取的是格林尼治标准时间
year=ct.wYear;
month=ct.wMonth;
day=ct.wDay;
double money;
double balance;
cout << "请输入存款数目: ";
cin >> money;
while (money <= 0)
{
cout << "\a输入的数目无效!\n请重新输入: ";
cin >> money;
}
balance = Rin();//函数返回读取的余额
balance += money ;
fout.open ("balance.txt");
fout << balance;
fout.close();
//保存数据
fout.open ("save.txt",ios_base::out|ios_base::app);
if (!fout.is_open())
{
cout << "系统出现故障,无法完成操作.";
menu();
}
else
{ //'@'是用来分隔,'^'代码省略不输出的代码
fout << year << month << day << '@'
<< "^@"//省略支出
<< money << '@'//存入
<< balance << endl;//换行
cout << "操作已完成.\n";
cout << "请按任意键返回";
re = getch();
fout.close();
menu();
}
}
void c3 ()
{
system ("cls");
ifstream fin;
fin.open ("save.txt");
if (!fin.is_open())
{
cout << "系统出现故障,无法操作.\n";
menu();
}
//声明
cout << "日期 支出 存入 余额 "<< endl;
while (!fin.eof())
{
//输出全部内容
}
cout << "请按任意键返回";
re = getch();
menu();
}