
1. 使用C语言编写atm程序,实现密码修改的功能。
2. 需要设置一个全局变量来存储当前用户的密码信息。
3. 在主函数中枯仿,定义一个函数,用于输入原密码和修改后的新密码。
4. 在输入新密码之前,需要验证输入的原密码是否正确。
5. 如果原返败弯密码输入正确漏闷,则继续输入新密码,并将新密码记录到全局变量中。
6. 如果原密码输入错误,则提示用户重新输入。
7. 将修改后的新密码记录到文件中,以备下次使用。
#include<stdio.h>int chaxun(int a3)
{
int b
b=a3
printf("你的余额为:%d\n",b)
}
int qukuan(int a3)
{
int a,b
printf("请输入您要提取的现金:\n")
scanf("%d",&a)
b=a3-a
if(b<0)
printf("对不起 ,你的余额不足\n")
else
{
printf("请收好您的%d元现金\n",a)
a3=a3-a
}
return (a3)
}
int gaini(int a2)
{
int a,b,c=1,d,e=1
while(e)
{
printf("请输入你的旧密码:\n")
scanf("%d",&d)
if(d==a2)
e=0
else
{
e=1
printf("你输入的密码错误,请重新输入:\n")
}
}
while(c)
{
printf("请输入您的六位数新密码\n")
scanf("晌滑旦%d",&a2)
printf("请确认您的六位数新密码\n")
scanf("%d",&b)
if(a2==b)
{
if(b>100000&&b<999999&&b/(b/100000)!=111111)
{
c=0
printf("密码修改成功\n")
}
else
{
printf("您输入的密码不符合要求,请从新输入\n")
c=1
}
}
else
{
c=1
printf("您两次输入的密码不一致,请重新输入:\n")
}
}
return a2
}
int quka()
{
printf("\n 梦若保保提醒您\n")
printf("请收好您的卡片,谢谢,再见\n\n")
}
int cunkuan(int a3)
{
int i,j,k
printf("请输入你要存的金额\n")
scanf("%d",&k)
if(k<0)
{
printf("对不起,没有负存款\让轿n")
}
else
{
printf("\n您好,您已经存进去了%d元\n",k)
a3=a3+k
}
return a3
}
main()
{
int i,j,b=1,c,k,l,m,n
int a1=123456,a2=123456,a3=1000
printf("欢迎使用自动柜员机:\n\n")
while(b==1)
{
printf("请输入您的账号:\n")
scanf("%d",&k)
printf("请输入您的密码:\n")
scanf("%d",&l)
if(k==a1&&l==a2)
{
b=0
printf("您的账户余额为:%d\n",a3)
}
else
{
b=1
printf("对不起,您输入的账号或者密码有误,请重新输入:\n")
}
}
do
{
printf("\n请选择您要的服务项目:\n")
printf("1.查询余额\n")
printf("2.取款\n")
printf("宴扰3.修改密码\n")
printf("4.取卡\n")
printf("5.存款\n")
scanf("%d",&c)
switch(c)
{
case 1:
chaxun(a3)
break
case 2:
a3=qukuan(a3)
break
case 3:
a2=gaini(a2)
break
case 4:
quka()
break
case 5:
a3=cunkuan(a3)
break
}
}while(c!=4)
}
#include<stdio.h>#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<conio.h>
void
sys(const
char
*ex)
{
printf(ex)
fflush(stdin)
getch()
}
struct
atm
{
float
money
char
card[20]
char
pass[20]
}
struct
atm
*creat()
{
struct
atm
*p
p=(struct
atm
*)malloc(sizeof(struct
atm))
printf("请输入密码:")
gets(p->pass)getchar()
printf("皮世请输入卡号:")
gets(p->card)getchar()
printf("卡号为=%s,密码为=%s\n",p->card,p->pass)
printf("请输入预存款金额:")
scanf("%f",&p->money)
return
p
}
struct
atm
*qukuan(struct
atm
*p)
{
float
money
printf("请前握凳输入取款金额:")
scanf("%f",&money)
if(money>p->money){printf("余额不足!\n")return
p}
p->money-=money
return
p
}
void
print(struct
atm
*p)
{
printf("当前余额为%.2f,可取款金额为%d\n",p->money,floor(p->money)/100)
}
int
yanzheng(struct
atm
*p)
{
char
pass[20]
printf("你好,请输入密码:")
gets(pass)
if(strcmp(pass,p->pass)==0)
return
1
return
0
}
void
main()
{
struct
atm
*p
int
t=0
p=creat()
do
t++
while(!yanzheng(p)&&t<3)
if(t==3){printf("密码连续三次输入错误,退出程序!\n")return
1}
while(1)
{
system("cls")
printf("****欢迎您使用ATM取款机!****\n")
printf("1:\t取款\n")
printf("2:\t查看余慧旅额\n")
printf("0:\t退出\n")
printf("请选择:")
scanf("%d",&t)
fflush(stdin)
switch(t)
{
case
1:qukuan(p)break
case
2:print(p)break
}
if(!t)
{
sys("请按任意键退出...")
break
}
sys("请按任意键返回...")
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)