c语言#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<string.h> typedef struct { char name[50]; // 用户名 char card_num[20]; // 银行卡号 char password[20]; // 密码 char idcard[7]; //身份证后六位 double balance; // 余额 int locked; // 是否锁卡 }User; typedef struct { User user[100]; // 所有用户信息 int count=0; // 用户数量 }Bank; void main() { Bank bank; FILE* fp = fopen("yhxx.txt", "w"); if (fp == NULL) { printf("打开文件失败\n"); exit(1); } bank.count++; printf("请输入银行卡号\n"); scanf("%s", &bank.user[bank.count].card_num); printf("请输入姓名\n"); scanf("%s", &bank.user[bank.count].name); printf("请输入身份证号后六位\n"); scanf("%s", &bank.user[bank.count].idcard); printf("请输入密码\n"); scanf("%s", &bank.user[bank.count].password); bank.user[bank.count].balance=0; bank.user[bank.count].locked=0; }给定以上代码,请续写代码使该程序可以实现往文件yhxx.txt中存入数据的功能
时间: 2024-01-15 10:04:52 浏览: 91
可以在程序结束前,使用fprintf函数将银行用户信息写入文件中。具体代码如下:
```
void main() {
Bank bank;
FILE* fp = fopen("yhxx.txt", "w");
if (fp == NULL) {
printf("打开文件失败\n");
exit(1);
}
bank.count++;
printf("请输入银行卡号\n");
scanf("%s", &bank.user[bank.count].card_num);
printf("请输入姓名\n");
scanf("%s", &bank.user[bank.count].name);
printf("请输入身份证号后六位\n");
scanf("%s", &bank.user[bank.count].idcard);
printf("请输入密码\n");
scanf("%s", &bank.user[bank.count].password);
bank.user[bank.count].balance=0;
bank.user[bank.count].locked=0;
// 将银行用户信息写入文件中
fprintf(fp, "银行卡号:%s,姓名:%s,身份证号后六位:%s,密码:%s,余额:%lf,是否锁卡:%d\n",
bank.user[bank.count].card_num, bank.user[bank.count].name, bank.user[bank.count].idcard,
bank.user[bank.count].password, bank.user[bank.count].balance, bank.user[bank.count].locked);
fclose(fp); // 关闭文件
}
```
需要注意的是,该程序只能存储一个用户的信息,如果需要存储多个用户信息,需要进行相应的修改。另外,该程序中的写入文件操作是每次执行程序时都会覆盖之前的内容,如果需要追加写入,需要将"w"改为"a"。
阅读全文