要编写一个 C 程序来存储华为云国际站代理商充值的记录,可以使用结构体来存储代理商的信息和充值金额,并将这些记录保存在文件中。以下是一个示例程序,展示了如何实现这一功能:
#include <stdio.h>
#include <stdlib.h>
#define MAX_NAME_LENGTH 50
// 定义代理商结构体
typedef struct {
char name[MAX_NAME_LENGTH];
double rechargeAmount;
} Agent;
// 函数声明
void addRechargeRecord(FILE *file);
void listRechargeRecords(FILE *file);
int main() {
FILE *file;
int choice;
// 打开文件,如果不存在则创建
file = fopen("recharge_records.dat", "a+b");
if (file == NULL) {
printf("无法打开文件。n");
return 1;
}
while (1) {
printf("n华为云国际站代理商充值系统n");
printf("1. 添加充值记录n");
printf("2. 查看所有充值记录n");
printf("3. 退出n");
printf("请输入你的选择: ");
scanf("%d", &choice);
switch (choice) {
case 1:
addRechargeRecord(file);
break;
case 2:
listRechargeRecords(file);
break;
case 3:
fclose(file);
return 0;
default:
printf("无效的选择,请重新输入。n");
}
}
fclose(file);
return 0;
}
// 添加充值记录
void addRechargeRecord(FILE *file) {
Agent agent;
printf("请输入代理商姓名: ");
scanf("%s", agent.name);
printf("请输入充值金额: ");
scanf("%lf", &agent.rechargeAmount);
// 将记录写入文件
fseek(file, 0, SEEK_END);
fwrite(&agent, sizeof(Agent), 1, file);
fflush(file); // 确保数据写入文件
printf("充值记录已保存。n");
}
// 查看所有充值记录
void listRechargeRecords(FILE *file) {
Agent agent;
rewind(file); // 将文件指针指向文件开头
printf("n代理商充值记录:n");
printf("----------------------------n");
// 读取文件中的记录并显示
while (fread(&agent, sizeof(Agent), 1, file)) {
printf("代理商姓名: %sn", agent.name);
printf("充值金额: %.2lfn", agent.rechargeAmount);
printf("----------------------------n");
}
}
这个程序提供了一个简单的用户界面,允许用户添加充值记录和查看所有记录。记录保存在二进制文件 recharge_records.dat
中。每条记录包含代理商的姓名和充值金额。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/191072.html