c语言。结构体已经获得了数据,怎么调用自定义函数来处理这个结构体的数据?就是自定义函数要怎么写
#include<stdio.h>#include<conio.h>#include<string.h>#include<windows.h>#include<proce...
#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"); } 展开
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"); } 展开
2013-06-19
展开全部
我写了个程序,你可以看一下,代码放附件里了,下面是运行的部分截图。基本你说的功能都有,如果有其他需要可以自行补充,方法都差不多。希望能帮到你。
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 *);// 退出函数
展开全部
你的意思要单独操作某个数据吧,就是调用结构体中的数据,比如计算money;//余额什么的,这样,你可以使用结构体指针来实现,我看你程序中没有定义结构体类型的指针,在具体的函数中定义结构体指针,比如tqxj(int a)中,
void tqxj(int a )
{
struct mesinfo *p;
p->money=p->money-a;//提取之后的余额
再根据帐号保存到txt中,或者回显到屏幕;
其他数据调用类似!
}
如果对结构体指针不熟的话,找本C语言书看看,或者上网查一下!
void tqxj(int a )
{
struct mesinfo *p;
p->money=p->money-a;//提取之后的余额
再根据帐号保存到txt中,或者回显到屏幕;
其他数据调用类似!
}
如果对结构体指针不熟的话,找本C语言书看看,或者上网查一下!
追问
确实是不熟。你帮我写一下这个给我做参考吧?在主函数里我通过输入id和密码然后循环比较获得mes(k).name等等,k=3.现在要利用这个自定义函数void yecx();输出第三个账户的资料。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在printf("\t* %15s%10s%10d\t%10d *\n\n",mes[k].id,mes[k].name,mes[k].money,mes[k].tz)之前加上循环,这样才能遍历mes数组,列出相关成员的值。
追问
这个我知道,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了,但是就是要选择性的对存款之间相互算选呀。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询