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"); }
展开
 我来答
匿名用户
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 *);//    退出函数

2008_shenao
2013-06-19 · TA获得超过555个赞
知道小有建树答主
回答量:306
采纳率:90%
帮助的人:97.9万
展开全部
你的意思要单独操作某个数据吧,就是调用结构体中的数据,比如计算money;//余额什么的,这样,你可以使用结构体指针来实现,我看你程序中没有定义结构体类型的指针,在具体的函数中定义结构体指针,比如tqxj(int a)中,
void tqxj(int a )
{
struct mesinfo *p;
p->money=p->money-a;//提取之后的余额
再根据帐号保存到txt中,或者回显到屏幕;
其他数据调用类似!
}
如果对结构体指针不熟的话,找本C语言书看看,或者上网查一下!
追问
确实是不熟。你帮我写一下这个给我做参考吧?在主函数里我通过输入id和密码然后循环比较获得mes(k).name等等,k=3.现在要利用这个自定义函数void yecx();输出第三个账户的资料。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
633jx
2013-06-19 · 超过35用户采纳过TA的回答
知道答主
回答量:130
采纳率:0%
帮助的人:77.9万
展开全部
在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了,但是就是要选择性的对存款之间相互算选呀。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式