数据结构和c语言课程设计报告(2)
}
fclose(fp);
}
void display() //显示用户资料
{
printf("%30s\n","***用户资料显示***");
printf("%8s %15s %15s %10s\n","账号","用户姓名","身份证号码","存款余额"); printf("---------------------------------------------\n\n");
FILE * fp;
struct user temp;
if((fp=fopen(file,"rb"))==NULL)
{
printf("cannot open file!\n");
exit(1);
}
while(fread(&temp,sizeof(struct user),1,fp))
{
活期储蓄账目管理
printf("NO.%d %15s %15s %.2f\n",temp.id,,temp.person_num,temp.money);
}
fclose(fp);
}
void save_money() //函数功能:按账号存款
{
printf("%30s\n","***用户存款业务***");
printf("---------------------------------------------\n\n");
int count();
FILE *fp;
int i,num,mark;
struct user *temp;
num=count(); //根据记录数申请空间
temp=(struct user *)malloc(num*sizeof(struct user));
if((fp=fopen(file,"rb"))==NULL)
{
printf("cannot open file!\n");
exit(1);
}
for(i=0;i<num;i++) //将文件内容存入数组
fread(&temp[i],sizeof(struct user),1,fp);
fclose(fp);
printf("输入要存款账号:"); //读取存款账号
scanf("%d",&mark);
if(mark<1||mark>num)
{
printf("你要存款账号不存在!");
return;
}
if((fp=fopen(file,"wb"))==NULL) //写方式打开文件,覆盖原文件中的内容 {
printf("cannot open file!\n");
exit(1);
活期储蓄账目管理
}
for(i=0;i<num;i++)
{
if(temp[i].id==mark)
{
double money=0;
printf("输入要存入的金额:");
scanf("%lf",&money);
if(money<=0)
{
printf("只能为正数!\n");
money=0;
}
temp[i].money +=money; //修改该用户的信息
}
fwrite(&temp[i],sizeof(struct user),1,fp);
}
fclose(fp);
free(temp);
printf("你存款业务已办妥!\n");
}
void get_money() //函数功能:用户取款
{
printf("%30s\n","***用户取款业务***");
printf("---------------------------------------------\n\n");
int count();
FILE *fp;
int i,num,mark;
struct user *temp;
num=count(); //根据记录数申请空间
temp=(struct user *)malloc(num*sizeof(struct user));
if((fp=fopen(file,"rb"))==NULL)
{
printf("cannot open file!\n");
exit(1);
}
活期储蓄账目管理
fread(&temp[i],sizeof(struct user),1,fp); fclose(fp); printf("输入要取款账号:"); scanf("%d",&mark); if(mark<1||mark>num) { printf("你要取款账号不存在!"); return; } if((fp=fopen(file,"wb"))==NULL) { printf("cannot open file!\n"); exit(1); } for(i=0;i<num;i++) //写方式打开文件,覆盖原文件中的内容 { if(temp[i].id==mark) { double money=0; printf("输入要取出的金额:"); scanf("%lf",&money); if(money<=0) //判断用户余额是否足够 { printf("只能为正数!\n"); money=0; } else if(money>temp[i].money) { printf("你的余额不足!\n"); money=0; } temp[i].money -=money; } fwrite(&temp[i],sizeof(struct user),1,fp); } fclose(fp); free(temp);
活期储蓄账目管理
printf("你取款业务已办妥!\n");
}
void del() //销户
{
int count();
printf("%30s\n","***注销账户***");
printf("%8s %15s %15s %10s\n","账号","用户姓名","身份证号码","存款余额"); printf("---------------------------------------------\n\n");
FILE * fp;
struct user temp;
int i,maxnum;
if((fp=fopen(file,"rb"))==NULL)
{
printf("cannot open file!\n");
exit(1);
}
maxnum=count();
printf("输入要销户账号:"); //判断编号是否在记录中
scanf("%d",&i);
if(i<1||i>maxnum)
{
printf("你要查询的账号不存在!");
return;
}
while(fread(&temp,sizeof(struct user),1,fp))//循环读取每一条记录 判断是否为要查看的记录
if(temp.id==i&&temp.money==0.00)//余额为0
{temp.id=-1;//算无效帐户
printf("NO.%d %15s %15s %.2f\n",temp.id,,temp.person_num,temp.mone
…… 此处隐藏:881字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




