当前位置:首页 » 编程语言 » atm机c语言

atm机c语言

发布时间: 2022-08-19 17:04:11

‘壹’ 用c语言,结构体设计atm

密码 余额
存款:
1 存款数额为正数,不符合报错
2 余额 = 初始余额 + 存款金额
取款:
1 取款数额为100的倍数,不符合报错
2 余额 = 初始余额–取款金额
取款总额不大于余额
仅需要做两个函数,我曾经做过一个ATM机的模拟系统

‘贰’ 用C语言写ATM的程序代码要求用循环语句

#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);

}

‘叁’ 用C语言怎么编写ATM机的程序

把“clrscr();”改为 system("cls");

‘肆’ 用C语言模拟ATM机工作流程编程

#include
"stdio.h"对ATM机器的模拟就是一个对队列的模拟下面代码在VC6环境下调试已经通过了其中有个缺陷就是因为代码执行速度过快导致二次执行根据时间随机出来的数字都是一样的因此你可以自己加上一个延迟子程序部分功能已经注释了#include
"stdlib.h"#include
"time.h"#define
OK
1#define
ERROR
0
typedef
struct
node{
int
number;
struct
node*
next;}*Lnode;
typedef
struct
list{
node
*head,*rear;}*Plist;
//模拟
ATM开业bool
ListInit(Plist
list){
Lnode
p;
p
=
(Lnode)malloc(sizeof(Lnode));
list->head
=
p;
list->rear
=
list->head;
list->head->next
=
NULL;
if(list->head!=NULL)
return
ERROR;
else
return
OK;}
//模拟
有客户排队bool
ListInsert(Plist
list,int
number){
Lnode
p;
p
=
(Lnode)malloc(sizeof(Lnode));
if(p==NULL)
return
ERROR;
else
{
p->number
=
number;
p->next
=
NULL;
list->rear->next
=
p;
list->rear
=
p;
return
OK;
}}
//模拟
客户办完事离开bool
ListDelete(Plist
list){
Lnode
p;
if(list->head
==list->rear)
return
ERROR;
else
{
p
=
list->head->next;
list->head->next
=
p->next;
list->rear
=
list->head;
//
free(p);
return
OK;
}}
void
sand(int*
gettime,int*
needtime){
srand(time(NULL))
;
*gettime
=
rand()%100;
srand(time(NULL))
;
*needtime
=rand()%100;}
//模拟客户到达事件void
CustomerArrived(Plist
list,int
gettime,int
needtime,int
kehu,int
time){
int
nextgettime,nextneedtime;
sand(&nextgettime,&nextneedtime);
while(needtime>0
&&
nextgettime>0
&&
time>0)
{
needtime
--;
nextgettime
--;
time
--;
}
if(nextgettime
==
0
&&
needtime>0
&&time>0)
{
kehu++;
ListInsert(list,kehu);
while(needtime>0
&&
time>0)
{
needtime--;
time
--;
}
ListDelete(list);
CustomerArrived(list,nextgettime,nextneedtime,kehu,time);
}
if(needtime
==0
&&
nextgettime>0
&&
time>0)
{
ListDelete(list);
while(nextgettime>0
&&
time>0)
{
nextgettime--;
time
--;
}
kehu++;
ListInsert(list,kehu);
//未删除
,list未传递进去
CustomerArrived(list,nextgettime,nextneedtime,kehu,time);
}
if(time
==0)
{
printf("ATM关门,请明天在来!\n");
return;
}}
main(){
list
list;
int
i
=
10000;
//ATM机器每天工作时间
int
kehu
=
0;
//客户标号
int
gettime,needtime;
ListInit(&list);
//ATM开业
sand(&gettime,&needtime);
ListInsert(&list,kehu);
CustomerArrived(&list,gettime,needtime,kehu,i);
getchar();
}

‘伍’ 在C语言中ATM自动取款机的功能程序怎么写啊

这么难的一个程序才十分?

这是一个很系统的东西,机器那里只是读取相关信息,然后将交易信息发到联网系统里,按照返回的信息,显示相关内容。

‘陆’ 【C语言】编写ATM机程序

帮我用C语言编写一个ATM取款程序要求代码在300行以上
作为一个二十一世纪的大学生,要养成自己动手的习惯!不懂就去图书馆翻阅资料!虽然网上现在很

‘柒’ 怎样用c语言编写ATM系统

#include<stdio.h>
#include<string.h>
void print_welcome();
int main()
{
print_welcome();
char c[11]="1234567890",d[7]="123456";
char a[20],b[20];
char p,q;
int h=0,i=0,j=0,k,l=0;
do
{
printf("请输入账号:\n");
gets(a);
printf("请输入密码:\n");
gets(b);
if(strcmp(c,a)==0&&strcmp(d,b)==0)
{
printf("账号正确 欢迎使用\n");
h++;
}
else
printf("账号或密码错误请重新输入\n");
}while(h!=1);
do
{
print_welcome();
retrn:
printf("请选择对应的字母\n");
printf(" a存款业务 \n");
printf(" b余额查询\n");
printf(" c资金转账\n");
printf(" d取款业务\n");
printf(" e退卡\n");
printf("请选择您要办理的业务\n");
scanf("%c",&p);
getchar();
switch(p)
{
case'a':printf(" 存款业务\n");
printf("**本服务暂停 请重新选择**\n");
break;
case'b':
printf(" 余额查询\n");
printf("**您的余额为 ¥9999999\n请重新选择**\n");
break;
case'c':
printf(" 资金转账\n");
printf("**您的银行卡不支持该业务 请重新选择**\n");
break;
case'd':
printf(" 取款业务\n");
do
{
printf("请选择您要取款的金额\n**请输入序号\n**请您注意每位用户每天只能去20000 每次最多取2500\n");
printf(" r 100\n");
printf(" s 200\n");
printf(" t 500\n");
printf(" u 1000\n");
printf(" v 2000\n");
printf(" w 其他\n");
printf(" x 返回\n");
printf("请选择要取的金额\n");
scanf("%c",&q);
getchar();
switch(q)
{
case'r':printf("**取款成功 金额为100元**");goto retrn;break;
case's':printf("**取款成功 金额为200元**");goto retrn;break;
case't':printf("**取款成功 金额为500元**");goto retrn;break;
case'u':printf("**取款成功 金额为1000元**");goto retrn;break;
case'v':printf("**取款成功 金额为2000元**");goto retrn;break;
case'w':printf("**请输入你想取出的金额**\n**并保证是100的倍数\n");
while(l!=1)
{
scanf("%d",&k);
getchar();
if(k%100==0&&k>=0&&k<=2500)
{
printf("您取出的金额%d元\n",k);
l++;
goto retrn;
}
else
{
printf("您输入的面额有误请重新输入\n");
printf("请您保证为100的倍数\n");
}
}
break;
case'x':goto retrn;break;
default:printf("**操作有误请从新输入**");
j++;
}
}while(j!=1);
break;
case'e':
printf("**欢迎您的使用 请勿忘取卡**\n");
i++;
break;
default:printf("**操作有误请从新输入**\n");
}
}while(i!=1);
print_welcome();
return 0;
}
void print_welcome()
{
printf(" **欢迎使用**\n");
}

‘捌’ c语言程序设计ATM机

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#include<windows.h>
char ch[7]={"123456"};
void menu();
//int login();
int deposit();
int GetCash();
int Transf();
void Checkmoney();
int checkPass();
void modiPass();
void Exit();
int i,n;
//金额
int main()
{
int x;
//modiPass();
while(1)
{
checkPass();
menu();
while(1)
{
printf("\n请选择业务:");
while(1)
{
scanf("%d",&x);
if(x>6||x<0)
{
printf("\n输入有误,请重新输入:");
}
else break;
}
switch(x)
{
case 1:deposit();
break;
case 2:GetCash();
break;
case 3:Transf();
break;
case 4:Checkmoney();
break;
case 5:modiPass();
break;
case 6:Exit();
x = 6;
break;
default:break;
}
if(x == 6)break;
}
}
return 0;
}
/////菜单
void menu()
{
system("cls");
printf("\t\t\tPlease Select Service\n\n");
printf("\n\n\t\t\t**电子现金**\n\n");
printf("\t\t1.存款业务 2.取款业务\n\n");
printf("\t\t3.转账业务 4.查询业务\n\n");
printf("\t\t5.修改密码 6.退卡\n\n");
}
////存款业务
int deposit()
{
int m;
printf("请输入您的存入金额\n");
scanf("%d",&m);
printf("成功存入 %d 元\n",m);
i+=m;
return i;
}
////取款业务
int GetCash()
{
int n;
if(i<=0)
{
printf("余额不足\n");
return i;
}
printf("请输入您的取出金额\n");
while(1)
{
scanf("%d",&n);
if(n>i)
{
printf("请输入少于%d 元\n",i);
}else
break;
}
printf("成功取出 %d 元\n",n);
i-=n;
return i;
}
int Transf()
{
int n;
long int number;
if(i<=0)
{
printf("余额不足\n");
return i;
}
printf("请输入您要转帐的银行卡号\n");
scanf("%ld",&number);
printf("请输入您的转出金额\n");
while(1)
{
scanf("%d",&n);
if(n>i)
{
printf("请输入少于%d 元\n",i);
}
else
break;
}
printf("成功向%ld 账号转账 %d 元\n",number,n);
i-=n;
return i;
}
void Checkmoney()
{
if(i<=0)
printf("您的账户余额: 0 元\n");
else
printf("您的账户余额: %d 元\n",i);
}
int checkPass()
{
system("cls");
char m[7];
printf("\n@@@@@@@@中国建设银行@@@@@@@@\n");
printf("\n**China Construction Bank**\n\n");
printf("\n正在进行IC卡认证,请稍吿...\n\n");
printf("请输入密码(系统默认初始密码:123456):\n");
printf("Please input your Press Enter\n\n");
while(1)
{
for(n=0;n<6;n++)
{
m[n]=getch();
printf("*");
}
if(strcmp(ch,m)==0)
{
printf("\n\n\t\t 正在进行ID认证,请稍等");
//Sleep(400);
printf(".");
Sleep(400);
printf(".");
Sleep(400);
printf(".");
Sleep(400);
printf(".");
//Sleep(2000);
printf("\n\n\t\t 登录成功.....\n");
break;
}
puts("\n密码错误,请重新输入密码:\n");
}
return 0;
}
void modiPass()
{
char mi[7];
printf("请输入原来的密码:\n");
while(1)
{
for(n=0;n<6;n++)
{
mi[n]=getch();
printf("*");
}
printf("\n");
if(strcmp(mi,ch)==0)
{
puts("请输入新的密码:\n");
for(n=0;n<6;n++)
{
ch[n]=getch();
printf("*");
}
printf("\n");
if(strcmp(mi,ch)!=0)
{
printf("密码修改成功!\n");
break;
}else
printf("密码修改失败(新密码与旧密码相同),请重新修改.\n请输入原来的密码:\n");
}else
printf("密码错误,请重新输入:\n");
}
}
void Exit()
{
printf("交易结束,请取回您的卡\n");
Sleep(1000);
}

热点内容
电脑服务器名称怎么查找 发布:2024-05-05 10:49:37 浏览:469
电脑连到代理服务器 发布:2024-05-05 10:40:02 浏览:249
华为安卓手机如何投屏到雷克萨斯 发布:2024-05-05 10:37:50 浏览:210
微博上传原图 发布:2024-05-05 10:20:05 浏览:749
服务器换电脑需要什么东西 发布:2024-05-05 09:52:28 浏览:754
老算盘算法 发布:2024-05-05 09:43:10 浏览:841
ps存储显示不含通道 发布:2024-05-05 09:32:35 浏览:103
如何用安卓做一个识物界面表 发布:2024-05-05 09:29:28 浏览:99
如何编译linux内核模块 发布:2024-05-05 09:27:25 浏览:169
为什么apple验证无法连接服务器 发布:2024-05-05 09:20:35 浏览:661