#include <stdio.h>#include <conio.h>#include <string.h>#include <windows.h>#include <process.h>struct mesinfo{ char id[20]; //帐号 char password[10];//密码 char name[10];//名字 int money;//余额 int tz;//可透支额};void yecx(); // 查询账户余额和透支额函数int zz(int *b); // 转账函数 int tqxj(int *a); // 提取现金函数 int crxj(int *c); // 存入现金函数 int dy();// 打印凭条函数void tc();// 退出函数
void main(){ mesinfo mes[4]; mesinfo tem; int times; int select;//---------------------------------------------------------------------------------------------------------打开文件读取数据 FILE *fp; if((fp=fopen("123.txt","r"))==NULL)/*打开文件读取数据*/ {printf("无法读取数据\n"); system("pause"); return; } else for(int i=0;i<4;i++) fscanf(fp,"%15s%10s%10s%10d%10d\n",mes[i].id,mes[i].password,mes[i].name,&mes[i].money,&mes[i].tz); fclose(fp);
yecx(); zz(); tqxj();
crxj();dy();tc(); }
void yecx() //定义余额查询函数未完成、、 { system("cls"); printf("\n\n\n"); printf("\t\t 欢 迎 使 用 中 国 银 行 ATM 取 款 机 管 理 系 统\n\n\n"); printf("\n\n"); printf("\t\t\t欢 迎 使 用 余 额 查 询 功能 \n\n"); printf("\t* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *\n\n"); printf("\t* ID 姓名 余额 可透支 *\n\n"); printf("\t* %15s%10s%10d\t%10d *\n\n",mes[k].id,mes[k].name,mes[k].money,mes[k].tz) printf("\t* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** *\n\n"); system("pause"); system("cls"); }
我写了个程序,你可以看一下,代码放附件里了,下面是运行的部分截图。基本你说的功能都有,如果有其他需要可以自行补充,方法都差不多。希望能帮到你。
int login(struct mesinfo *); //登入账户函数
void check(struct mesinfo *); // 查询账户余额和透支额函数
void transfer(struct mesinfo *); // 转账函数
void draw(struct mesinfo *); // 提取现金函数
void store(struct mesinfo *); // 存入现金函数
void printList(char *id,int type,int money,char *time);// 打印凭条函数
void quit(struct mesinfo *);// 退出函数
确实是不熟。你帮我写一下这个给我做参考吧?在主函数里我通过输入id和密码然后循环比较获得mes(k).name等等,k=3.现在要利用这个自定义函数void yecx();输出第三个账户的资料。
本回答被网友采纳这个我知道,printf列出给我们看,但是fscanf(fp,"%15s%10s%10s%10d%10d\n",mes[i].id,mes[i].password,mes[i].name,&mes[i].money,&mes[i].tz); 已经把123.txt的数据都赋给结构体mes了,但是就是要选择性的对存款之间相互算选呀。。。