C语言ATM有文件输入输出Word文档下载推荐.docx
《C语言ATM有文件输入输出Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言ATM有文件输入输出Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
voidzhuxiao();
//注销函数
voidguanli();
//管理员函数
typedefstruct
{
longintzhanghao;
intmima;
doubleyu_e;
}atm;
atmk;
longintz;
FILE*fp;
////////////////////////////////////////////////////////////主函数
intmain()
welcome();
xuanze();
return0;
}
//欢迎界面
voidwelcome()
intt=0;
for(inti=0;
i<
=100;
i++)
{
printf("
\n\n\n\n\t\t************康师傅牌ATM机欢迎您的使用**********"
);
\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t加载中"
for(intj=0;
j<
=t;
j++)
{
printf("
."
}
t++;
if(t==7)t=0;
\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t%d%%\n"
i);
for(intm=0;
m<
=2000000;
m++);
system("
cls"
//清屏函数
////////////////////////////////////////////////////////////功能选择函数
voidxuanze()
\t*请选择功能*\n\n\n\n\n"
*1.管理员2.用户3.注册新用户*\n"
switch(getch())
case'
1'
:
guanli();
break;
2'
enter_ATM();
3'
jia();
default:
\a非法输入"
delay();
system("
xuanze();
};
voidenter_ATM()
delay();
//打开文件
fp=fopen("
银行后台.txt"
"
rb+"
if(fp==NULL)
打开失败\n"
return;
intnumber,f=0;
*欢迎使用ATM柜台机*\n\n\n\n\n"
*请输入卡号*\n"
scanf("
%d"
&
number);
//读到内存比较
while(fread(&
k,sizeof(k),1,fp))
if(k.zhanghao==number)
{
f=1;
break;
}
z=k.zhanghao;
if(f==1)
longintcode;
inttemp=3;
*请输入密码*\n"
code);
while(code!
=k.mima)
temp--;
*密码错误,请重新输入*\n"
*您还有"
temp);
次机会*\n"
scanf("
if(temp==1)
system("
printf("
*您已经3次输入密码*\n"
*系统将退出操作*\n"
delay();
fclose(fp);
xuanze();
caozuo();
else
账号错误\n"
fclose(fp);
//////////////////////////////////////////////////////////////////主操作界面函数
voidcaozuo()
system("
printf("
********************************\n"
*请选择以下业务*\n"
*1.存款*\n"
*2.取款*\n"
*3.查询*\n"
*4.转账*\n"
*5.修改密码*\n"
*6.注销*\n"
*7.退出*\n"
switch(getch())
cunkuan();
break;
qukuan();
chaxun();
4'
zhuanzhang();
5'
mima();
6'
zhuxiao();
7'
exit();
\a非法操作\n"
/////////////////////////////////////////////////////////////////存款函数
voidcunkuan()
doublecun;
fp=fopen("
if(fp==NULL)
return;
while(fread(&
if(k.zhanghao==z)
请输入您要存入的金额:
"
scanf("
%lf"
cun);
if(cun<
0)
非法存款\n"
请重新输入\n"
k.yu_e+=cun;
您当前的余额为:
%f\n"
k.yu_e);
请输入回车键继续!
!
getch();
fseek(fp,-sizeof(k),1);
fwrite(&
k,sizeof(k),1,fp);
fclose(fp);
success();
/////////////////////////////////////////////////////////////////////////取款函数
voidqukuan()
doubletemp;
请选择您要取款的金额\n"
1.1002.200\n"
3.5004.800\n"
5.10006.其它\n"
\n"
7.返回8.退出\n"
switch(getch())
panduan(100);
panduan(200);
panduan(500);
panduan(800);
panduan(1000);
请输入您要取款的金额:
temp);
panduan(temp);
caozuo();
8'
exit();
///////////////////////////////////////////////////////////////////判断取款是否合法函数
voidpanduan(doublei)
floatbeishu;
if(i>
k.yu_e)
余额不足!
请重新操作\n"
1.返回2.退出\n"
case'
beishu=(int)i%100;
if(beishu!
=0)
delay();
本ATM机只支持100的人民币\n"
\n"
if(i==5000.00||i>
5000.00)
每次取款不能超过5000元\n"
k.yu_e-=i;
////////////////////////////////////////////////////////////////////余额查询函数
voidchaxun()
{
intf=0;
if(k.zhanghao==z)
你的余额为:
%lf\n"
1.返回2.退出\n"
caozuo();
////////////////////////////////////////////////////////////////转账号函数
voidzhuanzhang()
inthao,f=0,sm;
doublemoney;
*请输入账号*\n"
hao);
if(k.zhanghao==hao)
fseek(fp,-sizeof(k),1);
sm=ftell(fp);
*请输入金额*\n"
money);
*账号错误,操作取消*\n"
fclose(fp);
rewind(fp);
if(money>
k.yu_e||money<
*金额错误,操作取消*\n"
else
{
k.yu_e-=money;
fseek(fp,-sizeof(k),1);
fwrite(&
您的账号为%d\n"
k.zhanghao);
您的余额为%f\n"
按回车键继续."
getch();
rewind(fp);
fseek(fp,sm,1);
fread(&
k.yu_e+=money;
fwrite(&
;
success();
//////////////////////////////////////////////////////////////////////密码修改函数
voidmima()
longintmm1,mm2,mm3;
inttemp;
旧密码:
mm1);
\n"
if(mm1!
旧密码错误,请重新输入\n"
新密码:
mm2);
if(mm2<
100000||mm2>
999999)
密码必须等于6位数\n"
请重新输入!
temp=mm2%111111;
if(temp==0)
密码过于简单\n"
//判断密码是否等于六位数和是否六个数字相同
确认新密码:
mm3);
if(mm2!
=mm3)
确认密码不一致,请重新输入\n"
}
if(mm3==mm2)
k.mima=mm3;
success();
//////////////////////////////////////////////注销函数
voidzhuxiao()
*欢迎您的再次使用*\n"
*系统正在注销...*\n"
enter_ATM();
//////////////////////////////////////////////系统退出函数
voidexit()
*系统正在退出...*\n"
///////////////////////////////////////////////////////延时函数
voiddelay()
longintbl1;
intbl2;
for(bl1=600000;
bl1>
0;
bl1--)
for(bl2=300;
bl2>
bl2--);
/////////////////////////////////////////////////操作成功函数
voidsuccess()
操作已成功\n"
//////////////////////////////////////////注册新用户函数
voidjia()
intmm1,mm2,f=0;
inttemp;
longn;
ab+"
请输入您要创建的账号:
n);
if(k.zhanghao==n)
该账户名已存在\n"
即将返回上一界面..."
请输入密码:
fflush(stdin);
if(mm1<
100000||mm1>
请重新输入:
temp=mm1%111111;
if(temp==0)
确认密码:
if(mm1==mm2)
k.zhanghao=n;
k.mima=mm1;
k.yu_e=0;
账号创建成功!
您的账号是%d,请妥善保管!
*按1退出*\n"
switch(getch())
}
else
确认密码不一致,操作取消\n"
///////////////////////////////////////