增加日志

This commit is contained in:
Idiot-awa
2026-05-08 12:39:58 +08:00
parent 7d623c1993
commit 74e467e111
3 changed files with 61 additions and 1 deletions
+5
View File
@@ -0,0 +1,5 @@
*.o
*.exe
bank.dat
.vscode/launch.json
.vscode/tasks.json
+55
View File
@@ -0,0 +1,55 @@
#include <stdio.h>
#include <stdlib.h>
#include "bank.h"
#include <io.h>
#define FILE_NAME bank.bat
//要操作的全局变量,但不在本模块定义需要声明为外部引入
extern STACCOUNT g_astAccounts[];
extern int g_iAccCount;
/* 函数功能:数据持久化,将内存中的账户数据保存到文件中
保存方式为二进制
保存到文件bank.bat中,该文件名只在本模块用使用
* 参数:无
* 保存信息来自全局变量g_astAccounts
* 返回值:无
* 保存是失败怎么处理?
*/
void SaveData()
{
FILE *file = fopen("bank.dat", "wb");
fwrite(g_astAccounts, sizeof(STACCOUNT), 50, file);
fclose(file);
LoadData();
}
/* 函数功能:从文件bank.bat中把账户数据读取到内存
操作的文件名仅在本模块中使用
* 参数:无
* 信息读取后放入全局变量g_astAccounts
* 返回值:无
* 读取失败怎么处理?
*/
void LoadData()
{
int i;
int result=0;
FILE *file = fopen("bank.dat", "rb");
if (file == NULL) {
InitAdminAccount();
g_iAccCount= 1;
}
else {
fread(g_astAccounts, sizeof(STACCOUNT), 50, file);
}
fclose( file);
for (i = 0; i < 50; i++) {
if (g_astAccounts[i].id != 0) {
result++;
}
}
g_iAccCount= result;
}
+1 -1
View File
@@ -45,7 +45,7 @@ int EnqueueLog(int id, const char* type, double amt, double bal) {
g_logQueue.logs[pos].amount = amt; g_logQueue.logs[pos].amount = amt;
g_logQueue.logs[pos].balance = bal; g_logQueue.logs[pos].balance = bal;
GetCurrentTimeStr(g_logQueue.logs[pos].timestamp); GetCurrentTimeStr(g_logQueue.logs[pos].timestamp);
strcpy(g_logQueue.logs[pos].location, "四川省 德阳市"); // 根据你的需求固定地点 strcpy(g_logQueue.logs[pos].location, "宇宙总行"); // 根据你的需求固定地点
// 队尾指针后移 // 队尾指针后移
g_logQueue.rear = (g_logQueue.rear + 1) % MAX_LOGS; g_logQueue.rear = (g_logQueue.rear + 1) % MAX_LOGS;